openapi: 3.1.0 info: title: Konnect API (BETA) version: 2.0.0 description: | This is a BETA specification. Endpoints in this specification may change with zero notice contact: name: Kong url: 'https://cloud.konghq.com' x-ref-schema-name: DataplaneOverview x-latest-public-runtime-version: '1.2' x-extensions-note: | This API uses the `x-expression` vendor extension to indicate that a string property is a DSL expression. Supported types: - `boolean`: An expression evaluates to boolean. For example, `context.topic.name == 'my-topic'` - `string`: A template string expression that evaluates to a string or a literal string value. For example, `${context.topic.name.substring(0, context.topic.name.length-4)}` or `my-literal-value` Additionally, `x-sensitive` flag indicates that a field contains sensitive information. When the value of the field is provided in plain text, it's encrypted at rest and it's never returned in API responses. When the value is an expression, the expression itself is stored and returned in API responses. `x-min-runtime-version` indicates the minimum Event Gateway runtime version required to use a certain policy or policy feature. The runtime version can be configured at the Event Gateway entity level. It must be a string containing a semantic version in the `MAJOR.MINOR` format, e.g., `"1.1"`. info.[x-latest-public-runtime-version] indicates the latest public runtime version of Event Gateway. When `x-min-runtime-version > x-latest-public-runtime-version`, the property or schema will only appear in dev schemas. 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' - url: 'https://me.api.konghq.com' - url: 'https://in.api.konghq.com' paths: /v3/portals: get: x-speakeasy-entity-operation: terraform-resource: null terraform-datasource: - Portal#read operationId: list-portals 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.' parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/SortPortals' - name: filter in: query description: Filter portals returned in the response. required: false schema: $ref: '#/components/schemas/PortalFilterParameters' style: deepObject responses: '200': $ref: '#/components/responses/ListPortalsResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Portals post: x-speakeasy-entity-operation: terraform-resource: Portal#create terraform-datasource: null operationId: create-portal summary: Create Portal description: Creates a new developer portal scoped in this region for this organization. requestBody: $ref: '#/components/requestBodies/CreatePortal' responses: '201': $ref: '#/components/responses/PortalResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Portals '/v3/portals/{portalId}': parameters: - name: portalId in: path description: ID of the portal. required: true schema: type: string format: uuid x-speakeasy-match: id get: x-speakeasy-entity-operation: terraform-resource: Portal#read terraform-datasource: null operationId: get-portal summary: Get a Portal description: 'Returns the configuration for a single developer portal, including the current visibility, access, and domain settings.' responses: '200': $ref: '#/components/responses/PortalResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portals patch: x-speakeasy-entity-operation: terraform-resource: Portal#update terraform-datasource: null operationId: update-portal summary: Update Portal description: 'Updates the configuration for a single portal including the visibility, access, and custom domain settings.' requestBody: $ref: '#/components/requestBodies/UpdatePortal' responses: '200': $ref: '#/components/responses/PortalResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - Portals delete: x-speakeasy-entity-operation: terraform-resource: Portal#delete terraform-datasource: null operationId: delete-portal summary: Delete Portal description: 'Deletes a single portal, along with all related entities.' parameters: - name: force in: query description: | If set to "true", the portal and all child entities will be deleted when running `terraform destroy`. If set to "false", the portal will not be deleted until all child entities are manually removed. This will IRREVERSIBLY DELETE ALL REGISTERED DEVELOPERS AND THEIR CREDENTIALS. Only set to "true" if you want this behavior. schema: type: string default: 'false' enum: - 'true' - 'false' x-speakeasy-name-override: force_destroy responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portals '/v3/portals/{portalId}/custom-domain': parameters: - $ref: '#/components/parameters/PortalId' get: x-speakeasy-entity-operation: terraform-resource: PortalCustomDomain#read terraform-datasource: null operationId: get-portal-custom-domain summary: Get Custom Domain description: Get the custom domain associated to the portal. responses: '200': $ref: '#/components/responses/PortalCustomDomain' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Custom Domains post: x-speakeasy-entity-operation: terraform-resource: PortalCustomDomain#create terraform-datasource: null operationId: create-portal-custom-domain 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. requestBody: $ref: '#/components/requestBodies/CreatePortalCustomDomain' 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' tags: - Portal Custom Domains patch: x-speakeasy-entity-operation: terraform-resource: PortalCustomDomain#update terraform-datasource: null operationId: update-portal-custom-domain summary: Enable or Disable Domain description: Updates the portal domain associated with the portal. requestBody: $ref: '#/components/requestBodies/UpdatePortalCustomDomain' 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' tags: - Portal Custom Domains 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. responses: '204': description: No Content '404': $ref: '#/components/responses/NotFound' tags: - Portal Custom Domains '/v3/portals/{portalId}/assets/logo': parameters: - $ref: '#/components/parameters/PortalId' get: x-speakeasy-entity-operation: terraform-resource: PortalLogo#read terraform-datasource: null operationId: get-portal-asset-logo summary: Get Logo description: Returns the logo of the portal. responses: '200': $ref: '#/components/responses/PortalAssetResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Assets put: x-speakeasy-entity-operation: terraform-resource: 'PortalLogo#create,update' terraform-datasource: null operationId: replace-portal-asset-logo summary: Replace Logo description: Replaces the logo of the portal. requestBody: $ref: '#/components/requestBodies/ReplacePortalImageAsset' responses: '200': $ref: '#/components/responses/PortalAssetResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Assets '/v3/portals/{portalId}/assets/favicon': parameters: - $ref: '#/components/parameters/PortalId' get: x-speakeasy-entity-operation: terraform-resource: PortalFavicon#read terraform-datasource: null operationId: get-portal-asset-favicon summary: Get Favicon description: Returns the favicon of the portal. responses: '200': $ref: '#/components/responses/PortalAssetResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Assets put: x-speakeasy-entity-operation: terraform-resource: 'PortalFavicon#create,update' terraform-datasource: null operationId: replace-portal-asset-favicon summary: Replace Favicon description: Replaces the favicon of the portal. The favicon is used in the browser tab of the portal. requestBody: $ref: '#/components/requestBodies/ReplacePortalImageAsset' responses: '200': $ref: '#/components/responses/PortalAssetResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Assets '/v3/portals/{portalId}/customization': get: x-speakeasy-entity-operation: terraform-resource: PortalCustomization#read terraform-datasource: null operationId: get-portal-customization summary: Get Customization description: Returns the portal customization options. parameters: - $ref: '#/components/parameters/PortalId' responses: '200': $ref: '#/components/responses/PortalCustomizationResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Customization put: x-speakeasy-entity-operation: terraform-resource: 'PortalCustomization#create,update' terraform-datasource: null operationId: replace-portal-customization summary: Replace Customization description: Replace the portal customization options. parameters: - $ref: '#/components/parameters/PortalId' requestBody: $ref: '#/components/requestBodies/ReplacePortalCustomization' responses: '200': $ref: '#/components/responses/PortalCustomizationResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Customization '/v3/portals/{portalId}/pages': post: x-speakeasy-entity-operation: terraform-resource: PortalPage#create terraform-datasource: null operationId: create-portal-page 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.' parameters: - $ref: '#/components/parameters/PortalId' requestBody: $ref: '#/components/requestBodies/CreatePortalPage' responses: '201': $ref: '#/components/responses/PortalPage' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Pages x-speakeasy-group: Portal Pages '/v3/portals/{portalId}/pages/{pageId}': get: x-speakeasy-entity-operation: terraform-resource: PortalPage#read terraform-datasource: null operationId: get-portal-page summary: Get a 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.' parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/PageId' responses: '200': $ref: '#/components/responses/PortalPage' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' tags: - Pages x-speakeasy-group: Portal Pages patch: x-speakeasy-entity-operation: terraform-resource: PortalPage#update terraform-datasource: null operationId: update-portal-page summary: Update Page description: Updates the configuration of a single custom page for this portal. parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/PageId' requestBody: $ref: '#/components/requestBodies/UpdatePortalPage' responses: '200': $ref: '#/components/responses/PortalPage' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Pages x-speakeasy-group: Portal Pages delete: x-speakeasy-entity-operation: terraform-resource: PortalPage#delete terraform-datasource: null operationId: delete-portal-page summary: Delete Page description: Deletes a single custom page for this portal. parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/PageId' responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Pages x-speakeasy-group: Portal Pages '/v3/portals/{portalId}/snippets': post: x-speakeasy-entity-operation: terraform-resource: PortalSnippet#create terraform-datasource: null operationId: create-portal-snippet 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.' parameters: - $ref: '#/components/parameters/PortalId' requestBody: $ref: '#/components/requestBodies/CreatePortalSnippet' responses: '201': $ref: '#/components/responses/PortalSnippet' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Snippets '/v3/portals/{portalId}/snippets/{snippetId}': get: x-speakeasy-entity-operation: terraform-resource: PortalSnippet#read terraform-datasource: null operationId: get-portal-snippet summary: Get a 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.' parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/SnippetId' responses: '200': $ref: '#/components/responses/PortalSnippet' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Snippets patch: x-speakeasy-entity-operation: terraform-resource: PortalSnippet#update terraform-datasource: null operationId: update-portal-snippet summary: Update Snippet description: Updates the configuration of a single custom snippet for this portal. parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/SnippetId' requestBody: $ref: '#/components/requestBodies/UpdatePortalSnippet' responses: '200': $ref: '#/components/responses/PortalSnippet' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Snippets delete: x-speakeasy-entity-operation: terraform-resource: PortalSnippet#delete terraform-datasource: null operationId: delete-portal-snippet summary: Delete Snippet description: Deletes a single custom snippet for this portal. parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/SnippetId' responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Snippets '/v3/portals/{portalId}/applications': post: x-speakeasy-entity-operation: PortalApplication#create operationId: create-application summary: Create Application description: 'Creates a new application for this portal. The application must be assigned to a developer or a team. An 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`.' parameters: - $ref: '#/components/parameters/PortalId' requestBody: $ref: '#/components/requestBodies/CreateApplication' responses: '201': $ref: '#/components/responses/GetApplication' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Applications x-terraform-id-to-object: auth_strategy_id: auth_strategy.id '/v3/portals/{portalId}/applications/{applicationId}': parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/ApplicationIdToMatchResourceID' get: x-speakeasy-entity-operation: terraform-resource: PortalApplication#read terraform-datasource: null operationId: get-application summary: Get an 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.' responses: '200': $ref: '#/components/responses/GetApplication' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Applications patch: x-speakeasy-entity-operation: PortalApplication#update operationId: update-application summary: Update Application description: Updates an application. requestBody: $ref: '#/components/requestBodies/UpdateApplication' responses: '200': $ref: '#/components/responses/GetApplication' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Applications delete: x-speakeasy-entity-operation: PortalApplication#delete operationId: delete-application summary: Delete Application by Portal description: 'Delete a single application in this portal, along with its registrations and credentials.' responses: '204': description: The application has been deleted. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Applications '/v3/portals/{portalId}/applications/{applicationId}/registrations': parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/ApplicationId' post: x-speakeasy-entity-operation: PortalApplicationRegistration#create operationId: create-application-registration summary: Create Registration description: Creates a new registration for this application to access a specific API. Registrations created through the portal management API will respect the auto-approve settings of the portal and/or API publication. API publications that do not use auto-approve must be manually approved by an administrator after creation. requestBody: $ref: '#/components/requestBodies/CreateApplicationRegistration' responses: '201': $ref: '#/components/responses/GetApplicationRegistration' '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' tags: - Application Registrations x-terraform-id-to-object: api_id: api.id '/v3/portals/{portalId}/applications/{applicationId}/registrations/{registrationId}': parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/ApplicationId' - $ref: '#/components/parameters/RegistrationIdToMatchResourceID' get: x-speakeasy-entity-operation: terraform-resource: PortalApplicationRegistration#read terraform-datasource: null operationId: get-application-registration summary: Get a Registration description: Returns information about an application's registration status for a particular API. responses: '200': $ref: '#/components/responses/GetApplicationRegistration' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Application Registrations patch: x-speakeasy-entity-operation: PortalApplicationRegistration#update operationId: update-application-registration 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.' requestBody: $ref: '#/components/requestBodies/UpdateApplicationRegistration' responses: '200': $ref: '#/components/responses/UpdateApplicationRegistration' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Application Registrations delete: x-speakeasy-entity-operation: PortalApplicationRegistration#delete operationId: delete-application-registration 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. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Application Registrations '/v3/portals/{portalId}/authentication-settings': parameters: - $ref: '#/components/parameters/PortalId' get: x-speakeasy-entity-operation: terraform-resource: PortalAuth#read terraform-datasource: null operationId: get-portal-authentication-settings summary: Get Auth Settings description: 'Returns the developer authentication configuration for a portal, which determines how developers can log in and how they are assigned to teams.' responses: '200': $ref: '#/components/responses/PortalAuthenticationSettings' '401': $ref: '#/components/responses/Unauthorized' tags: - Portal Auth Settings patch: x-speakeasy-entity-operation: terraform-resource: 'PortalAuth#create,update' terraform-datasource: null operationId: update-portal-authentication-settings summary: Update Auth Settings description: Updates the developer authentication configuration for a portal. Developers can be allowed to login using basic auth (email & password) or use Single-Sign-On through an Identity Provider. Developers can be automatically assigned to teams by mapping claims from their IdP account. requestBody: $ref: '#/components/requestBodies/UpdatePortalAuthenticationSettings' responses: '200': $ref: '#/components/responses/PortalAuthenticationSettings' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Portal Auth Settings '/v3/portals/{portalId}/teams': parameters: - $ref: '#/components/parameters/PortalId' post: x-speakeasy-entity-operation: terraform-resource: PortalTeam#create terraform-datasource: null operationId: create-portal-team summary: Create Team 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. requestBody: $ref: '#/components/requestBodies/PortalCreateTeam' responses: '201': $ref: '#/components/responses/PortalTeam' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Teams '/v3/portals/{portalId}/teams/{teamId}': parameters: - name: teamId in: path description: ID of the team. required: true schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a x-speakeasy-match: id - $ref: '#/components/parameters/PortalId' get: x-speakeasy-entity-operation: terraform-resource: PortalTeam#read terraform-datasource: null operationId: get-portal-team summary: Get Team description: Get an individual team. responses: '200': $ref: '#/components/responses/PortalTeam' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Teams patch: x-speakeasy-entity-operation: terraform-resource: PortalTeam#update terraform-datasource: null operationId: update-portal-team summary: Update Team description: Updates an individual developer team for a portal. requestBody: $ref: '#/components/requestBodies/PortalUpdateTeam' responses: '200': $ref: '#/components/responses/PortalTeam' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Teams delete: x-speakeasy-entity-operation: terraform-resource: PortalTeam#delete terraform-datasource: null operationId: delete-portal-team summary: Delete 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' post: x-speakeasy-entity-operation: terraform-resource: PortalTeamRole#create terraform-datasource: null operationId: assign-role-to-portal-teams summary: Assign Role 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.' requestBody: $ref: '#/components/requestBodies/PortalAssignRole' responses: '201': $ref: '#/components/responses/PortalAssignedRole' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - Portal Team Roles '/v3/portals/{portalId}/teams/{teamId}/assigned-roles/{roleId}': parameters: - name: roleId in: path description: ID of the assigned role. required: true schema: type: string format: uuid example: 8350205f-a305-4e39-abe9-bc082a80091a x-speakeasy-match: id - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/TeamId' delete: x-speakeasy-entity-operation: terraform-resource: PortalTeamRole#delete terraform-datasource: null operationId: remove-role-from-portal-team summary: Remove Role 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}/developers': parameters: - $ref: '#/components/parameters/PortalId' post: x-speakeasy-entity-operation: PortalDeveloper#create operationId: create-developer summary: Create Developer Account description: Creates a new developer account in the specified portal. SAML login is currently not supported. requestBody: $ref: '#/components/requestBodies/CreateDeveloper' responses: '201': $ref: '#/components/responses/CreateDeveloperResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': description: Conflict content: application/problem+json: schema: $ref: '#/components/schemas/ConflictError' tags: - Portal Developers '/v3/portals/{portalId}/developers/{developerId}': parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/DeveloperIdToMatchResourceID' get: x-speakeasy-entity-operation: terraform-resource: PortalDeveloper#read terraform-datasource: null operationId: get-developer summary: Get a 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.' responses: '200': $ref: '#/components/responses/GetDeveloper' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Developers patch: x-speakeasy-entity-operation: PortalDeveloper#update operationId: update-developer 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.' requestBody: $ref: '#/components/requestBodies/UpdateDeveloper' responses: '200': $ref: '#/components/responses/UpdateDeveloper' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Developers delete: x-speakeasy-entity-operation: PortalDeveloper#delete operationId: delete-developer 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.' responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Developers '/v3/portals/{portalId}/audit-log-webhook': parameters: - $ref: '#/components/parameters/PortalId' patch: x-speakeasy-entity-operation: terraform-resource: 'PortalAuditLogWebhook#create,update' terraform-datasource: null operationId: update-portal-audit-log-webhook summary: Update Portal Audit Log Webhook description: Updates the configuration for a webhook to receive audit logs. requestBody: $ref: '#/components/requestBodies/UpdatePortalAuditLogWebhook' 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' tags: - Portal Audit Logs get: x-speakeasy-entity-operation: terraform-resource: PortalAuditLogWebhook#read terraform-datasource: null operationId: get-portal-audit-log-webhook summary: Get Portal Audit Log Webhook description: Returns configuration for the audit log webhook. responses: '200': $ref: '#/components/responses/PortalAuditLogWebhook' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Audit Logs delete: x-speakeasy-entity-operation: terraform-resource: PortalAuditLogWebhook#delete terraform-datasource: null operationId: delete-portal-audit-log-webhook summary: Delete Portal Audit Log Webhook description: 'Removes configuration for the audit log webhook. The destination ID is set to empty, and the webhook enabled field is set to false' 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: - Portal Audit Logs '/v3/portals/{portalId}/ip-allow-list': parameters: - $ref: '#/components/parameters/PortalId' post: x-speakeasy-entity-operation: terraform-resource: PortalIPAllowList#create terraform-datasource: null operationId: create-portal-ip-allow-list summary: Create an IP allow list for a portal description: | Create an IP allow list for a portal. requestBody: $ref: '#/components/requestBodies/CreatePortalSourceIPRestriction' responses: '201': $ref: '#/components/responses/PortalSourceIPRestriction' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Portals IP Allow List '/v3/portals/{portalId}/ip-allow-list/{id}': parameters: - $ref: '#/components/parameters/PortalId' - name: id in: path description: ID of the allow list. required: true schema: type: string format: uuid get: x-speakeasy-entity-operation: terraform-resource: PortalIPAllowList#read terraform-datasource: null operationId: get-portal-ip-allow-list summary: Get an IP allow list for a portal description: | Get an IP allow list for a portal. responses: '200': $ref: '#/components/responses/PortalSourceIPRestriction' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portals IP Allow List put: x-speakeasy-entity-operation: terraform-resource: PortalIPAllowList#update terraform-datasource: null operationId: put-portal-ip-allow-list summary: Replace an IP allow list for a portal description: | Replace an IP allow list for a portal. requestBody: $ref: '#/components/requestBodies/CreatePortalSourceIPRestriction' responses: '200': $ref: '#/components/responses/PortalSourceIPRestriction' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portals IP Allow List delete: x-speakeasy-entity-operation: terraform-resource: PortalIPAllowList#delete terraform-datasource: null operationId: delete-portal-ip-allow-list summary: Delete an IP allow list from a portal description: | Delete the IP allow list for a portal. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portals IP Allow List /v3/apis: post: x-speakeasy-entity-operation: terraform-resource: Api#create terraform-datasource: null operationId: create-api summary: Create API description: Creates an API. requestBody: $ref: '#/components/requestBodies/CreateApiRequest' responses: '201': $ref: '#/components/responses/ApiResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' '415': $ref: '#/components/responses/UnsupportedMediaType' tags: - API '/v3/apis/{apiId}': parameters: - name: apiId in: path description: The UUID API identifier required: true schema: type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 x-speakeasy-match: id get: x-speakeasy-entity-operation: terraform-resource: Api#read terraform-datasource: null operationId: fetch-api summary: Get an API description: Get an 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 operationId: update-api summary: Update API description: Updates an API. parameters: - name: force in: query description: | If true, allows operations to be removed from the current version when using access control enforcement. If false, operations removal will be rejected with a 409 error. Omitting the value means true. schema: type: string default: 'false' enum: - 'true' - 'false' requestBody: $ref: '#/components/requestBodies/UpdateApiRequest' responses: '200': $ref: '#/components/responses/ApiResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' '409': $ref: '#/components/responses/ApiVersionPatchConflict' '415': $ref: '#/components/responses/UnsupportedMediaType' tags: - API delete: x-speakeasy-entity-operation: terraform-resource: Api#delete terraform-datasource: null operationId: delete-api summary: Delete API description: Deletes an 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 operationId: create-api-document 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. requestBody: $ref: '#/components/requestBodies/CreateApiDocumentRequest' responses: '201': $ref: '#/components/responses/ApiDocumentResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' '409': $ref: '#/components/responses/ApiSlugConflict' '415': $ref: '#/components/responses/UnsupportedMediaType' 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 operationId: fetch-api-document summary: Get an API Document description: Returns a document for the API. 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 operationId: update-api-document summary: Update API Document description: Updates a document for an API. requestBody: $ref: '#/components/requestBodies/UpdateApiDocumentRequest' responses: '200': $ref: '#/components/responses/ApiDocumentResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' '409': $ref: '#/components/responses/ApiSlugConflict' '415': $ref: '#/components/responses/UnsupportedMediaType' tags: - API Documentation delete: x-speakeasy-entity-operation: terraform-resource: ApiDocument#delete terraform-datasource: null operationId: delete-api-document summary: Delete API Documentation description: Removes a document from an API. 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}/specifications': parameters: - $ref: '#/components/parameters/ApiId' post: x-speakeasy-entity-operation: terraform-resource: ApiSpecification#create terraform-datasource: null operationId: create-api-spec 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. requestBody: $ref: '#/components/requestBodies/CreateApiSpecRequest' responses: '201': $ref: '#/components/responses/ApiSpecResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' '409': $ref: '#/components/responses/ApiSpecConflict' '415': $ref: '#/components/responses/UnsupportedMediaType' deprecated: true 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 operationId: fetch-api-spec summary: Get API Specification description: | Fetches the specification (OpenAPI or AsyncAPI) of an API. **Note:** This endpoint is deprecated and will be removed: use /versions instead. responses: '200': $ref: '#/components/responses/ApiSpecResponse' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' deprecated: true tags: - API Specification patch: x-speakeasy-entity-operation: terraform-resource: ApiSpecification#update terraform-datasource: null operationId: update-api-spec 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. requestBody: $ref: '#/components/requestBodies/UpdateApiSpecRequest' responses: '200': $ref: '#/components/responses/ApiSpecResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' '409': $ref: '#/components/responses/ApiSpecHiddenConflict' '415': $ref: '#/components/responses/UnsupportedMediaType' deprecated: true tags: - API Specification delete: x-speakeasy-entity-operation: terraform-resource: ApiSpecification#delete terraform-datasource: null operationId: delete-api-spec 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. responses: '204': description: API Specification was deleted successfully. '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' deprecated: true tags: - API Specification '/v3/apis/{apiId}/versions': parameters: - $ref: '#/components/parameters/ApiId' post: x-speakeasy-entity-operation: terraform-resource: ApiVersion#create terraform-datasource: null operationId: create-api-version summary: Create API Version description: | Creates a version (OpenAPI or AsyncAPI) for an API. requestBody: $ref: '#/components/requestBodies/CreateApiVersionRequest' responses: '201': $ref: '#/components/responses/ApiVersionResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' '409': $ref: '#/components/responses/ApiSpecConflict' '415': $ref: '#/components/responses/UnsupportedMediaType' tags: - API Version '/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 operationId: fetch-api-version summary: Get an API Version description: Fetches the version (OpenAPI or AsyncAPI) of an API. 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 operationId: update-api-version summary: Update API Version description: Updates the version (OpenAPI or AsyncAPI) of an API. parameters: - name: force in: query description: | If true, allows operations to be removed from the current version when using access control enforcement. If false, operations removal will be rejected with a 409 error. Omitting the value (i.e., setting `?force`) means true. schema: type: string default: 'false' enum: - 'true' - 'false' requestBody: $ref: '#/components/requestBodies/UpdateApiVersionRequest' responses: '200': $ref: '#/components/responses/ApiVersionResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' '409': $ref: '#/components/responses/ApiVersionPatchConflict' '415': $ref: '#/components/responses/UnsupportedMediaType' tags: - API Version delete: x-speakeasy-entity-operation: terraform-resource: ApiVersion#delete terraform-datasource: null operationId: delete-api-version summary: Delete API Version description: Deletes the version (OpenAPI or AsyncAPI) of an API. 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/{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 operationId: publish-api-to-portal summary: Publish API description: | Publish an API to a portal. requestBody: $ref: '#/components/requestBodies/PutApiPublicationRequest' 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 get: x-speakeasy-entity-operation: terraform-resource: ApiPublication#read terraform-datasource: null operationId: fetch-publication summary: Get a Publication description: | Retrieve an API's publication in a portal. If the API is not published to the portal, a 404 response is returned. 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 operationId: delete-publication summary: Delete Publication description: Unpublish an API from a portal. 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}/implementations': parameters: - $ref: '#/components/parameters/ApiId' post: x-speakeasy-entity-operation: terraform-resource: ApiImplementation#create terraform-datasource: null operationId: create-api-implementation summary: Create API Implementation description: | Creates an implementation for an API. If all operations in an API are implemented by a single gateway service and the service has no routes that are not part of the API, then the API can be linked to the service. For cases where an API is implemented by multiple gateway services, only a subset of routes in one or more gateway services, or API operations need to be made available for API packages, then the API should be linked to the control plane that defines the routes that overlap with the API. requestBody: $ref: '#/components/requestBodies/CreateApiImplementationRequest' responses: '201': $ref: '#/components/responses/ApiImplementationResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' '409': $ref: '#/components/responses/ApiImplementationConflict' tags: - API Implementation '/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 operationId: fetch-api-implementation summary: Get an API Implementation description: Retrieve a gateway implementation for this API 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 operationId: delete-api-implementation summary: Delete API Implementation description: Unlink a gateway implementation from this API 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 '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshaccesslogs/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshAccessLog#get terraform-datasource: null operationId: getMeshAccessLog summary: Returns MeshAccessLog entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshAccessLog required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshAccessLogItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshAccessLog x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshAccessLog#create,update' terraform-datasource: null operationId: putMeshAccessLog summary: Creates or Updates MeshAccessLog entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshAccessLog required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshAccessLogItem' responses: '200': $ref: '#/components/responses/MeshAccessLogCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshAccessLogCreateOrUpdateSuccessResponse' tags: - MeshAccessLog x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshAccessLog#delete terraform-datasource: null operationId: deleteMeshAccessLog summary: Deletes MeshAccessLog entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshAccessLog required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshAccessLogDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshAccessLog x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshaccesslogs': get: x-speakeasy-entity-operation: terraform-resource: MeshAccessLogList#get terraform-datasource: null operationId: getMeshAccessLogList summary: Returns a list of MeshAccessLog in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshAccessLogList' tags: - MeshAccessLog x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshcircuitbreakers/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshCircuitBreaker#get terraform-datasource: null operationId: getMeshCircuitBreaker summary: Returns MeshCircuitBreaker entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshCircuitBreaker required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshCircuitBreakerItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshCircuitBreaker x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshCircuitBreaker#create,update' terraform-datasource: null operationId: putMeshCircuitBreaker summary: Creates or Updates MeshCircuitBreaker entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshCircuitBreaker required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshCircuitBreakerItem' responses: '200': $ref: '#/components/responses/MeshCircuitBreakerCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshCircuitBreakerCreateOrUpdateSuccessResponse' tags: - MeshCircuitBreaker x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshCircuitBreaker#delete terraform-datasource: null operationId: deleteMeshCircuitBreaker summary: Deletes MeshCircuitBreaker entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshCircuitBreaker required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshCircuitBreakerDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshCircuitBreaker x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshcircuitbreakers': get: x-speakeasy-entity-operation: terraform-resource: MeshCircuitBreakerList#get terraform-datasource: null operationId: getMeshCircuitBreakerList summary: Returns a list of MeshCircuitBreaker in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshCircuitBreakerList' tags: - MeshCircuitBreaker x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshfaultinjections/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshFaultInjection#get terraform-datasource: null operationId: getMeshFaultInjection summary: Returns MeshFaultInjection entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshFaultInjection required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshFaultInjectionItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshFaultInjection x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshFaultInjection#create,update' terraform-datasource: null operationId: putMeshFaultInjection summary: Creates or Updates MeshFaultInjection entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshFaultInjection required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshFaultInjectionItem' responses: '200': $ref: '#/components/responses/MeshFaultInjectionCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshFaultInjectionCreateOrUpdateSuccessResponse' tags: - MeshFaultInjection x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshFaultInjection#delete terraform-datasource: null operationId: deleteMeshFaultInjection summary: Deletes MeshFaultInjection entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshFaultInjection required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshFaultInjectionDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshFaultInjection x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshfaultinjections': get: x-speakeasy-entity-operation: terraform-resource: MeshFaultInjectionList#get terraform-datasource: null operationId: getMeshFaultInjectionList summary: Returns a list of MeshFaultInjection in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshFaultInjectionList' tags: - MeshFaultInjection x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshhealthchecks/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshHealthCheck#get terraform-datasource: null operationId: getMeshHealthCheck summary: Returns MeshHealthCheck entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshHealthCheck required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshHealthCheckItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshHealthCheck x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshHealthCheck#create,update' terraform-datasource: null operationId: putMeshHealthCheck summary: Creates or Updates MeshHealthCheck entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshHealthCheck required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshHealthCheckItem' responses: '200': $ref: '#/components/responses/MeshHealthCheckCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshHealthCheckCreateOrUpdateSuccessResponse' tags: - MeshHealthCheck x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshHealthCheck#delete terraform-datasource: null operationId: deleteMeshHealthCheck summary: Deletes MeshHealthCheck entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshHealthCheck required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshHealthCheckDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshHealthCheck x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshhealthchecks': get: x-speakeasy-entity-operation: terraform-resource: MeshHealthCheckList#get terraform-datasource: null operationId: getMeshHealthCheckList summary: Returns a list of MeshHealthCheck in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshHealthCheckList' tags: - MeshHealthCheck x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshhttproutes/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshHTTPRoute#get terraform-datasource: null operationId: getMeshHTTPRoute summary: Returns MeshHTTPRoute entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshHTTPRoute required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshHTTPRouteItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshHTTPRoute x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshHTTPRoute#create,update' terraform-datasource: null operationId: putMeshHTTPRoute summary: Creates or Updates MeshHTTPRoute entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshHTTPRoute required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshHTTPRouteItem' responses: '200': $ref: '#/components/responses/MeshHTTPRouteCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshHTTPRouteCreateOrUpdateSuccessResponse' tags: - MeshHTTPRoute x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshHTTPRoute#delete terraform-datasource: null operationId: deleteMeshHTTPRoute summary: Deletes MeshHTTPRoute entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshHTTPRoute required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshHTTPRouteDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshHTTPRoute x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshhttproutes': get: x-speakeasy-entity-operation: terraform-resource: MeshHTTPRouteList#get terraform-datasource: null operationId: getMeshHTTPRouteList summary: Returns a list of MeshHTTPRoute in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshHTTPRouteList' tags: - MeshHTTPRoute x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshloadbalancingstrategies/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshLoadBalancingStrategy#get terraform-datasource: null operationId: getMeshLoadBalancingStrategy summary: Returns MeshLoadBalancingStrategy entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshLoadBalancingStrategy required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshLoadBalancingStrategyItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshLoadBalancingStrategy x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshLoadBalancingStrategy#create,update' terraform-datasource: null operationId: putMeshLoadBalancingStrategy summary: Creates or Updates MeshLoadBalancingStrategy entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshLoadBalancingStrategy required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshLoadBalancingStrategyItem' responses: '200': $ref: '#/components/responses/MeshLoadBalancingStrategyCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshLoadBalancingStrategyCreateOrUpdateSuccessResponse' tags: - MeshLoadBalancingStrategy x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshLoadBalancingStrategy#delete terraform-datasource: null operationId: deleteMeshLoadBalancingStrategy summary: Deletes MeshLoadBalancingStrategy entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshLoadBalancingStrategy required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshLoadBalancingStrategyDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshLoadBalancingStrategy x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshloadbalancingstrategies': get: x-speakeasy-entity-operation: terraform-resource: MeshLoadBalancingStrategyList#get terraform-datasource: null operationId: getMeshLoadBalancingStrategyList summary: Returns a list of MeshLoadBalancingStrategy in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshLoadBalancingStrategyList' tags: - MeshLoadBalancingStrategy x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshmetrics/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshMetric#get terraform-datasource: null operationId: getMeshMetric summary: Returns MeshMetric entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshMetric required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshMetricItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshMetric x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshMetric#create,update' terraform-datasource: null operationId: putMeshMetric summary: Creates or Updates MeshMetric entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshMetric required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshMetricItem' responses: '200': $ref: '#/components/responses/MeshMetricCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshMetricCreateOrUpdateSuccessResponse' tags: - MeshMetric x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshMetric#delete terraform-datasource: null operationId: deleteMeshMetric summary: Deletes MeshMetric entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshMetric required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshMetricDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshMetric x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshmetrics': get: x-speakeasy-entity-operation: terraform-resource: MeshMetricList#get terraform-datasource: null operationId: getMeshMetricList summary: Returns a list of MeshMetric in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshMetricList' tags: - MeshMetric x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshpassthroughs/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshPassthrough#get terraform-datasource: null operationId: getMeshPassthrough summary: Returns MeshPassthrough entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshPassthrough required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshPassthroughItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshPassthrough x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshPassthrough#create,update' terraform-datasource: null operationId: putMeshPassthrough summary: Creates or Updates MeshPassthrough entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshPassthrough required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshPassthroughItem' responses: '200': $ref: '#/components/responses/MeshPassthroughCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshPassthroughCreateOrUpdateSuccessResponse' tags: - MeshPassthrough x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshPassthrough#delete terraform-datasource: null operationId: deleteMeshPassthrough summary: Deletes MeshPassthrough entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshPassthrough required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshPassthroughDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshPassthrough x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshpassthroughs': get: x-speakeasy-entity-operation: terraform-resource: MeshPassthroughList#get terraform-datasource: null operationId: getMeshPassthroughList summary: Returns a list of MeshPassthrough in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshPassthroughList' tags: - MeshPassthrough x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshproxypatches/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshProxyPatch#get terraform-datasource: null operationId: getMeshProxyPatch summary: Returns MeshProxyPatch entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshProxyPatch required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshProxyPatchItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshProxyPatch x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshProxyPatch#create,update' terraform-datasource: null operationId: putMeshProxyPatch summary: Creates or Updates MeshProxyPatch entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshProxyPatch required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshProxyPatchItem' responses: '200': $ref: '#/components/responses/MeshProxyPatchCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshProxyPatchCreateOrUpdateSuccessResponse' tags: - MeshProxyPatch x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshProxyPatch#delete terraform-datasource: null operationId: deleteMeshProxyPatch summary: Deletes MeshProxyPatch entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshProxyPatch required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshProxyPatchDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshProxyPatch x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshproxypatches': get: x-speakeasy-entity-operation: terraform-resource: MeshProxyPatchList#get terraform-datasource: null operationId: getMeshProxyPatchList summary: Returns a list of MeshProxyPatch in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshProxyPatchList' tags: - MeshProxyPatch x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshratelimits/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshRateLimit#get terraform-datasource: null operationId: getMeshRateLimit summary: Returns MeshRateLimit entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshRateLimit required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshRateLimitItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshRateLimit x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshRateLimit#create,update' terraform-datasource: null operationId: putMeshRateLimit summary: Creates or Updates MeshRateLimit entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshRateLimit required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshRateLimitItem' responses: '200': $ref: '#/components/responses/MeshRateLimitCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshRateLimitCreateOrUpdateSuccessResponse' tags: - MeshRateLimit x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshRateLimit#delete terraform-datasource: null operationId: deleteMeshRateLimit summary: Deletes MeshRateLimit entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshRateLimit required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshRateLimitDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshRateLimit x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshratelimits': get: x-speakeasy-entity-operation: terraform-resource: MeshRateLimitList#get terraform-datasource: null operationId: getMeshRateLimitList summary: Returns a list of MeshRateLimit in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshRateLimitList' tags: - MeshRateLimit x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshretries/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshRetry#get terraform-datasource: null operationId: getMeshRetry summary: Returns MeshRetry entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshRetry required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshRetryItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshRetry x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshRetry#create,update' terraform-datasource: null operationId: putMeshRetry summary: Creates or Updates MeshRetry entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshRetry required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshRetryItem' responses: '200': $ref: '#/components/responses/MeshRetryCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshRetryCreateOrUpdateSuccessResponse' tags: - MeshRetry x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshRetry#delete terraform-datasource: null operationId: deleteMeshRetry summary: Deletes MeshRetry entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshRetry required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshRetryDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshRetry x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshretries': get: x-speakeasy-entity-operation: terraform-resource: MeshRetryList#get terraform-datasource: null operationId: getMeshRetryList summary: Returns a list of MeshRetry in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshRetryList' tags: - MeshRetry x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshtcproutes/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshTCPRoute#get terraform-datasource: null operationId: getMeshTCPRoute summary: Returns MeshTCPRoute entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTCPRoute required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTCPRouteItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshTCPRoute x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshTCPRoute#create,update' terraform-datasource: null operationId: putMeshTCPRoute summary: Creates or Updates MeshTCPRoute entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTCPRoute required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshTCPRouteItem' responses: '200': $ref: '#/components/responses/MeshTCPRouteCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshTCPRouteCreateOrUpdateSuccessResponse' tags: - MeshTCPRoute x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshTCPRoute#delete terraform-datasource: null operationId: deleteMeshTCPRoute summary: Deletes MeshTCPRoute entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTCPRoute required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTCPRouteDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshTCPRoute x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshtcproutes': get: x-speakeasy-entity-operation: terraform-resource: MeshTCPRouteList#get terraform-datasource: null operationId: getMeshTCPRouteList summary: Returns a list of MeshTCPRoute in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTCPRouteList' tags: - MeshTCPRoute x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshtimeouts/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshTimeout#get terraform-datasource: null operationId: getMeshTimeout summary: Returns MeshTimeout entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTimeout required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTimeoutItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshTimeout x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshTimeout#create,update' terraform-datasource: null operationId: putMeshTimeout summary: Creates or Updates MeshTimeout entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTimeout required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshTimeoutItem' responses: '200': $ref: '#/components/responses/MeshTimeoutCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshTimeoutCreateOrUpdateSuccessResponse' tags: - MeshTimeout x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshTimeout#delete terraform-datasource: null operationId: deleteMeshTimeout summary: Deletes MeshTimeout entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTimeout required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTimeoutDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshTimeout x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshtimeouts': get: x-speakeasy-entity-operation: terraform-resource: MeshTimeoutList#get terraform-datasource: null operationId: getMeshTimeoutList summary: Returns a list of MeshTimeout in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTimeoutList' tags: - MeshTimeout x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshtlses/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshTLS#get terraform-datasource: null operationId: getMeshTLS summary: Returns MeshTLS entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTLS required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTLSItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshTLS x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshTLS#create,update' terraform-datasource: null operationId: putMeshTLS summary: Creates or Updates MeshTLS entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTLS required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshTLSItem' responses: '200': $ref: '#/components/responses/MeshTLSCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshTLSCreateOrUpdateSuccessResponse' tags: - MeshTLS x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshTLS#delete terraform-datasource: null operationId: deleteMeshTLS summary: Deletes MeshTLS entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTLS required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTLSDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshTLS x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshtlses': get: x-speakeasy-entity-operation: terraform-resource: MeshTLSList#get terraform-datasource: null operationId: getMeshTLSList summary: Returns a list of MeshTLS in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTLSList' tags: - MeshTLS x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshtraces/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshTrace#get terraform-datasource: null operationId: getMeshTrace summary: Returns MeshTrace entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTrace required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTraceItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshTrace x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshTrace#create,update' terraform-datasource: null operationId: putMeshTrace summary: Creates or Updates MeshTrace entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTrace required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshTraceItem' responses: '200': $ref: '#/components/responses/MeshTraceCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshTraceCreateOrUpdateSuccessResponse' tags: - MeshTrace x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshTrace#delete terraform-datasource: null operationId: deleteMeshTrace summary: Deletes MeshTrace entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTrace required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTraceDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshTrace x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshtraces': get: x-speakeasy-entity-operation: terraform-resource: MeshTraceList#get terraform-datasource: null operationId: getMeshTraceList summary: Returns a list of MeshTrace in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTraceList' tags: - MeshTrace x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshtrafficpermissions/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshTrafficPermission#get terraform-datasource: null operationId: getMeshTrafficPermission summary: Returns MeshTrafficPermission entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTrafficPermission required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTrafficPermissionItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshTrafficPermission x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshTrafficPermission#create,update' terraform-datasource: null operationId: putMeshTrafficPermission summary: Creates or Updates MeshTrafficPermission entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTrafficPermission required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshTrafficPermissionItem' responses: '200': $ref: '#/components/responses/MeshTrafficPermissionCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshTrafficPermissionCreateOrUpdateSuccessResponse' tags: - MeshTrafficPermission x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshTrafficPermission#delete terraform-datasource: null operationId: deleteMeshTrafficPermission summary: Deletes MeshTrafficPermission entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTrafficPermission required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTrafficPermissionDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshTrafficPermission x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshtrafficpermissions': get: x-speakeasy-entity-operation: terraform-resource: MeshTrafficPermissionList#get terraform-datasource: null operationId: getMeshTrafficPermissionList summary: Returns a list of MeshTrafficPermission in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTrafficPermissionList' tags: - MeshTrafficPermission x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes': get: x-speakeasy-entity-operation: terraform-resource: MeshList#get terraform-datasource: null operationId: getMeshList summary: Returns a list of Mesh in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns responses: '200': $ref: '#/components/responses/MeshList' tags: - Mesh x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{name}': delete: x-speakeasy-entity-operation: terraform-resource: Mesh#delete terraform-datasource: null operationId: deleteMesh summary: Deletes Mesh entity parameters: - name: name in: path description: name of the Mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - Mesh x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 get: x-speakeasy-entity-operation: terraform-resource: Mesh#get terraform-datasource: null operationId: getMesh summary: Returns Mesh entity parameters: - name: name in: path description: name of the Mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshItem' '404': $ref: '#/components/responses/NotFound' tags: - Mesh x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'Mesh#create,update' terraform-datasource: null operationId: putMesh summary: Creates or Updates Mesh entity parameters: - name: name in: path description: name of the Mesh required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshItem' responses: '200': $ref: '#/components/responses/MeshCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshCreateOrUpdateSuccessResponse' tags: - Mesh x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshgateways': get: x-speakeasy-entity-operation: terraform-resource: MeshGatewayList#get terraform-datasource: null operationId: getMeshGatewayList summary: Returns a list of MeshGateway in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshGatewayList' tags: - MeshGateway x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshgateways/{name}': delete: x-speakeasy-entity-operation: terraform-resource: MeshGateway#delete terraform-datasource: null operationId: deleteMeshGateway summary: Deletes MeshGateway entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshGateway required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshGatewayDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshGateway x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 get: x-speakeasy-entity-operation: terraform-resource: MeshGateway#get terraform-datasource: null operationId: getMeshGateway summary: Returns MeshGateway entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshGateway required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshGatewayItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshGateway x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshGateway#create,update' terraform-datasource: null operationId: putMeshGateway summary: Creates or Updates MeshGateway entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshGateway required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshGatewayItem' responses: '200': $ref: '#/components/responses/MeshGatewayCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshGatewayCreateOrUpdateSuccessResponse' tags: - MeshGateway x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/secrets': get: x-speakeasy-entity-operation: terraform-resource: MeshSecretList#get terraform-datasource: null operationId: getSecretList summary: Returns a list of Secret in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/SecretList' tags: - Secret x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/secrets/{name}': delete: x-speakeasy-entity-operation: terraform-resource: MeshSecret#delete terraform-datasource: null operationId: deleteSecret summary: Deletes Secret entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the Secret required: true schema: type: string responses: '200': $ref: '#/components/responses/SecretDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - Secret x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 get: x-speakeasy-entity-operation: terraform-resource: MeshSecret#get terraform-datasource: null operationId: getSecret summary: Returns Secret entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the Secret required: true schema: type: string responses: '200': $ref: '#/components/responses/SecretItem' '404': $ref: '#/components/responses/NotFound' tags: - Secret x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshSecret#create,update' terraform-datasource: null operationId: putSecret summary: Creates or Updates Secret entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the Secret required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/SecretItem' responses: '200': $ref: '#/components/responses/SecretCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/SecretCreateOrUpdateSuccessResponse' tags: - Secret x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/zoneegresses': get: x-speakeasy-entity-operation: terraform-resource: MeshZoneEgressList#get terraform-datasource: null operationId: getZoneEgressList summary: Returns a list of ZoneEgress in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns responses: '200': $ref: '#/components/responses/ZoneEgressList' tags: - ZoneEgress x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/zoneegresses/{name}': delete: x-speakeasy-entity-operation: terraform-resource: MeshZoneEgress#delete terraform-datasource: null operationId: deleteZoneEgress summary: Deletes ZoneEgress entity parameters: - name: name in: path description: name of the ZoneEgress required: true schema: type: string responses: '200': $ref: '#/components/responses/ZoneEgressDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - ZoneEgress x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 get: x-speakeasy-entity-operation: terraform-resource: MeshZoneEgress#get terraform-datasource: null operationId: getZoneEgress summary: Returns ZoneEgress entity parameters: - name: name in: path description: name of the ZoneEgress required: true schema: type: string responses: '200': $ref: '#/components/responses/ZoneEgressItem' '404': $ref: '#/components/responses/NotFound' tags: - ZoneEgress x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshZoneEgress#create,update' terraform-datasource: null operationId: putZoneEgress summary: Creates or Updates ZoneEgress entity parameters: - name: name in: path description: name of the ZoneEgress required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/ZoneEgressItem' responses: '200': $ref: '#/components/responses/ZoneEgressCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/ZoneEgressCreateOrUpdateSuccessResponse' tags: - ZoneEgress x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/zoneingresses': get: x-speakeasy-entity-operation: terraform-resource: MeshZoneIngressList#get terraform-datasource: null operationId: getZoneIngressList summary: Returns a list of ZoneIngress in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns responses: '200': $ref: '#/components/responses/ZoneIngressList' tags: - ZoneIngress x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/zoneingresses/{name}': delete: x-speakeasy-entity-operation: terraform-resource: MeshZoneIngress#delete terraform-datasource: null operationId: deleteZoneIngress summary: Deletes ZoneIngress entity parameters: - name: name in: path description: name of the ZoneIngress required: true schema: type: string responses: '200': $ref: '#/components/responses/ZoneIngressDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - ZoneIngress x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 get: x-speakeasy-entity-operation: terraform-resource: MeshZoneIngress#get terraform-datasource: null operationId: getZoneIngress summary: Returns ZoneIngress entity parameters: - name: name in: path description: name of the ZoneIngress required: true schema: type: string responses: '200': $ref: '#/components/responses/ZoneIngressItem' '404': $ref: '#/components/responses/NotFound' tags: - ZoneIngress x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshZoneIngress#create,update' terraform-datasource: null operationId: putZoneIngress summary: Creates or Updates ZoneIngress entity parameters: - name: name in: path description: name of the ZoneIngress required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/ZoneIngressItem' responses: '200': $ref: '#/components/responses/ZoneIngressCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/ZoneIngressCreateOrUpdateSuccessResponse' tags: - ZoneIngress x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/hostnamegenerators/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshHostnameGenerator#get terraform-datasource: null operationId: getHostnameGenerator summary: Returns HostnameGenerator entity parameters: - name: name in: path description: name of the HostnameGenerator required: true schema: type: string responses: '200': $ref: '#/components/responses/HostnameGeneratorItem' '404': $ref: '#/components/responses/NotFound' tags: - HostnameGenerator x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshHostnameGenerator#create,update' terraform-datasource: null operationId: putHostnameGenerator summary: Creates or Updates HostnameGenerator entity parameters: - name: name in: path description: name of the HostnameGenerator required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/HostnameGeneratorItem' responses: '200': $ref: '#/components/responses/HostnameGeneratorCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/HostnameGeneratorCreateOrUpdateSuccessResponse' tags: - HostnameGenerator x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshHostnameGenerator#delete terraform-datasource: null operationId: deleteHostnameGenerator summary: Deletes HostnameGenerator entity parameters: - name: name in: path description: name of the HostnameGenerator required: true schema: type: string responses: '200': $ref: '#/components/responses/HostnameGeneratorDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - HostnameGenerator x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/hostnamegenerators': get: x-speakeasy-entity-operation: terraform-resource: MeshHostnameGeneratorList#get terraform-datasource: null operationId: getHostnameGeneratorList summary: Returns a list of HostnameGenerator in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns responses: '200': $ref: '#/components/responses/HostnameGeneratorList' tags: - HostnameGenerator x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshexternalservices/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshExternalService#get terraform-datasource: null operationId: getMeshExternalService summary: Returns MeshExternalService entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshExternalService required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshExternalServiceItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshExternalService x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshExternalService#create,update' terraform-datasource: null operationId: putMeshExternalService summary: Creates or Updates MeshExternalService entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshExternalService required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshExternalServiceItem' responses: '200': $ref: '#/components/responses/MeshExternalServiceCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshExternalServiceCreateOrUpdateSuccessResponse' tags: - MeshExternalService x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshExternalService#delete terraform-datasource: null operationId: deleteMeshExternalService summary: Deletes MeshExternalService entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshExternalService required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshExternalServiceDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshExternalService x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshexternalservices': get: x-speakeasy-entity-operation: terraform-resource: MeshExternalServiceList#get terraform-datasource: null operationId: getMeshExternalServiceList summary: Returns a list of MeshExternalService in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshExternalServiceList' tags: - MeshExternalService x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshidentities/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshIdentity#get terraform-datasource: null operationId: getMeshIdentity summary: Returns MeshIdentity entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshIdentity required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshIdentityItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshIdentity x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshIdentity#create,update' terraform-datasource: null operationId: putMeshIdentity summary: Creates or Updates MeshIdentity entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshIdentity required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshIdentityItem' responses: '200': $ref: '#/components/responses/MeshIdentityCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshIdentityCreateOrUpdateSuccessResponse' tags: - MeshIdentity x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshIdentity#delete terraform-datasource: null operationId: deleteMeshIdentity summary: Deletes MeshIdentity entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshIdentity required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshIdentityDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshIdentity x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshidentities': get: x-speakeasy-entity-operation: terraform-resource: MeshIdentityList#get terraform-datasource: null operationId: getMeshIdentityList summary: Returns a list of MeshIdentity in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshIdentityList' tags: - MeshIdentity x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshmultizoneservices/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshMultiZoneService#get terraform-datasource: null operationId: getMeshMultiZoneService summary: Returns MeshMultiZoneService entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshMultiZoneService required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshMultiZoneServiceItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshMultiZoneService x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshMultiZoneService#create,update' terraform-datasource: null operationId: putMeshMultiZoneService summary: Creates or Updates MeshMultiZoneService entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshMultiZoneService required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshMultiZoneServiceItem' responses: '200': $ref: '#/components/responses/MeshMultiZoneServiceCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshMultiZoneServiceCreateOrUpdateSuccessResponse' tags: - MeshMultiZoneService x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshMultiZoneService#delete terraform-datasource: null operationId: deleteMeshMultiZoneService summary: Deletes MeshMultiZoneService entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshMultiZoneService required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshMultiZoneServiceDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshMultiZoneService x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshmultizoneservices': get: x-speakeasy-entity-operation: terraform-resource: MeshMultiZoneServiceList#get terraform-datasource: null operationId: getMeshMultiZoneServiceList summary: Returns a list of MeshMultiZoneService in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshMultiZoneServiceList' tags: - MeshMultiZoneService x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshopentelemetrybackends/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshOpenTelemetryBackend#get terraform-datasource: null operationId: getMeshOpenTelemetryBackend summary: Returns MeshOpenTelemetryBackend entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshOpenTelemetryBackend required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshOpenTelemetryBackendItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshOpenTelemetryBackend x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshOpenTelemetryBackend#create,update' terraform-datasource: null operationId: putMeshOpenTelemetryBackend summary: Creates or Updates MeshOpenTelemetryBackend entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshOpenTelemetryBackend required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshOpenTelemetryBackendItem' responses: '200': $ref: '#/components/responses/MeshOpenTelemetryBackendCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshOpenTelemetryBackendCreateOrUpdateSuccessResponse' tags: - MeshOpenTelemetryBackend x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshOpenTelemetryBackend#delete terraform-datasource: null operationId: deleteMeshOpenTelemetryBackend summary: Deletes MeshOpenTelemetryBackend entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshOpenTelemetryBackend required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshOpenTelemetryBackendDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshOpenTelemetryBackend x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshopentelemetrybackends': get: x-speakeasy-entity-operation: terraform-resource: MeshOpenTelemetryBackendList#get terraform-datasource: null operationId: getMeshOpenTelemetryBackendList summary: Returns a list of MeshOpenTelemetryBackend in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshOpenTelemetryBackendList' tags: - MeshOpenTelemetryBackend x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshservices/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshService#get terraform-datasource: null operationId: getMeshService summary: Returns MeshService entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshService required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshServiceItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshService x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshService#create,update' terraform-datasource: null operationId: putMeshService summary: Creates or Updates MeshService entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshService required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshServiceItem' responses: '200': $ref: '#/components/responses/MeshServiceCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshServiceCreateOrUpdateSuccessResponse' tags: - MeshService x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshService#delete terraform-datasource: null operationId: deleteMeshService summary: Deletes MeshService entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshService required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshServiceDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshService x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshservices': get: x-speakeasy-entity-operation: terraform-resource: MeshServiceList#get terraform-datasource: null operationId: getMeshServiceList summary: Returns a list of MeshService in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshServiceList' tags: - MeshService x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshtrusts/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshTrust#get terraform-datasource: null operationId: getMeshTrust summary: Returns MeshTrust entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTrust required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTrustItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshTrust x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshTrust#create,update' terraform-datasource: null operationId: putMeshTrust summary: Creates or Updates MeshTrust entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTrust required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshTrustItem' responses: '200': $ref: '#/components/responses/MeshTrustCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshTrustCreateOrUpdateSuccessResponse' tags: - MeshTrust x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshTrust#delete terraform-datasource: null operationId: deleteMeshTrust summary: Deletes MeshTrust entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTrust required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTrustDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshTrust x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshtrusts': get: x-speakeasy-entity-operation: terraform-resource: MeshTrustList#get terraform-datasource: null operationId: getMeshTrustList summary: Returns a list of MeshTrust in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTrustList' tags: - MeshTrust x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshzoneaddresses/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshZoneAddress#get terraform-datasource: null operationId: getMeshZoneAddress summary: Returns MeshZoneAddress entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshZoneAddress required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshZoneAddressItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshZoneAddress x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshZoneAddress#create,update' terraform-datasource: null operationId: putMeshZoneAddress summary: Creates or Updates MeshZoneAddress entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshZoneAddress required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshZoneAddressItem' responses: '200': $ref: '#/components/responses/MeshZoneAddressCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshZoneAddressCreateOrUpdateSuccessResponse' tags: - MeshZoneAddress x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshZoneAddress#delete terraform-datasource: null operationId: deleteMeshZoneAddress summary: Deletes MeshZoneAddress entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshZoneAddress required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshZoneAddressDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshZoneAddress x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshzoneaddresses': get: x-speakeasy-entity-operation: terraform-resource: MeshZoneAddressList#get terraform-datasource: null operationId: getMeshZoneAddressList summary: Returns a list of MeshZoneAddress in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshZoneAddressList' tags: - MeshZoneAddress x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/workloads/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshWorkload#get terraform-datasource: null operationId: getWorkload summary: Returns Workload entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the Workload required: true schema: type: string responses: '200': $ref: '#/components/responses/WorkloadItem' '404': $ref: '#/components/responses/NotFound' tags: - Workload x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshWorkload#create,update' terraform-datasource: null operationId: putWorkload summary: Creates or Updates Workload entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the Workload required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/WorkloadItem' responses: '200': $ref: '#/components/responses/WorkloadCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/WorkloadCreateOrUpdateSuccessResponse' tags: - Workload x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshWorkload#delete terraform-datasource: null operationId: deleteWorkload summary: Deletes Workload entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the Workload required: true schema: type: string responses: '200': $ref: '#/components/responses/WorkloadDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - Workload x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/workloads': get: x-speakeasy-entity-operation: terraform-resource: MeshWorkloadList#get terraform-datasource: null operationId: getWorkloadList summary: Returns a list of Workload in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/WorkloadList' tags: - Workload x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshglobalratelimits/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshGlobalRateLimit#get terraform-datasource: null operationId: getMeshGlobalRateLimit summary: Returns MeshGlobalRateLimit entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshGlobalRateLimit required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshGlobalRateLimitItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshGlobalRateLimit x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshGlobalRateLimit#create,update' terraform-datasource: null operationId: putMeshGlobalRateLimit summary: Creates or Updates MeshGlobalRateLimit entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshGlobalRateLimit required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshGlobalRateLimitItem' responses: '200': $ref: '#/components/responses/MeshGlobalRateLimitCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshGlobalRateLimitCreateOrUpdateSuccessResponse' tags: - MeshGlobalRateLimit x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshGlobalRateLimit#delete terraform-datasource: null operationId: deleteMeshGlobalRateLimit summary: Deletes MeshGlobalRateLimit entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshGlobalRateLimit required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshGlobalRateLimitDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshGlobalRateLimit x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshglobalratelimits': get: x-speakeasy-entity-operation: terraform-resource: MeshGlobalRateLimitList#get terraform-datasource: null operationId: getMeshGlobalRateLimitList summary: Returns a list of MeshGlobalRateLimit in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshGlobalRateLimitList' tags: - MeshGlobalRateLimit x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshopas/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshOPA#get terraform-datasource: null operationId: getMeshOPA summary: Returns MeshOPA entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshOPA required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshOPAItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshOPA x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshOPA#create,update' terraform-datasource: null operationId: putMeshOPA summary: Creates or Updates MeshOPA entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshOPA required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshOPAItem' responses: '200': $ref: '#/components/responses/MeshOPACreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshOPACreateOrUpdateSuccessResponse' tags: - MeshOPA x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshOPA#delete terraform-datasource: null operationId: deleteMeshOPA summary: Deletes MeshOPA entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshOPA required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshOPADeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshOPA x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshopas': get: x-speakeasy-entity-operation: terraform-resource: MeshOPAList#get terraform-datasource: null operationId: getMeshOPAList summary: Returns a list of MeshOPA in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshOPAList' tags: - MeshOPA x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/accessaudits': get: x-speakeasy-entity-operation: terraform-resource: MeshAccessAuditList#get terraform-datasource: null operationId: getAccessAuditList summary: Returns a list of AccessAudit in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns responses: '200': $ref: '#/components/responses/AccessAuditList' tags: - AccessAudit x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/accessaudits/{name}': delete: x-speakeasy-entity-operation: terraform-resource: MeshAccessAudit#delete terraform-datasource: null operationId: deleteAccessAudit summary: Deletes AccessAudit entity parameters: - name: name in: path description: name of the AccessAudit required: true schema: type: string responses: '200': $ref: '#/components/responses/AccessAuditDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - AccessAudit x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 get: x-speakeasy-entity-operation: terraform-resource: MeshAccessAudit#get terraform-datasource: null operationId: getAccessAudit summary: Returns AccessAudit entity parameters: - name: name in: path description: name of the AccessAudit required: true schema: type: string responses: '200': $ref: '#/components/responses/AccessAuditItem' '404': $ref: '#/components/responses/NotFound' tags: - AccessAudit x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshAccessAudit#create,update' terraform-datasource: null operationId: putAccessAudit summary: Creates or Updates AccessAudit entity parameters: - name: name in: path description: name of the AccessAudit required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/AccessAuditItem' responses: '200': $ref: '#/components/responses/AccessAuditCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/AccessAuditCreateOrUpdateSuccessResponse' tags: - AccessAudit x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/access-roles': get: x-speakeasy-entity-operation: terraform-resource: MeshAccessRoleList#get terraform-datasource: null operationId: getAccessRoleList summary: Returns a list of AccessRole in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns responses: '200': $ref: '#/components/responses/AccessRoleList' tags: - AccessRole x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/access-roles/{name}': delete: x-speakeasy-entity-operation: terraform-resource: MeshAccessRole#delete terraform-datasource: null operationId: deleteAccessRole summary: Deletes AccessRole entity parameters: - name: name in: path description: name of the AccessRole required: true schema: type: string responses: '200': $ref: '#/components/responses/AccessRoleDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - AccessRole x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 get: x-speakeasy-entity-operation: terraform-resource: MeshAccessRole#get terraform-datasource: null operationId: getAccessRole summary: Returns AccessRole entity parameters: - name: name in: path description: name of the AccessRole required: true schema: type: string responses: '200': $ref: '#/components/responses/AccessRoleItem' '404': $ref: '#/components/responses/NotFound' tags: - AccessRole x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshAccessRole#create,update' terraform-datasource: null operationId: putAccessRole summary: Creates or Updates AccessRole entity parameters: - name: name in: path description: name of the AccessRole required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/AccessRoleItem' responses: '200': $ref: '#/components/responses/AccessRoleCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/AccessRoleCreateOrUpdateSuccessResponse' tags: - AccessRole x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/access-role-bindings': get: x-speakeasy-entity-operation: terraform-resource: MeshAccessRoleBindingList#get terraform-datasource: null operationId: getAccessRoleBindingList summary: Returns a list of AccessRoleBinding in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns responses: '200': $ref: '#/components/responses/AccessRoleBindingList' tags: - AccessRoleBinding x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/access-role-bindings/{name}': delete: x-speakeasy-entity-operation: terraform-resource: MeshAccessRoleBinding#delete terraform-datasource: null operationId: deleteAccessRoleBinding summary: Deletes AccessRoleBinding entity parameters: - name: name in: path description: name of the AccessRoleBinding required: true schema: type: string responses: '200': $ref: '#/components/responses/AccessRoleBindingDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - AccessRoleBinding x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 get: x-speakeasy-entity-operation: terraform-resource: MeshAccessRoleBinding#get terraform-datasource: null operationId: getAccessRoleBinding summary: Returns AccessRoleBinding entity parameters: - name: name in: path description: name of the AccessRoleBinding required: true schema: type: string responses: '200': $ref: '#/components/responses/AccessRoleBindingItem' '404': $ref: '#/components/responses/NotFound' tags: - AccessRoleBinding x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshAccessRoleBinding#create,update' terraform-datasource: null operationId: putAccessRoleBinding summary: Creates or Updates AccessRoleBinding entity parameters: - name: name in: path description: name of the AccessRoleBinding required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/AccessRoleBindingItem' responses: '200': $ref: '#/components/responses/AccessRoleBindingCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/AccessRoleBindingCreateOrUpdateSuccessResponse' tags: - AccessRoleBinding x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' /v1/mesh/control-planes: get: x-speakeasy-entity-operation: MeshControlPlanes#get operationId: list-mesh-control-planes summary: List Control Planes description: Returns an array of control planes objects. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/MeshControlPlaneFilter' responses: '200': $ref: '#/components/responses/ListMeshControlPlanesResponse' '401': $ref: '#/components/responses/MeshControlPlaneUnauthorizedError' '403': $ref: '#/components/responses/MeshControlPlaneForbiddenError' tags: - Mesh x-speakeasy-pagination: type: offsetLimit inputs: - name: 'page[number]' in: parameters type: page - name: 'page[size]' in: parameters type: limit outputs: results: $.data numPages: $.meta.page.total x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 post: x-speakeasy-entity-operation: terraform-resource: MeshControlPlane#create terraform-datasource: null operationId: create-cp summary: Create a new control plane description: Create a new control plane requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateMeshControlPlaneRequest' responses: '201': $ref: '#/components/responses/CreateMeshControlPlaneResponse' '400': $ref: '#/components/responses/CreateMeshControlPlaneValidationError' '401': $ref: '#/components/responses/MeshControlPlaneUnauthorizedError' '403': $ref: '#/components/responses/MeshControlPlaneForbiddenError' tags: - Mesh x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 '/v1/mesh/control-planes/{cpId}': parameters: - name: cpId in: path description: Id of the Konnect resource required: true schema: type: string format: uuid example: bf138ba2-c9b1-4229-b268-04d9d8a6410b x-speakeasy-match: id x-speakeasy-param-suppress-computed-diff: true get: x-speakeasy-entity-operation: terraform-resource: MeshControlPlane#read terraform-datasource: null operationId: get-mesh-control-plane summary: Get the control plane description: Get the control plane responses: '200': $ref: '#/components/responses/RetrieveMeshControlPlaneResponse' '401': $ref: '#/components/responses/MeshControlPlaneUnauthorizedError' '403': $ref: '#/components/responses/MeshControlPlaneForbiddenError' '404': $ref: '#/components/responses/MeshControlPlaneNotFoundError' tags: - Mesh x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshControlPlane#delete terraform-datasource: null operationId: delete-mesh-control-plane summary: Delete the control plane description: Delete the control plane responses: '204': description: No Content '400': $ref: '#/components/responses/DeleteMeshControlPlaneValidationError' '401': $ref: '#/components/responses/MeshControlPlaneUnauthorizedError' '403': $ref: '#/components/responses/MeshControlPlaneForbiddenError' '404': $ref: '#/components/responses/MeshControlPlaneNotFoundError' tags: - Mesh x-speakeasy-retries: strategy: backoff backoff: initialInterval: 1000 maxInterval: 60000 maxElapsedTime: 360000 exponent: 2 statusCodes: - 400 retryConnectionErrors: true put: x-speakeasy-entity-operation: terraform-resource: MeshControlPlane#update terraform-datasource: null operationId: update-cp summary: Update a whole control plane description: Update a whole control plane requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PutMeshControlPlaneRequest' responses: '200': $ref: '#/components/responses/PutMeshControlPlaneResponse' '400': $ref: '#/components/responses/PutMeshControlPlaneValidationError' '401': $ref: '#/components/responses/MeshControlPlaneUnauthorizedError' '403': $ref: '#/components/responses/MeshControlPlaneForbiddenError' '404': $ref: '#/components/responses/MeshControlPlaneNotFoundError' tags: - Mesh x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 /v1/auth-servers: post: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServer#create terraform-datasource: null operationId: createAuthServer summary: Create a new auth server description: 'Create a new auth server. Each auth server has a unique, randomly generated, public issuer URL.' requestBody: $ref: '#/components/requestBodies/CreateAuthServer' responses: '201': $ref: '#/components/responses/AuthServer' '400': $ref: '#/components/responses/BadRequest' '409': $ref: '#/components/responses/Conflict' tags: - Auth Server '/v1/auth-servers/{authServerId}': parameters: - $ref: '#/components/parameters/authServerId' get: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServer#read terraform-datasource: null operationId: getAuthServer summary: Get an auth server description: Get an auth server. responses: '200': $ref: '#/components/responses/AuthServer' '404': $ref: '#/components/responses/NotFound' tags: - Auth Server patch: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServer#update terraform-datasource: null operationId: updateAuthServer summary: Update an auth server description: Update an auth server. requestBody: $ref: '#/components/requestBodies/UpdateAuthServer' responses: '200': $ref: '#/components/responses/AuthServer' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - Auth Server delete: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServer#delete terraform-datasource: null operationId: deleteAuthServer summary: Delete an auth server description: 'Delete an auth server. If force=true, delete the auth server and all its associated resources. If force=false, only allow deletion if no resources are associated with the auth server. This action is irreversible.' parameters: - name: force in: query description: 'If true, delete the specified auth server and all its associated resources. If false, only allow deletion if no clients, scopes or claims are associated with the auth server.' schema: type: string default: 'false' enum: - 'true' - 'false' x-speakeasy-name-override: force_destroy responses: '204': description: Success '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' tags: - Auth Server '/v1/auth-servers/{authServerId}/claims': parameters: - $ref: '#/components/parameters/authServerIdForChildren' post: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerClaim#create terraform-datasource: null operationId: createAuthServerClaim summary: Create a new auth server claim description: 'Create a new claim for a given auth server. The `name` attribute will appear in the JWT access token as a claim with the given case-sensitive name. The `value` attribute will be used to populate the claim value in the JWT access token. The value can be templated, which allows you to use variables like `${ uuidv4 }` to generate dynamic values. Claim values are hydrated based on their types, which may include JSON.' requestBody: $ref: '#/components/requestBodies/CreateClaim' responses: '201': $ref: '#/components/responses/Claim' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' tags: - Auth Server Claims '/v1/auth-servers/{authServerId}/claims/{claimId}': parameters: - $ref: '#/components/parameters/authServerIdForChildren' - $ref: '#/components/parameters/claimId' get: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerClaim#read terraform-datasource: null operationId: getAuthServerClaim summary: Get an auth server claim description: Get a claim for given auth server. responses: '200': $ref: '#/components/responses/Claim' '404': $ref: '#/components/responses/NotFound' tags: - Auth Server Claims patch: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerClaim#update terraform-datasource: null operationId: updateAuthServerClaim summary: Update an auth server claim description: Update a claim for a given auth server. requestBody: $ref: '#/components/requestBodies/UpdateClaim' responses: '200': $ref: '#/components/responses/Claim' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' tags: - Auth Server Claims delete: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerClaim#delete terraform-datasource: null operationId: deleteAuthServerClaim summary: Delete an auth server claim description: 'Delete a claim for a given auth server. If the claim is included in any scopes, it will be removed from those scopes.' responses: '204': description: Success '404': $ref: '#/components/responses/NotFound' tags: - Auth Server Claims '/v1/auth-servers/{authServerId}/scopes': parameters: - $ref: '#/components/parameters/authServerIdForChildren' post: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerScope#create terraform-datasource: null operationId: createAuthServerScope summary: Create a new auth server scope description: Create a new scope for a given auth server. The `name` attribute must be unique within the auth server. requestBody: $ref: '#/components/requestBodies/CreateScope' responses: '201': $ref: '#/components/responses/Scope' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - Auth Server Scopes '/v1/auth-servers/{authServerId}/scopes/{scopeId}': parameters: - $ref: '#/components/parameters/authServerIdForChildren' - $ref: '#/components/parameters/scopeId' get: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerScope#read terraform-datasource: null operationId: getAuthServerScope summary: Get an auth server scope description: Get a scope for given auth server. responses: '200': $ref: '#/components/responses/Scope' '404': $ref: '#/components/responses/NotFound' tags: - Auth Server Scopes patch: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerScope#update terraform-datasource: null operationId: updateAuthServerScope summary: Update an auth server scope description: Update a scope for a given auth server. requestBody: $ref: '#/components/requestBodies/UpdateScope' responses: '200': $ref: '#/components/responses/Scope' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - Auth Server Scopes delete: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerScope#delete terraform-datasource: null operationId: deleteAuthServerScope summary: Delete an auth server scope description: 'Delete a scope for a given auth server. If the scope is included in any clients, it will be removed from those clients.' responses: '204': description: Success '404': $ref: '#/components/responses/NotFound' tags: - Auth Server Scopes '/v1/auth-servers/{authServerId}/clients': parameters: - $ref: '#/components/parameters/authServerIdForChildren' post: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerClient#create terraform-datasource: null operationId: createAuthServerClient summary: Create a new auth server client description: Create a new client for a given auth server. The client ID and secret will be generated automatically. The `name` attribute must be unique within the auth server. The `grant_types` and `response_types` attributes define the OAuth 2.0 and OpenID Connect capabilities of the client. requestBody: $ref: '#/components/requestBodies/CreateClient' responses: '201': $ref: '#/components/responses/CreatedClient' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - Auth Server Clients '/v1/auth-servers/{authServerId}/clients/{clientId}': parameters: - $ref: '#/components/parameters/authServerIdForChildren' - $ref: '#/components/parameters/clientId' get: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerClient#read terraform-datasource: null operationId: getAuthServerClient summary: Get an auth server client description: Get a client for given auth server. responses: '200': $ref: '#/components/responses/Client' '404': $ref: '#/components/responses/NotFound' tags: - Auth Server Clients put: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerClient#update terraform-datasource: null operationId: replaceAuthServerClient summary: Replace an auth server client description: 'Replace a client for a given auth server. The client ID and secret can be provided to update an existing client, or to create a client with the matching ID and secret.' requestBody: $ref: '#/components/requestBodies/ReplaceClient' responses: '200': $ref: '#/components/responses/Client' '201': $ref: '#/components/responses/Client' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - Auth Server Clients delete: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerClient#delete terraform-datasource: null operationId: deleteAuthServerClient summary: Delete an auth server client description: Delete a client for a given auth server. All tokens associated with the client will also be deleted. This action is irreversible. responses: '204': description: Success '404': $ref: '#/components/responses/NotFound' tags: - Auth Server Clients '/v1/auth-servers/{authServerId}/clients/{clientId}/secrets': parameters: - $ref: '#/components/parameters/authServerIdForChildren' - $ref: '#/components/parameters/clientIdForChildren' post: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerClientSecret#create terraform-datasource: null operationId: createClientSecret summary: Create a new client secret description: Create a new client secret for a given client. Multiple secrets can be active simultaneously for a single client. requestBody: $ref: '#/components/requestBodies/CreateSecretPayload' responses: '201': $ref: '#/components/responses/ClientSecretBody' '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' tags: - Auth Server Clients '/v1/auth-servers/{authServerId}/clients/{clientId}/secrets/{clientSecretId}': parameters: - $ref: '#/components/parameters/authServerIdForChildren' - $ref: '#/components/parameters/clientIdForChildren' - $ref: '#/components/parameters/clientSecretId' get: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerClientSecret#read terraform-datasource: null operationId: getClientSecret summary: Get a client secret description: Get a specific client secret for a given client. responses: '200': $ref: '#/components/responses/ClientSecretBody' '404': $ref: '#/components/responses/NotFound' tags: - Auth Server Clients patch: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerClientSecret#update terraform-datasource: null operationId: updateClientSecret summary: Update a client secret description: 'Update a client secret for a given client, such as enabling or disabling the secret.' requestBody: $ref: '#/components/requestBodies/UpdateSecretPayload' responses: '200': $ref: '#/components/responses/ClientSecretBody' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' tags: - Auth Server Clients delete: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerClientSecret#delete terraform-datasource: null operationId: deleteClientSecret summary: Delete a client secret description: Delete a client secret for a given client. This action is irreversible. responses: '204': description: Success '404': $ref: '#/components/responses/NotFound' tags: - Auth Server Clients /v2/dashboards: post: x-speakeasy-entity-operation: terraform-resource: Dashboard#create terraform-datasource: null operationId: dashboards-create summary: Create a new dashboard description: Creates a new dashboard from the provided definition. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DashboardUpdateRequest' responses: '201': description: 'The created dashboard, including generated fields.' content: application/json: schema: $ref: '#/components/schemas/DashboardResponse' '400': description: Bad request; returned when the request payload was not valid. content: application/problem+json: {} '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Dashboards '/v2/dashboards/{dashboardId}': parameters: - name: dashboardId in: path description: The dashboard's ID. required: true schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a x-speakeasy-match: id get: x-speakeasy-entity-operation: terraform-resource: Dashboard#read terraform-datasource: null operationId: dashboards-get summary: Get a single dashboard description: Get a dashboard that your account has access to. responses: '200': description: The dashboard with the given ID. content: application/json: schema: $ref: '#/components/schemas/DashboardResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Dashboards put: x-speakeasy-entity-operation: terraform-resource: Dashboard#update terraform-datasource: null operationId: dashboards-update summary: Update an existing dashboard description: 'Update an existing dashboard, replacing its definition with the provided one.' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DashboardUpdateRequest' responses: '200': description: 'The created dashboard, including generated fields.' content: application/json: schema: $ref: '#/components/schemas/DashboardResponse' '400': description: Bad request; returned when the request payload was not valid. content: application/problem+json: {} '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Dashboards delete: x-speakeasy-entity-operation: terraform-resource: Dashboard#delete terraform-datasource: null operationId: dashboards-delete summary: Delete an existing dashboard description: Delete an existing dashboard. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Dashboards '/v3/organizations/{organizationId}/personal-access-token-settings': parameters: - name: organizationId in: path description: A UUID representing an organization. required: true schema: description: UUID representing an organization type: string format: uuid example: 5f9fd312-a987-4628-b4c5-bb4f4fddd5f7 get: x-speakeasy-entity-operation: terraform-resource: OrganizationPersonalAccessTokenSettings#read terraform-datasource: null operationId: get-organizations-personal-access-token-settings summary: Get personal access token policy settings description: Get personal access token policy settings. Only organization administrators are authorized to perform this action. responses: '200': $ref: '#/components/responses/PersonalAccessTokenSettingsResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' security: - personalAccessToken: [] - konnectAccessToken: [] - serviceAccessToken: [] - systemAccountAccessToken: [] tags: - Personal Access Tokens patch: x-speakeasy-entity-operation: terraform-resource: 'OrganizationPersonalAccessTokenSettings#create,update' terraform-datasource: null operationId: update-personal-access-token-settings summary: Update personal access token policy settings description: Update personal access token policy settings. Only organization administrators are authorized to perform this action. requestBody: $ref: '#/components/requestBodies/PersonalAccessTokenSettingsUpdateRequest' responses: '200': $ref: '#/components/responses/PersonalAccessTokenSettingsResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' security: - personalAccessToken: [] - konnectAccessToken: [] - systemAccountAccessToken: [] tags: - Personal Access Tokens /v1/event-gateways: parameters: [] post: x-speakeasy-entity-operation: terraform-resource: EventGateway#create terraform-datasource: null operationId: create-event-gateway summary: Create Event Gateway description: Create a Event gateway in the Konnect Organization. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateGatewayRequest' responses: '201': $ref: '#/components/responses/CreateGatewayResponse' '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' '500': $ref: '#/components/responses/Internal' '503': $ref: '#/components/responses/NotAvailable' tags: - Event Gateways '/v1/event-gateways/{gatewayId}': parameters: - name: gatewayId in: path description: The UUID of your Gateway. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id get: x-speakeasy-entity-operation: terraform-resource: EventGateway#read terraform-datasource: null operationId: get-event-gateway summary: Get an Event Gateway description: Returns information about an individual Event gateway. responses: '200': description: A response to retrieving a single eventgateway. content: application/json: schema: $ref: '#/components/schemas/EventGatewayInfo' '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/NotAvailable' tags: - Event Gateways put: x-speakeasy-entity-operation: terraform-resource: EventGateway#update terraform-datasource: null operationId: update-event-gateway summary: Update Event Gateway description: Update an individual gateway. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateGatewayRequest' responses: '200': $ref: '#/components/responses/UpdateGatewayResponse' '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/NotAvailable' tags: - Event Gateways delete: x-speakeasy-entity-operation: terraform-resource: EventGateway#delete terraform-datasource: null operationId: delete-event-gateway summary: Delete Event Gateway description: Delete an individual gateway. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateways '/v1/event-gateways/{gatewayId}/listeners': parameters: - $ref: '#/components/parameters/gatewayId' post: x-speakeasy-entity-operation: terraform-resource: EventGatewayListener#create terraform-datasource: null operationId: create-event-gateway-listener summary: Create Event Gateway Listener description: Creates a new listener associated with the specified Event Gateway. requestBody: $ref: '#/components/requestBodies/CreateEventGatewayListenerRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayListener' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Listeners '/v1/event-gateways/{gatewayId}/listeners/{eventGatewayListenerId}': parameters: - $ref: '#/components/parameters/gatewayId' - name: eventGatewayListenerId in: path description: The ID of the Event Gateway Listener. required: true schema: type: string format: uuid x-speakeasy-match: id get: x-speakeasy-entity-operation: terraform-resource: EventGatewayListener#read terraform-datasource: null operationId: get-event-gateway-listener summary: Get an Event Gateway Listener description: Returns information about a specific listener associated with the Event Gateway. responses: '200': description: A single event gateway listener object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayListener' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Listeners put: x-speakeasy-entity-operation: terraform-resource: EventGatewayListener#update terraform-datasource: null operationId: update-event-gateway-listener summary: Update Event Gateway Listener description: Updates an existing listener associated with the specified Event Gateway. requestBody: $ref: '#/components/requestBodies/UpdateEventGatewayListenerRequest' responses: '200': description: Updated event gateway listener object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayListener' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Listeners delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayListener#delete terraform-datasource: null operationId: delete-event-gateway-listener summary: Delete Event Gateway Listener description: Deletes a specific listener associated with the Event Gateway. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Listeners '/v1/event-gateways/{gatewayId}/virtual-clusters': parameters: - $ref: '#/components/parameters/gatewayId' post: x-speakeasy-entity-operation: terraform-resource: EventGatewayVirtualCluster#create terraform-datasource: null operationId: create-event-gateway-virtual-cluster summary: Create Virtual Cluster description: Creates a new virtual cluster associated with the specified Event Gateway. requestBody: $ref: '#/components/requestBodies/CreateVirtualClusterRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/VirtualCluster' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Clusters '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}': parameters: - $ref: '#/components/parameters/gatewayId' - name: virtualClusterId in: path description: The ID of the Virtual Cluster. required: true schema: type: string format: uuid x-speakeasy-match: id get: x-speakeasy-entity-operation: terraform-resource: EventGatewayVirtualCluster#read terraform-datasource: null operationId: get-event-gateway-virtual-cluster summary: Get a Virtual Cluster description: Returns information about a specific virtual cluster associated with the Event Gateway. responses: '200': description: A single virtual cluster object. content: application/json: schema: $ref: '#/components/schemas/VirtualCluster' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Clusters put: x-speakeasy-entity-operation: terraform-resource: EventGatewayVirtualCluster#update terraform-datasource: null operationId: update-event-gateway-virtual-cluster summary: Update Virtual Cluster description: Updates an existing virtual cluster associated with the specified Event Gateway. requestBody: $ref: '#/components/requestBodies/UpdateVirtualClusterRequest' responses: '200': description: Updated virtual cluster object. content: application/json: schema: $ref: '#/components/schemas/VirtualCluster' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Clusters delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayVirtualCluster#delete terraform-datasource: null operationId: delete-event-gateway-virtual-cluster summary: Delete Virtual Cluster description: Deletes a specific virtual cluster associated with the Event Gateway. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Clusters '/v1/event-gateways/{gatewayId}/backend-clusters': parameters: - $ref: '#/components/parameters/gatewayId' post: x-speakeasy-entity-operation: terraform-resource: EventGatewayBackendCluster#create terraform-datasource: null operationId: create-event-gateway-backend-cluster summary: Create Backend Cluster description: Creates a new backend cluster. requestBody: $ref: '#/components/requestBodies/CreateBackendClusterRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/BackendCluster' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Backend Clusters '/v1/event-gateways/{gatewayId}/backend-clusters/{backendClusterId}': parameters: - $ref: '#/components/parameters/gatewayId' - name: backendClusterId in: path description: The ID of the Backend Cluster. required: true schema: type: string format: uuid x-speakeasy-match: id get: x-speakeasy-entity-operation: terraform-resource: EventGatewayBackendCluster#read terraform-datasource: null operationId: get-event-gateway-backend-cluster summary: Get a Backend Cluster description: Returns information about a specific backend cluster. responses: '200': description: A single backend cluster object. content: application/json: schema: $ref: '#/components/schemas/BackendCluster' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Backend Clusters put: x-speakeasy-entity-operation: terraform-resource: EventGatewayBackendCluster#update terraform-datasource: null operationId: update-event-gateway-backend-cluster summary: Update Backend Cluster description: Updates an existing backend cluster. requestBody: $ref: '#/components/requestBodies/UpdateBackendClusterRequest' responses: '200': description: Updated backend cluster object. content: application/json: schema: $ref: '#/components/schemas/BackendCluster' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Backend Clusters delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayBackendCluster#delete terraform-datasource: null operationId: delete-event-gateway-backend-cluster summary: Delete Backend Cluster description: Deletes a specific backend cluster. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Backend Clusters '/v1/event-gateways/{gatewayId}/vaults': parameters: - $ref: '#/components/parameters/gatewayId' post: x-unstable: true x-internal: true x-speakeasy-entity-operation: terraform-resource: EventGatewayVault#create terraform-datasource: null operationId: create-event-gateway-vault summary: Create Vault description: Creates a new vault associated with the specified Event Gateway. requestBody: $ref: '#/components/requestBodies/CreateEventGatewayVaultRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayVault' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Vaults '/v1/event-gateways/{gatewayId}/vaults/{vaultId}': parameters: - $ref: '#/components/parameters/gatewayId' - name: vaultId in: path description: The ID of the Vault. required: true schema: type: string format: uuid x-speakeasy-match: id get: x-unstable: true x-internal: true x-speakeasy-entity-operation: terraform-resource: EventGatewayVault#read terraform-datasource: null operationId: get-event-gateway-vault summary: Get a Vault description: Returns information about a specific vault associated with the Event Gateway. responses: '200': description: A single vault object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayVault' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Vaults put: x-unstable: true x-internal: true x-speakeasy-entity-operation: terraform-resource: EventGatewayVault#update terraform-datasource: null operationId: update-event-gateway-vault summary: Update Vault description: Updates an existing vault associated with the specified Event Gateway. requestBody: $ref: '#/components/requestBodies/UpdateEventGatewayVaultRequest' responses: '200': description: Updated vault object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayVault' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Vaults delete: x-unstable: true x-internal: true x-speakeasy-entity-operation: terraform-resource: EventGatewayVault#delete terraform-datasource: null operationId: delete-event-gateway-vault summary: Delete Vault description: Deletes a specific vault associated with the Event Gateway. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Vaults '/v1/event-gateways/{gatewayId}/schema-registries': parameters: - $ref: '#/components/parameters/gatewayId' post: x-speakeasy-entity-operation: terraform-resource: EventGatewaySchemaRegistry#create terraform-datasource: null operationId: create-event-gateway-schema-registry summary: Create Schema Registry description: Creates a new schema registry associated with the specified Event Gateway. requestBody: $ref: '#/components/requestBodies/CreateSchemaRegistryRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/SchemaRegistry' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Schema Registries '/v1/event-gateways/{gatewayId}/schema-registries/{schemaRegistryId}': parameters: - $ref: '#/components/parameters/gatewayId' - name: schemaRegistryId in: path description: The ID of the Schema Registry. required: true schema: type: string format: uuid x-speakeasy-match: id get: x-speakeasy-entity-operation: terraform-resource: EventGatewaySchemaRegistry#read terraform-datasource: null operationId: get-event-gateway-schema-registry summary: Get a Schema Registry description: Returns information about a specific schema registry associated with the Event Gateway. responses: '200': description: A single schema registry object. content: application/json: schema: $ref: '#/components/schemas/SchemaRegistry' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Schema Registries put: x-speakeasy-entity-operation: terraform-resource: EventGatewaySchemaRegistry#update terraform-datasource: null operationId: update-event-gateway-schema-registry summary: Update Schema Registry description: Updates an existing schema registry associated with the specified Event Gateway. requestBody: $ref: '#/components/requestBodies/UpdateSchemaRegistryRequest' responses: '200': description: Updated schema registry object. content: application/json: schema: $ref: '#/components/schemas/SchemaRegistry' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Schema Registries delete: x-speakeasy-entity-operation: terraform-resource: EventGatewaySchemaRegistry#delete terraform-datasource: null operationId: delete-event-gateway-schema-registry summary: Delete Schema Registry description: Deletes a specific schema registry associated with the Event Gateway. 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: - Event Gateway Schema Registries '/v1/event-gateways/{gatewayId}/data-plane-certificates': parameters: - $ref: '#/components/parameters/gatewayId' post: x-speakeasy-entity-operation: terraform-resource: EventGatewayDataPlaneCertificate#create terraform-datasource: null operationId: create-event-gateway-data-plane-certificate summary: Create a New DataPlane Certificate description: Create new dataplane certificate to this event gateway. A dataplane certificate allows dataplanes configured with the certificate and corresponding private key to establish connection with this event gateway. requestBody: $ref: '#/components/requestBodies/CreateEventGatewayDataPlaneCertificateRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayDataPlaneCertificate' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway DataPlane Certificates '/v1/event-gateways/{gatewayId}/data-plane-certificates/{certificateId}': parameters: - $ref: '#/components/parameters/gatewayId' - name: certificateId in: path description: The ID of the dataplane certificate. required: true schema: type: string format: uuid x-speakeasy-match: id get: x-speakeasy-entity-operation: terraform-resource: EventGatewayDataPlaneCertificate#read terraform-datasource: null operationId: get-event-gateway-data-plane-certificate summary: Get a DataPlane Certificate description: Returns information about an individual dataplane certificate. responses: '200': description: A single dataplane certificate. content: application/json: schema: $ref: '#/components/schemas/EventGatewayDataPlaneCertificate' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway DataPlane Certificates put: x-speakeasy-entity-operation: terraform-resource: EventGatewayDataPlaneCertificate#update terraform-datasource: null operationId: update-event-gateway-data-plane-certificate summary: Update Event Gateway DataPlane Certificate description: Updates an existing dataplane certificate associated with the specified Event Gateway. requestBody: $ref: '#/components/requestBodies/UpdateEventGatewayDataPlaneCertificateRequest' responses: '200': description: Updated event gateway dataplane certificate object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayDataPlaneCertificate' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway DataPlane Certificates delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayDataPlaneCertificate#delete terraform-datasource: null operationId: delete-event-gateway-data-plane-certificate summary: Delete Event Gateway DataPlane Certificate description: Deletes a specific dataplane certificate associated with the Event Gateway. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway DataPlane Certificates '/v1/event-gateways/{gatewayId}/static-keys': parameters: - $ref: '#/components/parameters/gatewayId' post: x-speakeasy-entity-operation: terraform-resource: EventGatewayStaticKey#create terraform-datasource: null operationId: create-event-gateway-static-key summary: Create a New Static Key description: Create new static key to this event gateway. requestBody: $ref: '#/components/requestBodies/CreateEventGatewayStaticKeyRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayStaticKey' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Static Keys '/v1/event-gateways/{gatewayId}/static-keys/{staticKeyId}': parameters: - $ref: '#/components/parameters/gatewayId' - name: staticKeyId in: path description: The ID of the static key. required: true schema: type: string format: uuid x-speakeasy-match: id get: x-speakeasy-entity-operation: terraform-resource: EventGatewayStaticKey#read terraform-datasource: null operationId: get-event-gateway-static-key summary: Get a Static Key description: Returns information about an individual static key. responses: '200': description: A single static key. content: application/json: schema: $ref: '#/components/schemas/EventGatewayStaticKey' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Static Keys delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayStaticKey#delete terraform-datasource: null operationId: delete-event-gateway-static-key summary: Delete Event Gateway Static Key description: Deletes a specific static key associated with the Event Gateway. 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: - Event Gateway Static Keys '/v1/event-gateways/{gatewayId}/tls-trust-bundles': parameters: - $ref: '#/components/parameters/gatewayId' post: x-speakeasy-entity-operation: terraform-resource: EventGatewayTLSTrustBundle#create terraform-datasource: null operationId: create-event-gateway-tls-trust-bundle summary: Create TLS Trust Bundle description: |- Creates a new TLS trust bundle containing trusted CA certificates for client certificate verification. **Requires a minimum runtime version of `1.1`**. requestBody: $ref: '#/components/requestBodies/CreateTLSTrustBundleRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/TLSTrustBundle' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway TLS Trust Bundles x-min-runtime-version: '1.1' x-speakeasy-param-computed: false '/v1/event-gateways/{gatewayId}/tls-trust-bundles/{tlsTrustBundleId}': parameters: - $ref: '#/components/parameters/gatewayId' - name: tlsTrustBundleId in: path description: The ID of the TLS trust bundle. required: true schema: type: string format: uuid x-speakeasy-match: id get: x-speakeasy-entity-operation: terraform-resource: EventGatewayTLSTrustBundle#read terraform-datasource: null operationId: get-event-gateway-tls-trust-bundle summary: Get a TLS Trust Bundle description: |- Returns information about a specific TLS trust bundle. **Requires a minimum runtime version of `1.1`**. responses: '200': description: A single TLS trust bundle object. content: application/json: schema: $ref: '#/components/schemas/TLSTrustBundle' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway TLS Trust Bundles x-min-runtime-version: '1.1' x-speakeasy-param-computed: false put: x-speakeasy-entity-operation: terraform-resource: EventGatewayTLSTrustBundle#update terraform-datasource: null operationId: update-event-gateway-tls-trust-bundle summary: Update TLS Trust Bundle description: |- Updates an existing TLS trust bundle. **Requires a minimum runtime version of `1.1`**. requestBody: $ref: '#/components/requestBodies/UpdateTLSTrustBundleRequest' responses: '200': description: Updated TLS trust bundle object. content: application/json: schema: $ref: '#/components/schemas/TLSTrustBundle' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway TLS Trust Bundles x-min-runtime-version: '1.1' x-speakeasy-param-computed: false delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayTLSTrustBundle#delete terraform-datasource: null operationId: delete-event-gateway-tls-trust-bundle summary: Delete TLS Trust Bundle description: |- Deletes a specific TLS trust bundle associated with the Event Gateway. **Requires a minimum runtime version of `1.1`**. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway TLS Trust Bundles x-min-runtime-version: '1.1' x-speakeasy-param-computed: false '/v1/event-gateways/{gatewayId}/listeners/{eventGatewayListenerId}/policies/{policyId}#TlsServer': get: x-speakeasy-entity-operation: terraform-resource: EventGatewayListenerPolicyTlsServer#read terraform-datasource: null operationId: get-event-gateway-listener-policy-tls-server summary: Get a Policy for Listener description: Returns information about a specific policy associated with the Event Gateway listener. responses: '200': description: A single policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayListenerPolicy' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Listener Policies put: x-speakeasy-entity-operation: terraform-resource: EventGatewayListenerPolicyTlsServer#update terraform-datasource: null operationId: update-event-gateway-listener-policy-tls-server summary: Update Policy for Listener description: Updates an existing policy associated with the specified Event Gateway listener. requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayTLSListenerSensitiveDataAwarePolicy' responses: '200': description: Updated policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayListenerPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Listener Policies delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayListenerPolicyTlsServer#delete terraform-datasource: null operationId: delete-event-gateway-listener-policy-tls-server summary: Delete Policy for Listener description: Deletes a specific policy associated with the Event Gateway listener. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Listener Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/eventGatewayListenerId' - name: policyId in: path description: The UUID of the policy. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id '/v1/event-gateways/{gatewayId}/listeners/{eventGatewayListenerId}/policies/{policyId}#ForwardToVirtualCluster': get: x-speakeasy-entity-operation: terraform-resource: EventGatewayListenerPolicyForwardToVirtualCluster#read terraform-datasource: null operationId: get-event-gateway-listener-policy-forward-to_virtual_cluster summary: Get a Policy for Listener description: Returns information about a specific policy associated with the Event Gateway listener. responses: '200': description: A single policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayListenerPolicy' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Listener Policies put: x-speakeasy-entity-operation: terraform-resource: EventGatewayListenerPolicyForwardToVirtualCluster#update terraform-datasource: null operationId: update-event-gateway-listener-policy-forward-to_virtual_cluster summary: Update Policy for Listener description: Updates an existing policy associated with the specified Event Gateway listener. requestBody: content: application/json: schema: $ref: '#/components/schemas/ForwardToVirtualClusterPolicy' responses: '200': description: Updated policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayListenerPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Listener Policies delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayListenerPolicyForwardToVirtualCluster#delete terraform-datasource: null operationId: delete-event-gateway-listener-policy-forward-to_virtual_cluster summary: Delete Policy for Listener description: Deletes a specific policy associated with the Event Gateway listener. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Listener Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/eventGatewayListenerId' - name: policyId in: path description: The UUID of the policy. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id '/v1/event-gateways/{gatewayId}/listeners/{eventGatewayListenerId}/policies#TlsServer': post: x-speakeasy-entity-operation: terraform-resource: EventGatewayListenerPolicyTlsServer#create terraform-datasource: null operationId: create-event-gateway-listener-policy-tls-server summary: Create Policy for Listener description: Creates a new policy associated with the specified Event Gateway listener. parameters: - $ref: '#/components/parameters/EventGatewayPolicyBefore' - $ref: '#/components/parameters/EventGatewayPolicyAfter' requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayTLSListenerPolicy' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayListenerPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Listener Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/eventGatewayListenerId' '/v1/event-gateways/{gatewayId}/listeners/{eventGatewayListenerId}/policies#ForwardToVirtualCluster': post: x-speakeasy-entity-operation: terraform-resource: EventGatewayListenerPolicyForwardToVirtualCluster#create terraform-datasource: null operationId: create-event-gateway-listener-policy-forward-to_virtual_cluster summary: Create Policy for Listener description: Creates a new policy associated with the specified Event Gateway listener. parameters: - $ref: '#/components/parameters/EventGatewayPolicyBefore' - $ref: '#/components/parameters/EventGatewayPolicyAfter' requestBody: content: application/json: schema: $ref: '#/components/schemas/ForwardToVirtualClusterPolicy' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayListenerPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Listener Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/eventGatewayListenerId' '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/consume-policies/{policyId}#ModifyHeaders': get: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicyModifyHeaders#read terraform-datasource: null operationId: get-event-gateway-virtual-cluster-consume-policy-modify-headers summary: Get a Consume Policy for Virtual Cluster description: Returns information about a specific consume policy associated with the Event Gateway virtual cluster. responses: '200': description: A single consume policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Consume Policies put: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicyModifyHeaders#update terraform-datasource: null operationId: update-event-gateway-virtual-cluster-consume-policy-modify-headers summary: Update Consume Policy for Virtual Cluster description: Updates an existing consume policy associated with the specified Event Gateway virtual cluster. requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayModifyHeadersPolicy' responses: '200': description: Updated consume policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Consume Policies delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicyModifyHeaders#delete terraform-datasource: null operationId: delete-event-gateway-virtual-cluster-consume-policy-modify-headers summary: Delete Consume Policy for Virtual Cluster description: Deletes a specific consume policy associated with the Event Gateway virtual cluster. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Consume Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' - name: policyId in: path description: The UUID of the policy. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/consume-policies/{policyId}#SchemaValidation': get: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicySchemaValidation#read terraform-datasource: null operationId: get-event-gateway-virtual-cluster-consume-policy-schema-validation summary: Get a Consume Policy for Virtual Cluster description: Returns information about a specific consume policy associated with the Event Gateway virtual cluster. responses: '200': description: A single consume policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayConsumePolicySchemaValidationTFOnly' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Consume Policies put: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicySchemaValidation#update terraform-datasource: null operationId: update-event-gateway-virtual-cluster-consume-policy-schema-validation summary: Update Consume Policy for Virtual Cluster description: Updates an existing consume policy associated with the specified Event Gateway virtual cluster. requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayConsumeSchemaValidationPolicy' responses: '200': description: Updated consume policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayConsumePolicySchemaValidationTFOnly' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Consume Policies delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicySchemaValidation#delete terraform-datasource: null operationId: delete-event-gateway-virtual-cluster-consume-policy-schema-validation summary: Delete Consume Policy for Virtual Cluster description: Deletes a specific consume policy associated with the Event Gateway virtual cluster. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Consume Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' - name: policyId in: path description: The UUID of the policy. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/consume-policies/{policyId}#Decrypt': get: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicyDecrypt#read terraform-datasource: null operationId: get-event-gateway-virtual-cluster-consume-policy-decrypt summary: Get a Consume Policy for Virtual Cluster description: Returns information about a specific consume policy associated with the Event Gateway virtual cluster. responses: '200': description: A single consume policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Consume Policies put: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicyDecrypt#update terraform-datasource: null operationId: update-event-gateway-virtual-cluster-consume-policy-decrypt summary: Update Consume Policy for Virtual Cluster description: Updates an existing consume policy associated with the specified Event Gateway virtual cluster. requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayDecryptPolicy' responses: '200': description: Updated consume policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Consume Policies delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicyDecrypt#delete terraform-datasource: null operationId: delete-event-gateway-virtual-cluster-consume-policy-decrypt summary: Delete Consume Policy for Virtual Cluster description: Deletes a specific consume policy associated with the Event Gateway virtual cluster. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Consume Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' - name: policyId in: path description: The UUID of the policy. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/consume-policies/{policyId}#SkipRecord': get: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicySkipRecord#read terraform-datasource: null operationId: get-event-gateway-virtual-cluster-consume-policy-skip-record summary: Get a Consume Policy for Virtual Cluster description: Returns information about a specific consume policy associated with the Event Gateway virtual cluster. responses: '200': description: A single consume policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Consume Policies put: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicySkipRecord#update terraform-datasource: null operationId: update-event-gateway-virtual-cluster-consume-policy-skip-record summary: Update Consume Policy for Virtual Cluster description: Updates an existing consume policy associated with the specified Event Gateway virtual cluster. requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewaySkipRecordPolicy' responses: '200': description: Updated consume policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Consume Policies delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicySkipRecord#delete terraform-datasource: null operationId: delete-event-gateway-virtual-cluster-consume-policy-skip-record summary: Delete Consume Policy for Virtual Cluster description: Deletes a specific consume policy associated with the Event Gateway virtual cluster. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Consume Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' - name: policyId in: path description: The UUID of the policy. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/consume-policies/{policyId}#DecryptFields': get: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicyDecryptFields#read terraform-datasource: null operationId: get-event-gateway-virtual-cluster-consume-policy-decrypt-fields summary: Get a Consume Policy for Virtual Cluster description: Returns information about a specific consume policy associated with the Event Gateway virtual cluster. responses: '200': description: A single consume policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Consume Policies put: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicyDecryptFields#update terraform-datasource: null operationId: update-event-gateway-virtual-cluster-consume-policy-decrypt-fields summary: Update Consume Policy for Virtual Cluster description: Updates an existing consume policy associated with the specified Event Gateway virtual cluster. requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayParsedRecordDecryptFieldsPolicy' responses: '200': description: Updated consume policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Consume Policies delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicyDecryptFields#delete terraform-datasource: null operationId: delete-event-gateway-virtual-cluster-consume-policy-decrypt-fields summary: Delete Consume Policy for Virtual Cluster description: Deletes a specific consume policy associated with the Event Gateway virtual cluster. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Consume Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' - name: policyId in: path description: The UUID of the policy. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/consume-policies#ModifyHeaders': post: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicyModifyHeaders#create terraform-datasource: null operationId: create-event-gateway-virtual-cluster-consume-policy-modify-headers summary: Create Consume Policy for Virtual Cluster description: Creates a new consume policy associated with the specified Event Gateway virtual cluster. parameters: - $ref: '#/components/parameters/EventGatewayPolicyBefore' - $ref: '#/components/parameters/EventGatewayPolicyAfter' requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayModifyHeadersPolicyCreate' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Consume Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/consume-policies#SchemaValidation': post: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicySchemaValidation#create terraform-datasource: null operationId: create-event-gateway-virtual-cluster-consume-policy-schema-validation summary: Create Consume Policy for Virtual Cluster description: Creates a new consume policy associated with the specified Event Gateway virtual cluster. parameters: - $ref: '#/components/parameters/EventGatewayPolicyBefore' - $ref: '#/components/parameters/EventGatewayPolicyAfter' requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayConsumeSchemaValidationPolicy' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayConsumePolicySchemaValidationTFOnly' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Consume Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/consume-policies#Decrypt': post: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicyDecrypt#create terraform-datasource: null operationId: create-event-gateway-virtual-cluster-consume-policy-decrypt summary: Create Consume Policy for Virtual Cluster description: Creates a new consume policy associated with the specified Event Gateway virtual cluster. parameters: - $ref: '#/components/parameters/EventGatewayPolicyBefore' - $ref: '#/components/parameters/EventGatewayPolicyAfter' requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayDecryptPolicy' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Consume Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/consume-policies#SkipRecord': post: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicySkipRecord#create terraform-datasource: null operationId: create-event-gateway-virtual-cluster-consume-policy-skip-record summary: Create Consume Policy for Virtual Cluster description: Creates a new consume policy associated with the specified Event Gateway virtual cluster. parameters: - $ref: '#/components/parameters/EventGatewayPolicyBefore' - $ref: '#/components/parameters/EventGatewayPolicyAfter' requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewaySkipRecordPolicyCreate' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Consume Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/consume-policies#DecryptFields': post: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicyDecryptFields#create terraform-datasource: null operationId: create-event-gateway-virtual-cluster-consume-policy-decrypt-fields summary: Create Consume Policy for Virtual Cluster description: Creates a new consume policy associated with the specified Event Gateway virtual cluster. parameters: - $ref: '#/components/parameters/EventGatewayPolicyBefore' - $ref: '#/components/parameters/EventGatewayPolicyAfter' requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayParsedRecordDecryptFieldsPolicyCreate' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Consume Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/produce-policies/{policyId}#ModifyHeaders': get: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicyModifyHeaders#read terraform-datasource: null operationId: get-event-gateway-virtual-cluster-produce-policy-modify-headers summary: Get a Produce Policy for Virtual Cluster description: Returns information about a specific produce policy associated with the Event Gateway virtual cluster. responses: '200': description: A single produce policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Produce Policies put: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicyModifyHeaders#update terraform-datasource: null operationId: update-event-gateway-virtual-cluster-produce-policy-modify-headers summary: Update Produce Policy for Virtual Cluster description: Updates an existing produce policy associated with the specified Event Gateway virtual cluster. requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayModifyHeadersPolicy' responses: '200': description: Updated produce policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Produce Policies delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicyModifyHeaders#delete terraform-datasource: null operationId: delete-event-gateway-virtual-cluster-produce-policy-modify-headers summary: Delete Produce Policy for Virtual Cluster description: Deletes a specific produce policy associated with the Event Gateway virtual cluster. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Produce Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' - name: policyId in: path description: The UUID of the policy. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/produce-policies/{policyId}#SchemaValidation': get: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicySchemaValidation#read terraform-datasource: null operationId: get-event-gateway-virtual-cluster-produce-policy-schema-validation summary: Get a Produce Policy for Virtual Cluster description: Returns information about a specific produce policy associated with the Event Gateway virtual cluster. responses: '200': description: A single produce policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayProducePolicySchemaValidationTFOnly' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Produce Policies put: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicySchemaValidation#update terraform-datasource: null operationId: update-event-gateway-virtual-cluster-produce-policy-schema-validation summary: Update Produce Policy for Virtual Cluster description: Updates an existing produce policy associated with the specified Event Gateway virtual cluster. requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayProduceSchemaValidationPolicy' responses: '200': description: Updated produce policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayProducePolicySchemaValidationTFOnly' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Produce Policies delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicySchemaValidation#delete terraform-datasource: null operationId: delete-event-gateway-virtual-cluster-produce-policy-schema-validation summary: Delete Produce Policy for Virtual Cluster description: Deletes a specific produce policy associated with the Event Gateway virtual cluster. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Produce Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' - name: policyId in: path description: The UUID of the policy. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/produce-policies/{policyId}#Encrypt': get: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicyEncrypt#read terraform-datasource: null operationId: get-event-gateway-virtual-cluster-produce-policy-encrypt summary: Get a Produce Policy for Virtual Cluster description: Returns information about a specific produce policy associated with the Event Gateway virtual cluster. responses: '200': description: A single produce policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Produce Policies put: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicyEncrypt#update terraform-datasource: null operationId: update-event-gateway-virtual-cluster-produce-policy-encrypt summary: Update Produce Policy for Virtual Cluster description: Updates an existing produce policy associated with the specified Event Gateway virtual cluster. requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayEncryptPolicy' responses: '200': description: Updated produce policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Produce Policies delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicyEncrypt#delete terraform-datasource: null operationId: delete-event-gateway-virtual-cluster-produce-policy-encrypt summary: Delete Produce Policy for Virtual Cluster description: Deletes a specific produce policy associated with the Event Gateway virtual cluster. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Produce Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' - name: policyId in: path description: The UUID of the policy. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/produce-policies/{policyId}#EncryptFields': get: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicyEncryptFields#read terraform-datasource: null operationId: get-event-gateway-virtual-cluster-produce-policy-encrypt-fields summary: Get a Produce Policy for Virtual Cluster description: Returns information about a specific produce policy associated with the Event Gateway virtual cluster. responses: '200': description: A single produce policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Produce Policies put: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicyEncryptFields#update terraform-datasource: null operationId: update-event-gateway-virtual-cluster-produce-policy-encrypt-fields summary: Update Produce Policy for Virtual Cluster description: Updates an existing produce policy associated with the specified Event Gateway virtual cluster. requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayParsedRecordEncryptFieldsPolicy' responses: '200': description: Updated produce policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Produce Policies delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicyEncryptFields#delete terraform-datasource: null operationId: delete-event-gateway-virtual-cluster-produce-policy-encrypt-fields summary: Delete Produce Policy for Virtual Cluster description: Deletes a specific produce policy associated with the Event Gateway virtual cluster. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Produce Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' - name: policyId in: path description: The UUID of the policy. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/produce-policies#ModifyHeaders': post: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicyModifyHeaders#create terraform-datasource: null operationId: create-event-gateway-virtual-cluster-produce-policy-modify-headers summary: Create Produce Policy for Virtual Cluster description: Creates a new produce policy associated with the specified Event Gateway virtual cluster. parameters: - $ref: '#/components/parameters/EventGatewayPolicyBefore' - $ref: '#/components/parameters/EventGatewayPolicyAfter' requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayModifyHeadersPolicyCreate' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Produce Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/produce-policies#SchemaValidation': post: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicySchemaValidation#create terraform-datasource: null operationId: create-event-gateway-virtual-cluster-produce-policy-schema-validation summary: Create Produce Policy for Virtual Cluster description: Creates a new produce policy associated with the specified Event Gateway virtual cluster. parameters: - $ref: '#/components/parameters/EventGatewayPolicyBefore' - $ref: '#/components/parameters/EventGatewayPolicyAfter' requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayProduceSchemaValidationPolicy' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayProducePolicySchemaValidationTFOnly' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Produce Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/produce-policies#Encrypt': post: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicyEncrypt#create terraform-datasource: null operationId: create-event-gateway-virtual-cluster-produce-policy-encrypt summary: Create Produce Policy for Virtual Cluster description: Creates a new produce policy associated with the specified Event Gateway virtual cluster. parameters: - $ref: '#/components/parameters/EventGatewayPolicyBefore' - $ref: '#/components/parameters/EventGatewayPolicyAfter' requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayEncryptPolicy' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Produce Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/produce-policies#EncryptFields': post: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicyEncryptFields#create terraform-datasource: null operationId: create-event-gateway-virtual-cluster-produce-policy-encrypt-fields summary: Create Produce Policy for Virtual Cluster description: Creates a new produce policy associated with the specified Event Gateway virtual cluster. parameters: - $ref: '#/components/parameters/EventGatewayPolicyBefore' - $ref: '#/components/parameters/EventGatewayPolicyAfter' requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayParsedRecordEncryptFieldsPolicyCreate' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Produce Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/cluster-policies/{policyId}#Acls': get: x-speakeasy-entity-operation: terraform-resource: EventGatewayClusterPolicyAcls#read terraform-datasource: null operationId: get-event-gateway-virtual-cluster-cluster-level-policy-acls summary: Get a Cluster Policy for Virtual Cluster description: Returns information about a specific cluster-level policy associated with the Event Gateway virtual cluster. responses: '200': description: A single cluster-level policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Policies put: x-speakeasy-entity-operation: terraform-resource: EventGatewayClusterPolicyAcls#update terraform-datasource: null operationId: update-event-gateway-virtual-cluster-cluster-level-policy-acls summary: Update Cluster Policy for Virtual Cluster description: Updates an existing cluster-level policy associated with the specified Event Gateway virtual cluster. requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayACLsPolicy' responses: '200': description: Updated cluster-level policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Policies delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayClusterPolicyAcls#delete terraform-datasource: null operationId: delete-event-gateway-virtual-cluster-cluster-level-policy-acls summary: Delete Cluster Policy for Virtual Cluster description: Deletes a specific cluster-level policy associated with the Event Gateway virtual cluster. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' - name: policyId in: path description: The UUID of the policy. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/cluster-policies#Acls': post: x-speakeasy-entity-operation: terraform-resource: EventGatewayClusterPolicyAcls#create terraform-datasource: null operationId: create-event-gateway-virtual-cluster-cluster-level-policy-acls summary: Create Cluster Policy for Virtual Cluster description: Creates a new cluster-level policy associated with the specified Event Gateway virtual cluster. parameters: - $ref: '#/components/parameters/EventGatewayPolicyBefore' - $ref: '#/components/parameters/EventGatewayPolicyAfter' requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayACLsPolicy' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' /v2/cloud-gateways/add-ons: post: x-speakeasy-entity-operation: terraform-resource: CloudGatewayAddon#create operationId: create-add-on summary: Create Add-On description: | Creates a new add-on for a control plane or control plane group. The add-on type is determined by the `config.kind` field — currently only `managed-cache.v0` is supported, which provisions a Redis-compatible cache co-located with your data planes. After it's created, the add-on transitions through `initializing → ready` as it deploys across data plane groups. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAddOnRequest' responses: '201': $ref: '#/components/responses/CreateAddOnResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': description: Unauthorized content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/NotFoundError' '409': description: Conflict content: application/problem+json: schema: $ref: '#/components/schemas/ConflictError' servers: - url: 'https://global.api.konghq.com/' tags: - Add-Ons x-servers-added: true x-speakeasy-group: CloudGateways '/v2/cloud-gateways/add-ons/{addOnId}': get: x-speakeasy-entity-operation: terraform-resource: CloudGatewayAddon#read operationId: get-add-on summary: Get Add-On description: 'Retrieves a single add-on by ID, including its current lifecycle state and per data plane group deployment status.' parameters: - $ref: '#/components/parameters/AddOnId' responses: '200': $ref: '#/components/responses/RetrieveAddOnResponse' '401': description: Unauthorized content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/NotFoundError' servers: - url: 'https://global.api.konghq.com/' tags: - Add-Ons x-servers-added: true x-speakeasy-group: CloudGateways delete: x-speakeasy-entity-operation: terraform-resource: CloudGatewayAddon#delete terraform-datasource: null operationId: delete-add-on summary: Delete Add-On description: | Deletes an add-on by ID. The request is rejected if any Kong plugins are still referencing the managed cache add-on — remove those plugin references before deleting. parameters: - $ref: '#/components/parameters/AddOnId' responses: '204': description: No Content '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': description: Unauthorized content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/NotFoundError' servers: - url: 'https://global.api.konghq.com/' tags: - Add-Ons x-servers-added: true x-speakeasy-group: CloudGateways patch: x-speakeasy-entity-operation: terraform-resource: CloudGatewayAddon#update terraform-datasource: null operationId: update-add-on summary: Update Add-On description: | Updates the configuration of an existing add-on, such as changing the managed cache capacity tier. Tier upgrades are supported; downgrades are not. parameters: - $ref: '#/components/parameters/AddOnId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateAddOnRequest' responses: '200': $ref: '#/components/responses/UpdateAddOnResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': description: Unauthorized content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/NotFoundError' servers: - url: 'https://global.api.konghq.com/' tags: - Add-Ons x-servers-added: true x-speakeasy-group: CloudGateways /v2/directories: post: x-speakeasy-entity-operation: terraform-resource: IdentityDirectory#create terraform-datasource: null operationId: createDirectory summary: Create a new Directory description: | Creates a new directory for grouping principals around an organizational identity boundary. Directories can be configured with metadata, labels, and control plane access restrictions. requestBody: $ref: '#/components/requestBodies/CreateDirectoryRequest' responses: '201': $ref: '#/components/responses/KongDirectoryResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' servers: - url: 'https://us.api.konghq.com/' tags: - Kong Identity Directories x-servers-added: true '/v2/directories/{directoryId}': parameters: - $ref: '#/components/parameters/directoryId' put: x-speakeasy-entity-operation: terraform-resource: IdentityDirectory#update terraform-datasource: null operationId: replaceDirectory summary: Replace a Directory description: | Completely replaces an existing directory with the provided data. All fields must be specified; any omitted fields will be reset to their defaults. requestBody: $ref: '#/components/requestBodies/ReplaceDirectoryRequest' responses: '200': $ref: '#/components/responses/KongDirectoryResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' servers: - url: 'https://us.api.konghq.com/' tags: - Kong Identity Directories x-servers-added: true get: x-speakeasy-entity-operation: terraform-resource: IdentityDirectory#read terraform-datasource: null operationId: getDirectory summary: Get a Directory description: Retrieves detailed information about a specific directory by its ID. responses: '200': $ref: '#/components/responses/KongDirectoryResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' servers: - url: 'https://us.api.konghq.com/' tags: - Kong Identity Directories x-servers-added: true delete: x-speakeasy-entity-operation: terraform-resource: IdentityDirectory#delete terraform-datasource: null operationId: deleteDirectory summary: Delete a Directory description: | Deletes a directory and optionally all its associated resources (principals, keys, etc.). Use the force parameter to control deletion behavior when dependencies exist. parameters: - name: force in: query description: 'If true, delete the specified directory and all its associated resources. If false, only allow deletion if no clients, scopes or claims are associated with the auth server.' schema: type: string default: 'false' enum: - 'true' - 'false' x-speakeasy-name-override: force_destroy responses: '204': description: Success '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' servers: - url: 'https://us.api.konghq.com/' tags: - Kong Identity Directories x-servers-added: true /v1/ai-gateways: post: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGateway#create terraform-datasource: null operationId: create-ai-gateway summary: Create an AI Gateway description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Creates a new AI Gateway in the organization. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAIGatewayRequest' responses: '201': $ref: '#/components/responses/CreateAIGatewayResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateways '/v1/ai-gateways/{gatewayId}': parameters: - $ref: '#/components/parameters/AIGatewayIdMatchingParam' get: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGateway#read terraform-datasource: null operationId: get-ai-gateway summary: Get an AI Gateway description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Returns the details of a specific AI Gateway. responses: '200': $ref: '#/components/responses/GetAIGatewayResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateways put: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGateway#update terraform-datasource: null operationId: update-ai-gateway summary: Update an AI Gateway description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Updates the configuration of an existing AI Gateway. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateAIGatewayRequest' responses: '200': $ref: '#/components/responses/UpdateAIGatewayResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateways delete: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGateway#delete terraform-datasource: null operationId: delete-ai-gateway summary: Delete an AI Gateway description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Deletes an existing AI Gateway. responses: '204': description: AI Gateway deleted successfully. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateways '/v1/ai-gateways/{gatewayId}/data-plane-certificates': parameters: - $ref: '#/components/parameters/AIGatewayId' post: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayDataPlaneCertificate#create terraform-datasource: null operationId: create-ai-gateway-data-plane-certificate summary: Create New AI Gateway DataPlane Certificate description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Create a new DataPlane Certificate for this AI Gateway. A DataPlane certificate allows DataPlanes configured with the certificate and corresponding private key to establish connection with this AI Gateway. requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateAIGatewayDataPlaneCertificateRequest' responses: '201': $ref: '#/components/responses/CreateAIGatewayDataPlaneCertificateResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway DataPlane Certificates '/v1/ai-gateways/{gatewayId}/data-plane-certificates/{certificateId}': parameters: - $ref: '#/components/parameters/AIGatewayId' - $ref: '#/components/parameters/AIGatewayDataPlaneCertificateIdMatchingParam' get: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayDataPlaneCertificate#read terraform-datasource: null operationId: get-ai-gateway-data-plane-certificate summary: Get a DataPlane Certificate description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Retrieve a DataPlane certificate associated to this AI Gateway. A DataPlane certificate allows DataPlanes configured with the certificate and corresponding private key to establish connection with this AI Gateway. responses: '200': $ref: '#/components/responses/GetAIGatewayDataPlaneCertificateResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway DataPlane Certificates delete: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayDataPlaneCertificate#delete terraform-datasource: null operationId: delete-ai-gateway-data-plane-certificate summary: Delete AI Gateway DataPlane Certificate description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Remove a DataPlane client certificate associated to this AI Gateway. Removing a DataPlane certificate would invalidate any DataPlanes currently connected to this AI Gateway using this certificate. 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' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway DataPlane Certificates '/v1/ai-gateways/{gatewayId}/vaults': parameters: - $ref: '#/components/parameters/AIGatewayId' post: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayVault#create terraform-datasource: null operationId: create-ai-gateway-vault summary: Create an AI Gateway Vault description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Registers a new vault for the AI Gateway. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAIGatewayVaultRequest' responses: '201': $ref: '#/components/responses/CreateAIGatewayVaultResponse' '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' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Vaults '/v1/ai-gateways/{gatewayId}/vaults/{vaultIdOrName}': parameters: - $ref: '#/components/parameters/AIGatewayId' - $ref: '#/components/parameters/AIGatewayVaultIdMatchingParam' get: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayVault#read terraform-datasource: null operationId: get-ai-gateway-vault summary: Get an AI Gateway Vault description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Returns the details of a specific AI Gateway vault. responses: '200': $ref: '#/components/responses/GetAIGatewayVaultResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Vaults put: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayVault#update terraform-datasource: null operationId: update-ai-gateway-vault summary: Update an AI Gateway Vault description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Updates the configuration of an existing AI Gateway vault. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateAIGatewayVaultRequest' responses: '200': $ref: '#/components/responses/UpdateAIGatewayVaultResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Vaults delete: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayVault#delete terraform-datasource: null operationId: delete-ai-gateway-vault summary: Delete an AI Gateway Vault description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Removes a specific AI Gateway vault. responses: '204': description: Vault deleted successfully. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Vaults '/v1/ai-gateways/{gatewayId}/policies': parameters: - $ref: '#/components/parameters/AIGatewayId' post: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayPolicy#create terraform-datasource: null operationId: create-ai-gateway-policy summary: Create an AI Gateway Policy description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Registers a new policy for the AI Gateway. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAIGatewayPolicyRequest' responses: '201': $ref: '#/components/responses/CreateAIGatewayPolicyResponse' '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' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Policies '/v1/ai-gateways/{gatewayId}/policies/{policyIdOrName}': parameters: - $ref: '#/components/parameters/AIGatewayId' - $ref: '#/components/parameters/AIGatewayPolicyIdMatchingParam' get: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayPolicy#read terraform-datasource: null operationId: get-ai-gateway-policy summary: Get an AI Gateway Policy description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Returns the details of a specific AI Gateway policy. responses: '200': $ref: '#/components/responses/GetAIGatewayPolicyResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Policies put: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayPolicy#update terraform-datasource: null operationId: update-ai-gateway-policy summary: Update an AI Gateway Policy description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Updates the configuration of an existing AI Gateway policy. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateAIGatewayPolicyRequest' responses: '200': $ref: '#/components/responses/UpdateAIGatewayPolicyResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Policies delete: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayPolicy#delete terraform-datasource: null operationId: delete-ai-gateway-policy summary: Delete an AI Gateway Policy description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Removes a specific AI Gateway policy. responses: '204': description: Policy deleted successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Policies '/v1/ai-gateways/{gatewayId}/models': parameters: - $ref: '#/components/parameters/AIGatewayId' post: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayModel#create terraform-datasource: null operationId: create-ai-gateway-model summary: Create an AI Gateway Model description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Registers a new model with routing, capabilities, and target backends. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAIGatewayModelRequest' responses: '201': $ref: '#/components/responses/CreateAIGatewayModelResponse' '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' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Models '/v1/ai-gateways/{gatewayId}/models/{modelIdOrName}': parameters: - $ref: '#/components/parameters/AIGatewayId' - $ref: '#/components/parameters/AIGatewayModelIdMatchingParam' get: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayModel#read terraform-datasource: null operationId: get-ai-gateway-model summary: Get an AI Gateway Model description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Returns the details of a specific AI Gateway model. responses: '200': $ref: '#/components/responses/GetAIGatewayModelResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Models put: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayModel#update terraform-datasource: null operationId: update-ai-gateway-model summary: Update an AI Gateway Model description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Updates the configuration of an existing AI Gateway model. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateAIGatewayModelRequest' responses: '200': $ref: '#/components/responses/UpdateAIGatewayModelResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Models delete: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayModel#delete terraform-datasource: null operationId: delete-ai-gateway-model summary: Delete an AI Gateway Model description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Removes a specific AI Gateway model. responses: '204': description: Model deleted successfully. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Models '/v1/ai-gateways/{gatewayId}/agents': parameters: - $ref: '#/components/parameters/AIGatewayId' post: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayAgent#create terraform-datasource: null operationId: create-ai-gateway-agent summary: Create an AI Gateway Agent description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Creates a new agent for the AI Gateway. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAIGatewayAgentRequest' responses: '201': $ref: '#/components/responses/CreateAIGatewayAgentResponse' '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' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Agents '/v1/ai-gateways/{gatewayId}/agents/{agentIdOrName}': parameters: - $ref: '#/components/parameters/AIGatewayId' - $ref: '#/components/parameters/AIGatewayAgentIdMatchingParam' get: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayAgent#read terraform-datasource: null operationId: get-ai-gateway-agent summary: Get an AI Gateway Agent description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Returns the details of a specific AI Gateway agent. responses: '200': $ref: '#/components/responses/GetAIGatewayAgentResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Agents put: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayAgent#update terraform-datasource: null operationId: update-ai-gateway-agent summary: Update an AI Gateway Agent description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Updates the configuration of an existing AI Gateway agent. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateAIGatewayAgentRequest' responses: '200': $ref: '#/components/responses/UpdateAIGatewayAgentResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Agents delete: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayAgent#delete terraform-datasource: null operationId: delete-ai-gateway-agent summary: Delete an AI Gateway Agent description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Removes a specific AI Gateway agent. responses: '204': description: Agent deleted successfully. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Agents '/v1/ai-gateways/{gatewayId}/consumers': parameters: - $ref: '#/components/parameters/AIGatewayId' post: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayConsumer#create terraform-datasource: null operationId: create-ai-gateway-consumer summary: Create an AI Gateway Consumer description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Creates a new consumer for the AI Gateway. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAIGatewayConsumerRequest' responses: '201': $ref: '#/components/responses/CreateAIGatewayConsumerResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Consumers '/v1/ai-gateways/{gatewayId}/consumers/{consumerIdOrName}': parameters: - $ref: '#/components/parameters/AIGatewayId' - $ref: '#/components/parameters/AIGatewayConsumerIdMatchingParam' get: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayConsumer#read terraform-datasource: null operationId: get-ai-gateway-consumer summary: Get an AI Gateway Consumer description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Returns the details of a specific AI Gateway consumer. responses: '200': $ref: '#/components/responses/GetAIGatewayConsumerResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Consumers put: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayConsumer#update terraform-datasource: null operationId: update-ai-gateway-consumer summary: Update an AI Gateway Consumer description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Updates the configuration of an existing AI Gateway consumer. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateAIGatewayConsumerRequest' responses: '200': $ref: '#/components/responses/UpdateAIGatewayConsumerResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Consumers delete: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayConsumer#delete terraform-datasource: null operationId: delete-ai-gateway-consumer summary: Delete an AI Gateway Consumer description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Removes a specific AI Gateway consumer. responses: '204': description: Consumer deleted successfully. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Consumers '/v1/ai-gateways/{gatewayId}/consumers/{consumerId}/credentials': parameters: - $ref: '#/components/parameters/AIGatewayId' - $ref: '#/components/parameters/AIGatewayConsumerId' post: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayConsumerCredential#create terraform-datasource: null operationId: create-ai-gateway-consumer-credential summary: Create an AI Gateway Consumer Credential description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Creates a new credential for an AI Gateway consumer. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAIGatewayConsumerCredentialRequest' responses: '201': $ref: '#/components/responses/CreateAIGatewayConsumerCredentialResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Consumers '/v1/ai-gateways/{gatewayId}/consumers/{consumerId}/credentials/{credentialId}': parameters: - $ref: '#/components/parameters/AIGatewayId' - $ref: '#/components/parameters/AIGatewayConsumerId' - $ref: '#/components/parameters/AIGatewayConsumerCredentialIdMatchingParam' get: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayConsumerCredential#read terraform-datasource: null operationId: get-ai-gateway-consumer-credential summary: Get an AI Gateway Consumer Credential description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Returns the details of a specific credential for an AI Gateway consumer. responses: '200': $ref: '#/components/responses/GetAIGatewayConsumerCredentialResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Consumers delete: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayConsumerCredential#delete terraform-datasource: null operationId: delete-ai-gateway-consumer-credential summary: Delete an AI Gateway Consumer Credential description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Removes a specific credential for an AI Gateway consumer. responses: '204': description: Credential deleted successfully. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Consumers '/v1/ai-gateways/{gatewayId}/consumer-groups': parameters: - $ref: '#/components/parameters/AIGatewayId' post: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayConsumerGroup#create terraform-datasource: null operationId: create-ai-gateway-consumer-group summary: Create an AI Gateway Consumer Group description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Creates a new Consumer Group for the AI Gateway. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAIGatewayConsumerGroupRequest' responses: '201': $ref: '#/components/responses/CreateAIGatewayConsumerGroupResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Consumer Groups '/v1/ai-gateways/{gatewayId}/consumer-groups/{consumerGroupIdOrName}': parameters: - $ref: '#/components/parameters/AIGatewayId' - $ref: '#/components/parameters/AIGatewayConsumerGroupIdMatchingParam' get: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayConsumerGroup#read terraform-datasource: null operationId: get-ai-gateway-consumer-group summary: Get an AI Gateway Consumer Group description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Returns the details of a specific AI Gateway Consumer Group. responses: '200': $ref: '#/components/responses/GetAIGatewayConsumerGroupResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Consumer Groups put: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayConsumerGroup#update terraform-datasource: null operationId: update-ai-gateway-consumer-group summary: Update an AI Gateway Consumer Group description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Updates the configuration of an existing AI Gateway Consumer Group. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateAIGatewayConsumerGroupRequest' responses: '200': $ref: '#/components/responses/UpdateAIGatewayConsumerGroupResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Consumer Groups delete: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayConsumerGroup#delete terraform-datasource: null operationId: delete-ai-gateway-consumer-group summary: Delete an AI Gateway Consumer Group description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Removes a specific AI Gateway Consumer Group. responses: '204': description: Consumer Group deleted successfully. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Consumer Groups '/v1/ai-gateways/{gatewayId}/consumer-groups/{consumerGroupId}/consumers': parameters: - $ref: '#/components/parameters/AIGatewayId' - $ref: '#/components/parameters/AIGatewayConsumerGroupId' post: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayConsumerGroupMember#create terraform-datasource: null operationId: add-ai-gateway-consumer-to-consumer-group summary: Add a Consumer to a Consumer Group description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Add a consumer to an AI Gateway Consumer Group. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AddAIGatewayConsumerToGroupRequest' responses: '201': $ref: '#/components/responses/AddAIGatewayConsumerToGroupResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Consumer Groups '/v1/ai-gateways/{gatewayId}/consumer-groups/{consumerGroupId}/consumers/{consumerIdOrName}': parameters: - $ref: '#/components/parameters/AIGatewayId' - $ref: '#/components/parameters/AIGatewayConsumerGroupId' - $ref: '#/components/parameters/AIGatewayConsumerGroupMemberIdParam' delete: x-unstable: true x-speakeasy-entity-operation: AIGatewayConsumerGroupMember#delete operationId: remove-ai-gateway-consumer-from-consumer-group summary: Remove a Consumer from a Consumer Group description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Remove a consumer from an AI Gateway Consumer Group. responses: '204': description: Consumer removed from group successfully. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Consumer Groups '/v1/ai-gateways/{gatewayId}/mcp-servers': parameters: - $ref: '#/components/parameters/AIGatewayId' post: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayMCPServer#create terraform-datasource: null operationId: create-ai-gateway-mcp-server summary: Create an MCP Server description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Registers a new MCP Server for the AI Gateway. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAIGatewayMCPServerRequest' responses: '201': $ref: '#/components/responses/CreateAIGatewayMCPServerResponse' '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' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway MCP Servers '/v1/ai-gateways/{gatewayId}/mcp-servers/{mcpServerIdOrName}': parameters: - $ref: '#/components/parameters/AIGatewayId' - $ref: '#/components/parameters/AIGatewayMcpServerIdMatchingParam' get: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayMCPServer#read terraform-datasource: null operationId: get-ai-gateway-mcp-server summary: Get an MCP Server description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Returns the details of a specific MCP Server. responses: '200': $ref: '#/components/responses/GetMCPServerResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway MCP Servers put: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayMCPServer#update terraform-datasource: null operationId: update-ai-gateway-mcp-server summary: Update an MCP Server description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Updates the configuration of an existing MCP Server. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateAIGatewayMCPServerRequest' responses: '200': $ref: '#/components/responses/UpdateAIGatewayMCPServerResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway MCP Servers delete: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayMCPServer#delete terraform-datasource: null operationId: delete-ai-gateway-mcp-server summary: Delete an MCP Server description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Removes a specific MCP Server from the AI Gateway. responses: '204': description: MCP Server deleted successfully. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway MCP Servers '/v1/ai-gateways/{gatewayId}/model-providers': parameters: - $ref: '#/components/parameters/AIGatewayId' post: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayModelProvider#create terraform-datasource: null operationId: create-ai-gateway-model-provider summary: Create an AI Gateway Model Provider description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Registers a new model provider for the AI Gateway. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAIGatewayModelProviderRequest' responses: '201': $ref: '#/components/responses/CreateAIGatewayModelProviderResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Model Providers '/v1/ai-gateways/{gatewayId}/model-providers/{modelProviderIdOrName}': parameters: - $ref: '#/components/parameters/AIGatewayId' - $ref: '#/components/parameters/AIGatewayModelProviderIdMatchingParam' get: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayModelProvider#read terraform-datasource: null operationId: get-ai-gateway-model-provider summary: Get an AI Gateway Model Provider description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Returns the details of a specific AI Gateway model provider. responses: '200': $ref: '#/components/responses/GetAIGatewayModelProviderResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Model Providers put: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayModelProvider#update terraform-datasource: null operationId: update-ai-gateway-model-provider summary: Update an AI Gateway Model Provider description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Updates the configuration of an existing AI Gateway model provider. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateAIGatewayModelProviderRequest' responses: '200': $ref: '#/components/responses/UpdateAIGatewayModelProviderResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Model Providers delete: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayModelProvider#delete terraform-datasource: null operationId: delete-ai-gateway-model-provider summary: Delete an AI Gateway Model Provider description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Removes a specific AI Gateway model provider. responses: '204': description: Model provider deleted successfully. '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' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Model Providers '/v1/ai-gateways/{gatewayId}/identity': parameters: - $ref: '#/components/parameters/AIGatewayId' post: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayIdentityProvider#create terraform-datasource: null operationId: create-ai-gateway-identity-provider summary: Create an AI Gateway Identity Provider description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Registers a new identity provider for the AI Gateway. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAIGatewayIdentityProviderRequest' responses: '201': $ref: '#/components/responses/CreateAIGatewayIdentityProviderResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Identity Providers '/v1/ai-gateways/{gatewayId}/identity/{identityProviderIdOrName}': parameters: - $ref: '#/components/parameters/AIGatewayId' - $ref: '#/components/parameters/AIGatewayIdentityProviderIdMatchingParam' get: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayIdentityProvider#read terraform-datasource: null operationId: get-ai-gateway-identity-provider summary: Get an AI Gateway Identity Provider description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Returns the details of a specific AI Gateway identity provider. responses: '200': $ref: '#/components/responses/GetAIGatewayIdentityProviderResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Identity Providers put: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayIdentityProvider#update terraform-datasource: null operationId: update-ai-gateway-identity-provider summary: Update an AI Gateway Identity Provider description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Updates the configuration of an existing AI Gateway Identity provider. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateAIGatewayIdentityProviderRequest' responses: '200': $ref: '#/components/responses/UpdateAIGatewayIdentityProviderResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Identity Providers delete: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayIdentityProvider#delete terraform-datasource: null operationId: delete-ai-gateway-identity-provider summary: Delete an AI Gateway Identity Provider description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Removes a specific AI Gateway Identity provider. responses: '204': description: Identity provider deleted successfully. '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' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Identity Providers '/v1/ai-gateways/{gatewayId}/config-stores': parameters: - $ref: '#/components/parameters/AIGatewayId' post: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayConfigStore#create terraform-datasource: null operationId: create-ai-gateway-config-store summary: Create an AI Gateway Config Store description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Creates a new Config Store for the AI Gateway. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAIGatewayConfigStoreRequest' responses: '201': $ref: '#/components/responses/CreateAIGatewayConfigStoreResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Config Stores '/v1/ai-gateways/{gatewayId}/config-stores/{configStoreIdOrName}': parameters: - $ref: '#/components/parameters/AIGatewayId' - $ref: '#/components/parameters/AIGatewayConfigStoreIdMatchingParam' get: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayConfigStore#read terraform-datasource: null operationId: get-ai-gateway-config-store summary: Get an AI Gateway Config Store description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Returns the details of a specific AI Gateway Config Store. responses: '200': $ref: '#/components/responses/GetAIGatewayConfigStoreResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Config Stores put: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayConfigStore#update terraform-datasource: null operationId: update-ai-gateway-config-store summary: Update an AI Gateway Config Store description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Updates the configuration of an existing AI Gateway Config Store. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateAIGatewayConfigStoreRequest' responses: '200': $ref: '#/components/responses/UpdateAIGatewayConfigStoreResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Config Stores delete: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayConfigStore#delete terraform-datasource: null operationId: delete-ai-gateway-config-store summary: Delete an AI Gateway Config Store description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Removes a specific AI Gateway Config Store. parameters: - name: force in: query description: 'If true, delete the Config Store and all its secrets. If false, deletion is rejected when secrets are still linked to the Config Store.' schema: type: boolean default: false responses: '204': description: Config Store deleted successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Config Stores '/v1/ai-gateways/{gatewayId}/config-stores/{configStoreIdOrName}/secrets': parameters: - $ref: '#/components/parameters/AIGatewayId' - $ref: '#/components/parameters/AIGatewayConfigStoreIdParam' post: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayConfigStoreSecret#create terraform-datasource: null operationId: create-ai-gateway-config-store-secret summary: Create an AI Gateway Config Store Secret description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Creates a secret for an AI Gateway Config Store. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAIGatewayConfigStoreSecretRequest' responses: '201': $ref: '#/components/responses/CreateAIGatewayConfigStoreSecretResponse' '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' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Config Stores '/v1/ai-gateways/{gatewayId}/config-stores/{configStoreIdOrName}/secrets/{key}': parameters: - $ref: '#/components/parameters/AIGatewayId' - $ref: '#/components/parameters/AIGatewayConfigStoreIdParam' - name: key in: path description: Config Store Secret key. required: true schema: $ref: '#/components/schemas/AIGatewayConfigStoreSecretKey' get: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayConfigStoreSecret#read terraform-datasource: null operationId: get-ai-gateway-config-store-secret summary: Get an AI Gateway Config Store Secret description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Returns the secret entity for the Config Store. Secret values once stored cannot be retrieved. responses: '200': $ref: '#/components/responses/GetAIGatewayConfigStoreSecretResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Config Stores put: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayConfigStoreSecret#update terraform-datasource: null operationId: update-ai-gateway-config-store-secret summary: Update an AI Gateway Config Store Secret description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Updates a secret for an AI Gateway Config Store. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateAIGatewayConfigStoreSecretRequest' responses: '200': $ref: '#/components/responses/UpdateAIGatewayConfigStoreSecretResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Config Stores delete: x-unstable: true x-speakeasy-entity-operation: terraform-resource: AIGatewayConfigStoreSecret#delete terraform-datasource: null operationId: delete-ai-gateway-config-store-secret summary: Delete an AI Gateway Config Store Secret description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Removes a secret from an AI Gateway Config Store. responses: '204': description: Config Store Secret deleted successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' tags: - AI Gateway Config Stores components: parameters: AddOnId: name: addOnId description: ID of the add-on to operate on. required: true in: path schema: $ref: '#/components/schemas/AddOnId' x-speakeasy-match: id AIGatewayAgentIdMatchingParam: name: agentIdOrName in: path required: true description: The unique ID of the AI Gateway agent. example: bf138ba2-c9b1-4229-b268-04d9d8a6410b x-speakeasy-name-override: agentId x-speakeasy-match: id schema: $ref: '#/components/schemas/UUID' AIGatewayConfigStoreIdMatchingParam: name: configStoreIdOrName in: path required: true description: The unique ID of the AI Gateway Config Store. example: bf138ba2-c9b1-4229-b268-04d9d8a6410b x-speakeasy-name-override: configStoreId x-speakeasy-match: id schema: $ref: '#/components/schemas/UUID' AIGatewayConfigStoreIdParam: name: configStoreIdOrName in: path required: true description: The unique ID of the AI Gateway Config Store. example: bf138ba2-c9b1-4229-b268-04d9d8a6410b x-speakeasy-name-override: configStoreId schema: $ref: '#/components/schemas/UUID' AIGatewayConsumerCredentialIdMatchingParam: name: credentialId in: path required: true description: The unique ID of the AI Gateway consumer credential. example: bf138ba2-c9b1-4229-b268-04d9d8a6410b x-speakeasy-match: id schema: $ref: '#/components/schemas/UUID' AIGatewayConsumerGroupId: name: consumerGroupId in: path required: true description: The unique ID of the AI Gateway Consumer Group. example: bf138ba2-c9b1-4229-b268-04d9d8a6410b schema: $ref: '#/components/schemas/UUID' AIGatewayConsumerGroupIdMatchingParam: name: consumerGroupIdOrName in: path required: true description: The unique ID of the AI Gateway Consumer Group. example: bf138ba2-c9b1-4229-b268-04d9d8a6410b x-speakeasy-name-override: consumerGroupId x-speakeasy-match: id schema: $ref: '#/components/schemas/UUID' AIGatewayConsumerGroupMemberIdParam: name: consumerIdOrName in: path required: true description: The unique ID of the AI Gateway consumer. example: bf138ba2-c9b1-4229-b268-04d9d8a6410b x-speakeasy-name-override: consumerId schema: $ref: '#/components/schemas/UUID' AIGatewayConsumerId: name: consumerId in: path required: true description: The unique ID of the AI Gateway consumer. example: bf138ba2-c9b1-4229-b268-04d9d8a6410b schema: $ref: '#/components/schemas/UUID' AIGatewayConsumerIdMatchingParam: name: consumerIdOrName in: path required: true description: The unique ID of the AI Gateway consumer. example: bf138ba2-c9b1-4229-b268-04d9d8a6410b x-speakeasy-name-override: consumerId x-speakeasy-match: id schema: $ref: '#/components/schemas/UUID' AIGatewayDataPlaneCertificateIdMatchingParam: name: certificateId in: path required: true description: The unique ID of the DataPlane Certificate. example: bf138ba2-c9b1-4229-b268-04d9d8a6410b x-speakeasy-match: id schema: $ref: '#/components/schemas/UUID' AIGatewayId: name: gatewayId in: path required: true description: The unique ID of the AI Gateway. example: bf138ba2-c9b1-4229-b268-04d9d8a6410b schema: $ref: '#/components/schemas/UUID' AIGatewayIdentityProviderIdMatchingParam: name: identityProviderIdOrName in: path required: true description: The unique ID of the AI Gateway Identity provider. example: bf138ba2-c9b1-4229-b268-04d9d8a6410b x-speakeasy-name-override: identityProviderId x-speakeasy-match: id schema: $ref: '#/components/schemas/UUID' AIGatewayIdMatchingParam: name: gatewayId in: path required: true description: The unique ID of the AI Gateway. example: bf138ba2-c9b1-4229-b268-04d9d8a6410b x-speakeasy-match: id schema: $ref: '#/components/schemas/UUID' AIGatewayMcpServerIdMatchingParam: name: mcpServerIdOrName in: path required: true description: The unique ID of the MCP Server. example: bf138ba2-c9b1-4229-b268-04d9d8a6410b x-speakeasy-name-override: mcpServerId x-speakeasy-match: id schema: $ref: '#/components/schemas/UUID' AIGatewayModelIdMatchingParam: name: modelIdOrName in: path required: true description: The unique ID of the AI Gateway model. example: bf138ba2-c9b1-4229-b268-04d9d8a6410b x-speakeasy-name-override: modelId x-speakeasy-match: id schema: $ref: '#/components/schemas/UUID' AIGatewayModelProviderIdMatchingParam: name: modelProviderIdOrName in: path required: true description: The unique ID of the AI Gateway model provider. example: bf138ba2-c9b1-4229-b268-04d9d8a6410b x-speakeasy-name-override: modelProviderId x-speakeasy-match: id schema: $ref: '#/components/schemas/UUID' AIGatewayPolicyIdMatchingParam: name: policyIdOrName in: path required: true description: The unique ID of the AI Gateway policy. example: bf138ba2-c9b1-4229-b268-04d9d8a6410b x-speakeasy-name-override: policyId x-speakeasy-match: id schema: $ref: '#/components/schemas/UUID' AIGatewayVaultIdMatchingParam: name: vaultIdOrName in: path required: true description: The unique ID of the AI Gateway Vault. example: bf138ba2-c9b1-4229-b268-04d9d8a6410b x-speakeasy-name-override: vaultId x-speakeasy-match: id schema: $ref: '#/components/schemas/UUID' ApiId: schema: type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 name: apiId in: path required: true description: The UUID API identifier ApplicationId: name: applicationId in: path required: true description: ID of the application. schema: type: string format: uuid ApplicationIdToMatchResourceID: name: applicationId in: path required: true description: ID of the application. schema: type: string format: uuid x-speakeasy-match: id authServerId: schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a name: authServerId in: path required: true description: The auth server ID x-speakeasy-match: id authServerIdForChildren: schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a name: authServerId in: path required: true description: The auth server ID x-speakeasy-name-override: auth_server_id claimId: schema: type: string format: uuid example: 07d05309-45cc-4b37-92fb-1524846deec3 name: claimId in: path required: true description: The claim ID x-speakeasy-match: id clientId: schema: $ref: '#/components/schemas/ClientId' name: clientId in: path required: true description: The OAuth 2.0 client ID x-speakeasy-match: id clientIdForChildren: schema: $ref: '#/components/schemas/ClientId' name: clientId in: path required: true description: The OAuth 2.0 client ID x-speakeasy-name-override: client_id clientSecretId: schema: type: string format: uuid example: 07d05309-45cc-4b37-92fb-1524846deec3 name: clientSecretId in: path required: true description: The client secret ID x-speakeasy-match: id cpId: name: cpId in: path required: true description: Id of the Konnect resource example: bf138ba2-c9b1-4229-b268-04d9d8a6410b x-speakeasy-param-force-new: true schema: type: string format: uuid DeveloperIdToMatchResourceID: name: developerId in: path required: true description: ID of the developer. schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a x-speakeasy-match: id directoryId: name: directoryId in: path required: true description: ID of the directory x-speakeasy-match: id schema: type: string format: uuid 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 eventGatewayListenerId: schema: type: string format: uuid name: eventGatewayListenerId in: path required: true description: The ID of the Event Gateway Listener. x-speakeasy-name-override: listenerId EventGatewayPolicyAfter: schema: type: string format: uuid in: query name: after x-speakeasy-terraform-ignore: true description: | Determines the id of the existing policy the new policy should be inserted after. Either 'before' or 'after' can be provided, when both are omitted the new policy is added to the end of the chain. When both are provided, the request fails with a 400 Bad Request. required: false EventGatewayPolicyBefore: schema: type: string format: uuid in: query name: before x-speakeasy-terraform-ignore: true description: | Determines the id of the existing policy the new policy should be inserted before. Either 'before' or 'after' can be provided, when both are omitted the new policy is added to the end of the chain. When both are provided, the request fails with a 400 Bad Request. required: false gatewayId: name: gatewayId in: path required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 description: The UUID of your Gateway. 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 MeshControlPlaneFilter: name: filter description: Filters a collection of control planes. required: false in: query schema: $ref: '#/components/schemas/MeshControlPlaneFilterParameters' style: deepObject 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 PageNumber: name: 'page[number]' description: Determines which page of the entities to retrieve. required: false in: query allowEmptyValue: true schema: type: integer example: 1 x-speakeasy-terraform-ignore: true 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: 100 x-speakeasy-terraform-ignore: true PortalId: schema: type: string format: uuid example: f32d905a-ed33-46a3-a093-d8f536af9a8a name: portalId in: path required: true description: The Portal identifier RegistrationIdToMatchResourceID: name: registrationId in: path required: true description: ID of the application registration. schema: type: string format: uuid x-speakeasy-match: id scopeId: schema: type: string format: uuid example: c5e12516-182c-4928-ae04-05374b3b1cca name: scopeId in: path required: true description: The scope ID 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 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 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 TeamId: schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a name: teamId in: path required: true description: ID of the team. 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 virtualClusterId: schema: type: string format: uuid name: virtualClusterId in: path required: true description: The ID of the Virtual Cluster. schemas: PortalImageDataUri: description: 'must be a data URL with base64 image data, e.g., data:image/jpeg;base64,' type: string format: uri example: 'data:image/png;base64,YW5faW1hZ2VfZmlsZQ==' pattern: '^data:image/(png|jpe?g|gif|svg+xml|x-icon|ico|icon|vnd.microsoft.icon)(;base64)?,(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$' title: PortalImageDataUri 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 properties: data: $ref: '#/components/schemas/PortalImageDataUri' example: data: 'data:image/jpeg;base64,bmljZV9sb29raW5nX3BpY3R1cmU=' default: null additionalProperties: false nullable: true required: - data title: ReplacePortalImageAsset x-speakeasy-param-computed: false CreateDeveloperRequest: description: Request body for creating a developer in a portal. type: object properties: email: type: string format: email maxLength: 255 full_name: type: string maxLength: 255 status: description: 'When omitted, the portal''s `auto_approve_developers` setting determines the initial status. Set this property to override the portal default with any valid developer status.' type: string example: approved enum: - approved - pending - revoked - rejected title: DeveloperStatus x-speakeasy-unknown-values: allow send_invitation_email: description: 'When true, sends an invitation email to the developer. Default is false; no emails are sent unless explicitly requested.' type: boolean default: false additional_data: description: 'Optional developer-supplied answers to the portal''s `developer_registration` form, supplied as a flat map keyed by field `name` (the field''s non-built-in slug). Values match each field''s input type. Built-in fields (`full_name`, `email`) come in via the top-level body properties — not here. Silently ignored when no developer registration form is active on the portal.' allOf: - $ref: '#/components/schemas/FormResponseInput' example: email: developer@example.com full_name: Developer Name additionalProperties: false required: - email - full_name title: CreateDeveloperRequest x-property-annotations: additional_data: - x-internal - x-unstable UpdateDeveloperRequest: type: object properties: status: $ref: '#/components/schemas/DeveloperStatus' example: status: approved additionalProperties: false title: UpdateDeveloperRequest PortalDeveloper: type: object 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' additional_data: description: 'Developer-supplied responses to the portal''s `developer_registration` form, captured at registration time. `null` when no responses were recorded (form not configured at registration time, or developer created via admin endpoint without `additional_data`). Keyed by field `name` (lowercase slug; letters, digits, underscores, or hyphens).' type: object allOf: - $ref: '#/components/schemas/FormResponseData' nullable: true readOnly: true x-speakeasy-param-suppress-computed-diff: true 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' additionalProperties: false required: - id - created_at - updated_at - email - full_name - status title: PortalDeveloper x-property-annotations: additional_data: - x-internal - x-unstable 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 example: approved enum: - approved - pending - revoked - rejected title: DeveloperStatus x-speakeasy-unknown-values: allow PageSlug: description: | The slug of a page in a portal, used to compute its full URL path within the portal hierarchy. When a page has a `parent_page_id`, its full path is built by joining the parent’s slug with its own. For example, if a parent page has the slug `slug1` and this page’s slug is `slug2`, the resulting path will be `/slug1/slug2`. This enables nested page structures like `/slug1/slug2/slug3`. type: string example: /my-page maxLength: 512 title: PageSlug ParentPageId: 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. type: string format: uuid example: null default: null nullable: true x-speakeasy-param-computed: false PageTitle: description: The title of a page in a portal. type: string example: My Page maxLength: 512 title: PageTitle PageContent: description: The renderable markdown content of a page in a portal. type: string example: '# Welcome to My Page' maxLength: 1000000 title: PageContent SnippetTitle: description: The display title of a snippet in a portal. type: string example: My Snippet maxLength: 512 title: SnippetTitle SnippetContent: description: The renderable markdown content of a page in a portal. type: string example: '# Welcome to My Snippet' maxLength: 1000000 title: SnippetContent VisibilityStatus: description: Whether the resource is publicly accessible to non-authenticated users. type: string example: public enum: - public - private title: VisibilityStatus x-speakeasy-unknown-values: allow PublishedStatus: description: Whether the resource is visible on a given portal. Defaults to unpublished. type: string example: published enum: - published - unpublished title: PublishedStatus x-speakeasy-unknown-values: allow Description: type: string example: A custom page about developer portals maxLength: 160 title: ResourceDescription 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 example: public enum: - public - private title: PageVisibilityStatus x-speakeasy-unknown-values: allow SnippetVisibilityStatus: 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 example: public enum: - public - private title: PageVisibilityStatus x-speakeasy-unknown-values: allow UpdatePortalPageRequest: description: Update a page in a portal. type: object 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' additionalProperties: false title: UpdatePortalPageRequest CreatePortalPageRequest: description: Create a page in a portal. type: object 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' additionalProperties: false required: - slug - content title: CreatePortalPageRequest PortalPageResponse: description: Details about a page in a portal. type: object 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' additionalProperties: false required: - id - slug - title - content - visibility - status - created_at - updated_at - parent_page_id title: PortalPageResponse PortalSnippetResponse: description: Details about a snippet in a portal. type: object 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' additionalProperties: false required: - id - name - content - visibility - status - created_at - updated_at title: PortalSnippetResponse UpdatePortalSnippetRequest: description: Update a snippet in a portal. type: object 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' additionalProperties: false title: UpdatePortalSnippetRequest CreatePortalSnippetRequest: description: Create a snippet in a portal. type: object 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' additionalProperties: false required: - name - content title: CreatePortalSnippetRequest CreateApplicationRequest: type: object properties: name: description: The name of the application. type: string maxLength: 255 description: description: A description of the application. type: string maxLength: 255 nullable: false labels: $ref: '#/components/schemas/LabelsUpdate' dcr_client_id: description: | If using a DCR auth strategy, set this property to link the portal application to an existing client from the DCR provider, instead of having Konnect create a new client. This allows importing existing clients from an Identity Provider into Konnect, allowing them to be controlled through DCR flows in the portal and use existing client secrets for API access. The value must be a valid client ID in the DCR provider associated with the auth strategy. For some DCR providers, if the client ID is invalid, the application may still be created but will not function properly. Note: For AzureAD auth strategies, the client ID must resolve to an accessible Microsoft Entra application using the configured DCR provider credentials. Otherwise, application creation fails. type: string maxLength: 255 nullable: false client_id: $ref: '#/components/schemas/ApplicationClientId' auth_strategy_id: description: The ID of the authentication strategy the application will use when making requests to registered APIs. type: string format: uuid nullable: false owner: $ref: '#/components/schemas/ApplicationOwner' example: name: Portal Application description: A portal application provisioned for a developer by a Portal Admin. labels: env: production auth_strategy_id: 3fa85f64-5717-4562-b3fc-2c963f66afa6 owner: id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 type: developer additionalProperties: false required: - name - owner title: CreateApplicationRequest UpdateApplicationRequest: type: object properties: owner: $ref: '#/components/schemas/ApplicationOwner' additionalProperties: false title: UpdateApplicationRequest GetApplicationResponse: $ref: '#/components/schemas/Application' GetApplicationRegistrationResponse: $ref: '#/components/schemas/ApplicationRegistration' UpdateApplicationRegistrationResponse: $ref: '#/components/schemas/ApplicationRegistration' Application: type: object 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 default: null nullable: true x-speakeasy-param-computed: false 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 x-speakeasy-param-suppress-computed-diff: 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 x-speakeasy-param-suppress-computed-diff: true dcr_provider: description: 'Information about the DCR provider this application uses, if using DCR.' type: object additionalProperties: false properties: id: $ref: '#/components/schemas/UUID' readOnly: true required: - id x-speakeasy-param-suppress-computed-diff: true portal: description: Information about the portal the application is in. type: object additionalProperties: false properties: id: $ref: '#/components/schemas/UUID' readOnly: true required: - id x-speakeasy-param-suppress-computed-diff: true auth_strategy: type: object additionalProperties: false properties: id: description: The Application Auth Strategy ID. type: string format: uuid example: b9e81174-b5bb-4638-a3c3-8afe61a0abf8 readOnly: true x-speakeasy-param-suppress-computed-diff: true name: type: string example: name default: name credential_type: type: string enum: - key_auth - client_credentials - self_managed_client_credentials x-speakeasy-unknown-values: allow key_names: type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true ttl: description: Default maximum Time-To-Live for keys created under this strategy. type: object properties: value: type: integer minimum: 1 unit: type: string enum: - days - weeks - years x-speakeasy-unknown-values: allow readOnly: true x-speakeasy-param-suppress-computed-diff: true auth_methods: type: array items: type: string description: Auth Methods enabled for this strategy example: - bearer readOnly: true x-speakeasy-param-suppress-computed-diff: true available_scopes: description: Possible developer selectable scopes for an application. Only present when using DCR Provider that supports it. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true readOnly: true required: - id - name - credential_type x-speakeasy-param-suppress-computed-diff: true granted_scopes: description: List of granted scopes for the application. Null if application type does not support returning granted scopes. type: array items: type: string default: null nullable: true readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true owner: $ref: '#/components/schemas/ApplicationOwner' 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' owner: id: 8cd9feff-b4da-4a9f-ba49-cbe83c75ff22 type: developer additionalProperties: false required: - id - created_at - updated_at - name - description - registration_count - auth_strategy - portal - labels title: Application CreateApplicationRegistrationRequest: type: object properties: api_id: description: The ID of the API the application is registering for. type: string format: uuid status: description: The status of the application registration. It must be a valid status value for a registration creation. type: string example: approved enum: - approved - pending x-speakeasy-unknown-values: allow additional_data: description: 'Optional developer answers to the `api_registration` form linked to the API publication, captured at admin-side creation time. Supplied as a flat map keyed by field `name`; values match each field''s input type. Silently ignored when no form is linked to the publication.' allOf: - $ref: '#/components/schemas/FormResponseInput' example: api_id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 additionalProperties: false required: - api_id title: CreateApplicationRegistrationRequest x-property-annotations: additional_data: - x-internal - x-unstable ApplicationRegistration: description: A application's registration for a specific version of an API. type: object properties: id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' status: $ref: '#/components/schemas/ApplicationRegistrationStatus' additional_data: description: 'Developer-supplied responses to the `api_registration` form linked to the API publication, captured at registration time. `null` when no responses were recorded. Keyed by field `name` (lowercase slug; letters, digits, underscores, or hyphens).' type: object allOf: - $ref: '#/components/schemas/FormResponseData' nullable: true readOnly: true x-speakeasy-param-suppress-computed-diff: true api: description: Details about the API the application is registered to. type: object additionalProperties: false 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 default: null nullable: true x-speakeasy-param-computed: false entity_type: $ref: '#/components/schemas/EntityType' required: - id - name - version - entity_type application: description: Details about the application the registration is part of. type: object additionalProperties: false properties: id: $ref: '#/components/schemas/UUID' name: description: The name of the application the registration is part of. type: string required: - id - name consumer: description: Details about the consumer associated with this application registration. type: object default: null additionalProperties: false nullable: true properties: id: $ref: '#/components/schemas/UUID' custom_id: description: The custom ID of the associated consumer. type: string default: null nullable: true x-speakeasy-param-computed: false username: description: The username of the associated consumer. type: string default: null nullable: true x-speakeasy-param-computed: false control_plane_id: $ref: '#/components/schemas/UUID' required: - id - control_plane_id x-speakeasy-param-computed: false example: id: c300cc33-2d33-4754-b086-a98e0fcd36fb status: approved application: id: c15e2460-ba40-431d-9df0-4957fcff7cda name: App 1 api: id: 86f637b7-cd95-478b-9b02-d770618f641c name: Great Stuff version: v1 entity_type: api created_at: '2022-12-22T20:13:07.305Z' updated_at: '2022-12-22T20:13:36.710Z' additionalProperties: false required: - id - created_at - updated_at - status - api - application title: ApplicationRegistration x-property-annotations: additional_data: - x-internal - x-unstable x-speakeasy-transform-from-api: jq: | . + { application_id: .application.id } 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 example: approved enum: - approved - pending - revoked - rejected title: ApplicationRegistrationStatus x-speakeasy-unknown-values: allow UpdateApplicationRegistrationRequest: type: object properties: status: $ref: '#/components/schemas/ApplicationRegistrationStatus' example: status: rejected additionalProperties: false title: UpdateApplicationRegistrationRequest 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' title: PortalFilterParameters PortalCustomDomain: type: object 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' additionalProperties: false required: - hostname - enabled - ssl - cname_status - created_at - updated_at title: PortalCustomDomain PortalCustomDomainSSL: type: object properties: domain_verification_method: $ref: '#/components/schemas/PortalCustomDomainVerificationMethod' verification_status: $ref: '#/components/schemas/PortalCustomDomainVerificationStatus' validation_errors: $ref: '#/components/schemas/PortalCustomDomainValidationErrors' uploaded_at: description: An ISO-8601 timestamp representation of the ssl certificate upload date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true expires_at: description: An ISO-8601 timestamp representation of the ssl certificate expiration date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true skip_ca_check: description: | True when the provided certificate chain is served as-is without validation against a public trust store. type: boolean readOnly: true x-speakeasy-param-suppress-computed-diff: true additionalProperties: false required: - domain_verification_method - verification_status title: PortalCustomDomainSSL UpdatePortalCustomDomainSSL: type: object properties: custom_certificate: description: Custom certificate to be used for the SSL termination. type: string default: null nullable: true x-speakeasy-param-computed: false custom_private_key: description: Custom certificate private key to be used for the SSL termination. type: string default: null nullable: true x-speakeasy-param-computed: false skip_ca_check: description: | Advanced option. If true, the custom certificate is served exactly as provided, without attempting to bundle against a public trust store. Required for certificates issued by an internal/private CA. type: boolean default: false additionalProperties: false title: UpdatePortalCustomDomainSSL PortalCustomDomainVerificationMethod: type: string enum: - http - custom_certificate title: PortalCustomDomainVerificationMethod x-speakeasy-unknown-values: allow PortalCustomDomainVerificationStatus: type: string enum: - verified - pending - error readOnly: true title: PortalCustomDomainVerificationStatus x-speakeasy-param-suppress-computed-diff: true x-speakeasy-unknown-values: allow PortalCustomDomainCnameStatus: type: string enum: - verified - pending readOnly: true title: PortalCustomDomainCnameStatus x-speakeasy-param-suppress-computed-diff: true x-speakeasy-unknown-values: allow PortalCustomDomainValidationErrors: type: array items: type: string readOnly: true title: PortalCustomDomainValidationErrors x-speakeasy-param-suppress-computed-diff: true CreatePortalCustomDomainRequest: type: object properties: hostname: type: string enabled: type: boolean ssl: $ref: '#/components/schemas/CreatePortalCustomDomainSSL' additionalProperties: false required: - hostname - enabled - ssl title: CreatePortalCustomDomainRequest UpdatePortalCustomDomainRequest: type: object properties: enabled: type: boolean default: null nullable: true x-speakeasy-param-computed: false ssl: $ref: '#/components/schemas/UpdatePortalCustomDomainSSL' additionalProperties: false title: UpdatePortalCustomDomainRequest PortalClaimMappings: description: Mappings from a portal developer atribute to an Identity Provider claim. type: object properties: name: type: string example: name default: name email: type: string example: email default: email groups: type: string example: custom-group-claim default: groups example: name: name email: email groups: custom-group-claim maxProperties: 3 minProperties: 0 title: PortalClaimMappings OIDCAuthEnabled: description: The portal has OIDC enabled or disabled. type: boolean example: false deprecated: true x-speakeasy-param-computed: true SAMLAuthEnabled: description: A Konnect Identity Admin assigns teams to a developer. type: boolean example: false deprecated: true x-speakeasy-param-computed: true OIDCIdpMappingEnabled: description: IdP groups determine the Portal Teams a developer has. Replaced by idp_mapping_enabled. type: boolean example: true deprecated: true x-speakeasy-param-computed: true IDPMappingEnabled: description: Whether IdP groups determine the Konnect Portal teams a developer has. type: boolean example: true x-speakeasy-param-computed: true PortalAuthenticationSettingsResponse: x-speakeasy-entity: PortalAuth description: The developer authentication settings for a portal. type: object properties: basic_auth_enabled: description: The portal has basic auth enabled or disabled. type: boolean example: true oidc_auth_enabled: $ref: '#/components/schemas/OIDCAuthEnabled' saml_auth_enabled: $ref: '#/components/schemas/SAMLAuthEnabled' oidc_team_mapping_enabled: $ref: '#/components/schemas/OIDCIdpMappingEnabled' idp_mapping_enabled: $ref: '#/components/schemas/IDPMappingEnabled' konnect_mapping_enabled: description: A Konnect Identity Admin assigns teams to a developer. type: boolean example: false oidc_config: description: Configuration properties for an OpenID Connect Identity Provider. type: object example: issuer: 'https://identity.example.com/v2' client_id: x7id0o42lklas0blidl2 scopes: - email - openid - profile claim_mappings: name: name email: email groups: custom-group-claim deprecated: true properties: issuer: type: string example: 'https://identity.example.com/v2' client_id: type: string example: x7id0o42lklas0blidl2 scopes: type: array items: type: string default: openid example: - email - openid - profile default: - email - openid - profile claim_mappings: $ref: '#/components/schemas/PortalClaimMappings' readOnly: true required: - issuer - client_id title: PortalOIDCConfig x-speakeasy-param-suppress-computed-diff: true oidc_issuer: type: string example: 'https://identity.example.com/v2' default: null nullable: true x-speakeasy-param-computed: false oidc_client_id: type: string example: x7id0o42lklas0blidl2 default: null nullable: true x-speakeasy-param-computed: false oidc_scopes: type: array items: type: string example: - email - openid - profile default: null nullable: true x-speakeasy-param-computed: false oidc_claim_mappings: description: Mappings from a portal developer atribute to an Identity Provider claim. type: object example: name: name email: email groups: custom-group-claim default: null maxProperties: 3 minProperties: 0 nullable: true properties: name: type: string example: name default: name email: type: string example: email default: email groups: type: string example: custom-group-claim default: groups title: PortalClaimMappings x-speakeasy-param-computed: false 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 required: - basic_auth_enabled - konnect_mapping_enabled - oidc_auth_enabled - oidc_team_mapping_enabled title: PortalAuthenticationSettingsResponse x-speakeasy-transform-from-api: jq: | . + { oidc_issuer: .oidc_config.issuer, oidc_client_id: .oidc_config.client_id, oidc_claim_mappings: .oidc_config.claim_mappings, oidc_scopes: .oidc_config.scopes } | del(.oidc_config) 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: description: Region of the entity. type: string example: eu enum: - us - eu - au - me - in - sg - '*' x-speakeasy-unknown-values: allow example: role_name: API Viewer entity_id: 18ee2573-dec0-4b83-be99-fa7700bcdc61 entity_type_name: Services entity_region: us required: - role_name - entity_id - entity_type_name - entity_region title: PortalAssignRoleRequest PortalAuthenticationSettingsUpdateRequest: x-speakeasy-entity: PortalAuth description: Properties to update a portal's developer auth settings. type: object properties: basic_auth_enabled: description: The organization has basic auth enabled. type: boolean example: true x-speakeasy-param-computed: true oidc_auth_enabled: description: 'Deprecated. Use the [Identity Provider API](https://developer.konghq.com/api/konnect/portal-management/v3/#/operations/update-portal-identity-provider) instead.' type: boolean example: false deprecated: true x-speakeasy-param-computed: true saml_auth_enabled: description: 'Deprecated. Use the [Identity Provider API](https://developer.konghq.com/api/konnect/portal-management/v3/#/operations/update-portal-identity-provider) instead.' type: boolean example: false deprecated: true x-speakeasy-param-computed: true oidc_team_mapping_enabled: $ref: '#/components/schemas/OIDCIdpMappingEnabled' konnect_mapping_enabled: description: Whether a Konnect Identity Admin assigns teams to a developer. type: boolean example: false x-speakeasy-param-computed: true idp_mapping_enabled: $ref: '#/components/schemas/IDPMappingEnabled' oidc_issuer: description: 'Deprecated. Use the [Identity Provider API](https://developer.konghq.com/api/konnect/portal-management/v3/#/operations/update-portal-identity-provider) instead.' type: string default: null deprecated: true nullable: true x-speakeasy-param-computed: false oidc_client_id: description: 'Deprecated. Use the [Identity Provider API](https://developer.konghq.com/api/konnect/portal-management/v3/#/operations/update-portal-identity-provider) instead.' type: string default: null deprecated: true nullable: true x-speakeasy-param-computed: false oidc_client_secret: description: 'Deprecated. Use the [Identity Provider API](https://developer.konghq.com/api/konnect/portal-management/v3/#/operations/update-portal-identity-provider) instead.' type: string default: null deprecated: true nullable: true x-speakeasy-param-computed: false oidc_scopes: description: 'Deprecated. Use the [Identity Provider API](https://developer.konghq.com/api/konnect/portal-management/v3/#/operations/update-portal-identity-provider) instead.' type: array items: type: string default: null deprecated: true nullable: true x-speakeasy-param-computed: false oidc_claim_mappings: description: 'Deprecated. Use the [Identity Provider API](https://developer.konghq.com/api/konnect/portal-management/v3/#/operations/update-portal-identity-provider) instead.' type: object example: name: name email: email groups: custom-group-claim default: null deprecated: true maxProperties: 3 minProperties: 0 nullable: true properties: name: type: string example: name default: name email: type: string example: email default: email groups: type: string example: custom-group-claim default: groups title: PortalClaimMappings x-speakeasy-param-computed: false 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 title: PortalAuthenticationSettingsUpdateRequest PortalUpdateTeamRequest: description: Properties to update on a team. type: object properties: name: description: The name of the team. type: string example: IDM - Developers default: null maxLength: 250 minLength: 1 nullable: true pattern: '^[\w \W]+$' writeOnly: true x-speakeasy-param-computed: false description: description: The description of the team. type: string example: The Identity Management (IDM) API team. default: null maxLength: 250 minLength: 1 nullable: true writeOnly: true x-speakeasy-param-computed: false can_own_applications: description: Whether the team is allowed to own applications. type: boolean example: true default: null nullable: true x-speakeasy-param-computed: false konnect_managed: $ref: '#/components/schemas/KonnectManaged' example: name: IDM - Developers description: The Identity Management (IDM) API team. can_own_applications: false konnect_managed: false additionalProperties: false title: PortalUpdateTeamRequest x-property-annotations: konnect_managed: - x-unstable - x-internal PortalCreateTeamRequest: x-speakeasy-entity: PortalTeam description: Details about a team to create. type: object properties: name: description: The name of the team. type: string example: IDM - Developers maxLength: 250 minLength: 1 pattern: '^[\w \W]+$' writeOnly: true description: description: The description of the team. type: string example: The Identity Management (IDM) team. default: null maxLength: 250 minLength: 1 nullable: true writeOnly: true x-speakeasy-param-computed: false can_own_applications: description: Whether the team is allowed to own applications type: boolean example: true x-speakeasy-param-computed: true konnect_managed: $ref: '#/components/schemas/KonnectManaged' example: name: IDM - Developers description: The Identity Management (IDM) team. can_own_applications: false konnect_managed: false additionalProperties: false required: - name title: PortalCreateTeamRequest x-property-annotations: konnect_managed: - x-unstable - x-internal PortalTeamResponse: description: Details about a developer team. type: object properties: id: type: string format: uuid example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 readOnly: true x-speakeasy-param-suppress-computed-diff: true name: $ref: '#/components/schemas/TeamName' description: description: The description of the team. type: string example: The developers for the IDM API. maxLength: 250 minLength: 1 created_at: type: string format: date-time example: '1992-02-07T17:46:57.52Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true updated_at: type: string format: date-time example: '2022-02-07T17:00:00.52Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true can_own_applications: description: Whether the team is allowed to own applications. type: boolean example: false default: null nullable: true x-speakeasy-param-computed: false konnect_managed: $ref: '#/components/schemas/KonnectManaged' 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' can_own_applications: false konnect_managed: false required: - id - name - description - created_at - updated_at title: PortalTeamResponse x-property-annotations: konnect_managed: - x-unstable - x-internal 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: description: Region of the entity. type: string example: eu enum: - us - eu - au - me - in - sg - '*' x-speakeasy-unknown-values: allow 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 required: - id - role_name - entity_id - entity_type_name - entity_region title: PortalAssignedRoleResponse UuidFieldFilter: description: 'Filter using **one** of the following operators: `eq`, `oeq`, `neq`' type: object properties: eq: description: The field exactly matches the provided value. type: string oeq: description: The field matches any of the provided values. type: string neq: description: The field does not match the provided value. type: string additionalProperties: false StringFieldFilter: description: 'Filter using **one** of the following operators: `eq`, `oeq`, `neq`, `contains`, `ocontains`' type: object properties: eq: description: The field exactly matches the provided value. type: string contains: description: The field contains the provided value. type: string ocontains: description: The field contains any of the provided values. type: string oeq: description: The field matches any of the provided values. type: string neq: description: The field does not match the provided value. type: string additionalProperties: false BooleanFieldFilter: description: Filter by a boolean value (true/false). type: boolean title: BooleanFieldFilter UUID: description: Contains a unique identifier used for this resource. type: string format: uuid example: 5f9fd312-a987-4628-b4c5-bb4f4fddd5f7 readOnly: true x-speakeasy-param-suppress-computed-diff: true CreatedAt: description: An ISO-8601 timestamp representation of entity creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true UpdatedAt: description: An ISO-8601 timestamp representation of entity update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true AISettings: type: object properties: enabled: description: Is AI enabled? type: boolean features: type: object additionalProperties: false properties: mcp_server: description: AI Features config type: object additionalProperties: false properties: enabled: description: Whether the MCP Server is enabled or not type: boolean write_operations_enabled: description: Whether write operations are enabled or not for the Portal MCP Server enabled type: boolean required: - enabled - write_operations_enabled required: - mcp_server additionalProperties: false required: - enabled - features Labels: description: | Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_". type: object example: env: test additionalProperties: type: string pattern: '^[a-z0-9A-Z]{1}([a-z0-9A-Z-._]*[a-z0-9A-Z]+)?$' minLength: 1 maxLength: 63 nullable: true maxProperties: 50 title: Labels PageMeta: description: Contains pagination query parameters and the total number of objects returned. type: object properties: number: type: number example: 1 x-speakeasy-terraform-ignore: true size: type: number example: 10 x-speakeasy-terraform-ignore: true total: type: number example: 100 x-speakeasy-terraform-ignore: true required: - number - size - total PaginatedMeta: description: returns the pagination information type: object properties: page: $ref: '#/components/schemas/PageMeta' required: - page title: PaginatedMeta x-speakeasy-terraform-ignore: true BaseError: description: standard error type: object properties: status: description: | The HTTP status code of the error. Useful when passing the response body to child properties in a frontend UI. Must be returned as an integer. type: integer readOnly: true x-speakeasy-param-suppress-computed-diff: true title: description: | A short, human-readable summary of the problem. It should not change between occurences of a problem, except for localization. Should be provided as "Sentence case" for direct use in the UI. type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true type: description: The error type. type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true instance: description: | Used to return the correlation ID back to the user, in the format kong:trace:. This helps us find the relevant logs when a customer reports an issue. type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true detail: description: | A human readable explanation specific to this occurence of the problem. This field may contain request/entity data to help the user understand what went wrong. Enclose variable values in square brackets. Should be provided as "Sentence case" for direct use in the UI. type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - status - title - instance - detail title: Error InvalidRules: description: invalid parameters rules type: string enum: - required - is_array - is_base64 - is_boolean - is_date_time - is_integer - is_null - is_number - is_object - is_string - is_uuid - is_fqdn - is_arn - unknown_property - missing_reference - is_label - matches_regex - invalid - is_supported_network_availability_zone_list - is_supported_network_cidr_block - is_supported_provider_region - type nullable: true readOnly: true x-speakeasy-param-suppress-computed-diff: true x-speakeasy-unknown-values: allow InvalidParameterStandard: type: object properties: field: type: string example: name readOnly: true x-speakeasy-param-suppress-computed-diff: true rule: $ref: '#/components/schemas/InvalidRules' source: type: string example: body default: null nullable: true x-speakeasy-param-computed: false reason: type: string example: is a required field readOnly: true x-speakeasy-param-suppress-computed-diff: true additionalProperties: false required: - field - reason InvalidParameterMinimumLength: type: object properties: field: type: string example: name readOnly: true x-speakeasy-param-suppress-computed-diff: true rule: description: invalid parameters rules type: string enum: - min_length - min_digits - min_lowercase - min_uppercase - min_symbols - min_items - min nullable: false readOnly: true x-speakeasy-param-suppress-computed-diff: true x-speakeasy-unknown-values: allow minimum: type: integer example: 8 source: type: string example: body default: null nullable: true x-speakeasy-param-computed: false reason: type: string example: must have at least 8 characters readOnly: true x-speakeasy-param-suppress-computed-diff: true additionalProperties: false required: - field - reason - rule - minimum InvalidParameterMaximumLength: type: object properties: field: type: string example: name readOnly: true x-speakeasy-param-suppress-computed-diff: true rule: description: invalid parameters rules type: string enum: - max_length - max_items - max nullable: false readOnly: true x-speakeasy-param-suppress-computed-diff: true x-speakeasy-unknown-values: allow maximum: type: integer example: 8 source: type: string example: body default: null nullable: true x-speakeasy-param-computed: false reason: type: string example: must not have more than 8 characters readOnly: true x-speakeasy-param-suppress-computed-diff: true additionalProperties: false required: - field - reason - rule - maximum InvalidParameterChoiceItem: type: object properties: field: type: string example: name readOnly: true x-speakeasy-param-suppress-computed-diff: true rule: description: invalid parameters rules type: string enum: - enum nullable: false readOnly: true x-speakeasy-param-suppress-computed-diff: true reason: type: string example: is a required field readOnly: true x-speakeasy-param-suppress-computed-diff: true choices: type: array items: {} minItems: 1 nullable: false readOnly: true uniqueItems: true x-speakeasy-param-suppress-computed-diff: true source: type: string example: body default: null nullable: true x-speakeasy-param-computed: false additionalProperties: false required: - field - reason - rule - choices InvalidParameterDependentItem: type: object properties: field: type: string example: name readOnly: true x-speakeasy-param-suppress-computed-diff: true rule: description: invalid parameters rules type: string enum: - dependent_fields nullable: true readOnly: true x-speakeasy-param-suppress-computed-diff: true reason: type: string example: is a required field readOnly: true x-speakeasy-param-suppress-computed-diff: true dependents: type: array items: {} default: null nullable: true readOnly: true uniqueItems: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true source: type: string example: body default: null nullable: true x-speakeasy-param-computed: false additionalProperties: false required: - field - rule - reason - dependents InvalidParameters: description: invalid parameters type: array items: oneOf: - $ref: '#/components/schemas/InvalidParameterStandard' - $ref: '#/components/schemas/InvalidParameterMinimumLength' - $ref: '#/components/schemas/InvalidParameterMaximumLength' - $ref: '#/components/schemas/InvalidParameterChoiceItem' - $ref: '#/components/schemas/InvalidParameterDependentItem' minItems: 1 nullable: false uniqueItems: true BadRequestError: allOf: - $ref: '#/components/schemas/BaseError' - type: object required: - invalid_parameters properties: invalid_parameters: $ref: '#/components/schemas/InvalidParameters' 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 LabelsUpdate: description: | Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. Labels are intended to store **INTERNAL** metadata. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_". type: object example: env: test additionalProperties: type: string pattern: '^[a-z0-9A-Z]{1}([a-z0-9A-Z-._]*[a-z0-9A-Z]+)?$' minLength: 1 maxLength: 63 nullable: true maxProperties: 50 nullable: true writeOnly: true x-speakeasy-param-computed: true 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 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 PortalMenuItem: type: object 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 x-speakeasy-unknown-values: allow external: description: 'When clicked, open the link in a new window' type: boolean additionalProperties: false required: - path - title - visibility - external PortalFooterMenuSection: type: object properties: title: description: The footer menu section title type: string maxLength: 512 items: type: array items: $ref: '#/components/schemas/PortalMenuItem' additionalProperties: false required: - title - items SnippetName: description: The unique name of a snippet in a portal. type: string example: my-snippet maxLength: 512 title: SnippetName PortalCustomizationV3: description: The custom settings of this portal type: object properties: theme: type: object additionalProperties: false nullable: false properties: name: type: string nullable: false mode: type: string enum: - light - dark - system x-speakeasy-unknown-values: allow colors: type: object additionalProperties: false nullable: false properties: primary: type: string example: '#000000' nullable: false pattern: '^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$' x-validation-message: must be a valid hex color value x-speakeasy-param-computed: false x-speakeasy-param-computed: false layout: type: string nullable: false x-speakeasy-param-computed: false css: type: string default: null nullable: true x-speakeasy-param-computed: false js: type: object additionalProperties: false nullable: false properties: custom: type: string default: null nullable: true x-speakeasy-param-computed: false scripts: type: array items: type: string pattern: '^https://[^:.]+\..+$' default: null maxItems: 20 nullable: true x-speakeasy-param-computed: false x-speakeasy-param-computed: false menu: type: object additionalProperties: false nullable: false properties: main: type: array items: $ref: '#/components/schemas/PortalMenuItem' default: null nullable: true x-speakeasy-param-computed: false footer_sections: type: array items: $ref: '#/components/schemas/PortalFooterMenuSection' default: null nullable: true x-speakeasy-param-computed: false footer_bottom: type: array items: $ref: '#/components/schemas/PortalMenuItem' default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-param-computed: false spec_renderer: type: object additionalProperties: false nullable: false properties: try_it_ui: description: Enable in-browser testing for your APIs. All linked gateways must have the CORS plugin configured. type: boolean default: true try_it_insomnia: description: Enables users to open API specifications in Insomnia to explore and send requests with the native client. Only public API specifications are supported. type: boolean default: true infinite_scroll: description: 'Display the full spec on a single, scrollable page. If disabled, documentation, endpoints, and schemas appear on separate pages.' type: boolean default: true show_schemas: description: 'Control whether schemas are visible in your API specs. When enabled, schemas appear in the side navigation below the endpoints.' type: boolean default: true hide_internal: description: Manage visibility of internal endpoints and models. type: boolean default: false hide_deprecated: description: Manage visibility of deprecated endpoints and models. type: boolean default: false allow_custom_server_urls: description: Let users define a custom server URL for endpoints. This will be used to generate code snippets and to test the API. The URL is client-side only and is not saved. type: boolean default: true x-speakeasy-param-computed: false robots: type: string default: null nullable: true x-speakeasy-param-computed: false portal_layout: type: object additionalProperties: false properties: footer: type: object default: null additionalProperties: false nullable: true properties: snippet_name: description: The unique name of a snippet in the portal to render in place of the default footer. type: string example: my-snippet default: null maxLength: 512 nullable: true title: SnippetName x-speakeasy-param-computed: false required: - snippet_name x-speakeasy-param-computed: false x-speakeasy-param-computed: false additionalProperties: false title: PortalCustomization x-property-annotations: js: - x-unstable - x-internal portal_layout: - x-unstable - x-internal x-speakeasy-name-override: PortalCustomization ApplicationOwnerType: description: The type of the owner of the application. Can be `developer` (individual developer) or `team`. type: string enum: - developer - team x-speakeasy-unknown-values: allow ApplicationOwnerId: description: 'The ID of the owner of the application. When type is `developer`, this is the developer ID. When type is `team`, this is the team ID.' type: string format: uuid ApplicationOwner: type: object properties: type: $ref: '#/components/schemas/ApplicationOwnerType' id: $ref: '#/components/schemas/ApplicationOwnerId' additionalProperties: false required: - type - id ApplicationClientId: description: | An identifier to correlate the application with an external system. Cannot be set when using Dynamic Client Registration. type: string maxLength: 255 nullable: false CustomFormFieldName: description: | Stable slug for the field (letters, digits, underscores, or hyphens). Immutable for the life of the field; renames are achieved by editing `label`. Acts as the join key for stored responses. Optional on create — server slugifies `label` when omitted. type: string example: full-name maxLength: 128 pattern: '^[\w-]+$' FormResponseEntry: description: 'A single field''s submitted answer, snapshotted with the field metadata as it appeared at submission time.' type: object properties: name: description: 'Field slug, matches the parent object key.' allOf: - $ref: '#/components/schemas/CustomFormFieldName' label: description: Field label snapshotted at submission time. type: string example: Full Name type: description: Field input type at submission time. type: string example: text enum: - text - email - number - textarea - select - checkbox x-speakeasy-unknown-values: allow value: description: | Submitted value. Type matches the field `type`: `text`/`email`/`textarea` return strings; `number` returns a number; `checkbox` returns a boolean; `select` returns a string for single-select or an array of strings for multi-select. oneOf: - type: string example: Ada Lovelace - type: number example: 42 - type: boolean example: true - type: array items: type: string example: - api - portal additionalProperties: false required: - name - label - type - value FormResponseData: description: | A developer's submitted form responses as returned by the server. Keyed by field `name` (lowercase slug; letters, digits, underscores, or hyphens). Each value is a self-describing record `{name, label, type, value}` captured at submission time. Stored encrypted at rest; not queryable via SQL. type: object example: full_name: name: full_name label: Full Name type: text value: Ada Lovelace email: name: email label: Email Address type: email value: ada@example.com topics: name: topics label: Topics of Interest type: select value: - api - portal additionalProperties: $ref: '#/components/schemas/FormResponseEntry' EntityType: description: The type of entity that is being published. Can be either an API or an API Package. type: string example: api enum: - api - api_package title: Entity Type x-speakeasy-unknown-values: allow FormResponseInput: description: | Developer-supplied answers to a custom form, keyed by field `name` (lowercase slug; letters, digits, underscores, or hyphens). Each value matches the field's input type: string for text/email/textarea, number for number, boolean for checkbox, and for select a string when `mode` is `single_select` or an array of strings when `mode` is `multi_select`. Built-in fields (`full_name`, `email` on `developer_registration`) are submitted via top-level body properties — not here. type: object example: department: engineering age: 35 accepted_terms: true topics: - api - portal additionalProperties: oneOf: - type: string - type: number - type: boolean - type: array items: type: string x-speakeasy-terraform-ignore: true TeamName: description: The name of the team. type: string example: IDM - Developers maxLength: 250 minLength: 1 pattern: '^[\w \W]+$' KonnectManaged: description: Indicates whether the team is managed by Konnect. type: boolean example: false title: KonnectManaged PortalAllowedIPs: description: The list of allowed ips for the portal. type: array items: type: string example: - 192.168.1.1 - 192.168.1.0/22 maxItems: 25 minItems: 1 uniqueItems: true IPEntry: description: An entry representing a collection of allowed IP addresses or CIDR blocks. type: object properties: id: description: Contains a unique identifier used for this resource. type: string format: uuid example: 5f9fd312-a987-4628-b4c5-bb4f4fddd5f7 readOnly: false allowed_ips: $ref: '#/components/schemas/PortalAllowedIPs' additionalProperties: false required: - id - allowed_ips ApiResponseSchema: type: object properties: id: description: The API identifier. type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 readOnly: true x-speakeasy-param-suppress-computed-diff: true name: description: | The name of your API. The `name + version` combination must be unique for each API you publish. type: string example: MyAPI maxLength: 255 minLength: 1 description: description: A description of your API. Will be visible on your live Portal. type: string default: null nullable: true x-speakeasy-param-computed: false version: description: An optional version for your API. Leave this empty if your API is unversioned. type: string maxLength: 255 minLength: 1 nullable: true x-speakeasy-param-computed: true current_version_summary: $ref: '#/components/schemas/ApiVersionSummary' slug: description: | The `slug` is used in generated URLs to provide human readable paths. Defaults to `slugify(name + version)` type: string example: my-api-v1 nullable: true pattern: '^[\w-]+$' x-speakeasy-param-computed: true api_spec_ids: description: The list of API specification ids for the API. type: array items: type: string format: uuid description: The id of the API specification. example: 123e4567-e89b-12d3-a456-426614174000 deprecated: true readOnly: true x-speakeasy-param-suppress-computed-diff: true portals: description: The list of portals which this API is published to. type: array items: type: object additionalProperties: false required: - id - name - display_name properties: id: description: The portal identifier. type: string format: uuid example: 25a2624c-49fc-4764-99e1-224ed819f200 name: description: 'The name of the portal, used to distinguish it from other portals.' type: string example: My Portal display_name: description: The display name of the portal. This value will be the portal's `name` in Portal API. type: string example: My Portal nullable: false readOnly: true uniqueItems: true x-speakeasy-param-suppress-computed-diff: true labels: $ref: '#/components/schemas/Labels' implementation_mode: description: the implementations that are associated with this api either gateway_entity_binding or access_control_enforcement type: string default: null nullable: true readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true attributes: $ref: '#/components/schemas/ApiAttributes' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' images: type: object example: icon: uri: /apis/ebbac5b0-ac89-45c3-9d2e-c4542c657e79/images/icon/raw additionalProperties: false nullable: true properties: icon: type: object default: null additionalProperties: false nullable: true properties: uri: description: The relative API path for retrieving the raw the icon image. type: string format: uri-reference default: null nullable: true pattern: '^/[^\s]+/images/icon/raw$' x-speakeasy-param-computed: false x-speakeasy-param-computed: false readOnly: true title: Images x-speakeasy-param-suppress-computed-diff: true x-speakeasy-terraform-ignore: true environments: $ref: '#/components/schemas/ApiEnvironmentsMap' additionalProperties: false required: - id - name - version - labels - created_at - updated_at - slug - portals - api_spec_ids - current_version_summary title: API x-property-annotations: images: - x-internal environments: - x-internal - x-unstable ApiEnvironmentsMap: description: | Map of this API's associated environments, keyed by environment name. Each entry includes the API's current version in that environment. A single-environment API has exactly one key (its sole association, which may or may not be the organization default). A multi-environment API has one key per association. Clients can infer mode from the number of keys. type: object example: default: version: 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' staging: version: v2 current_version_summary: id: 8710d5c4-d902-410b-992f-18b814155b54 version: v2 spec: type: oas3 created_at: '2023-01-01T00:00:00.000Z' updated_at: '2023-01-01T00:00:00.000Z' additionalProperties: $ref: '#/components/schemas/ApiEnvironmentVersionSummary' readOnly: true title: API Environments Map x-speakeasy-param-suppress-computed-diff: true ApiEnvironmentVersionSummary: type: object properties: version: description: The API's current version string in this environment. type: string example: v1 current_version_summary: $ref: '#/components/schemas/ApiVersionSummary' additionalProperties: false required: - version - current_version_summary title: API Environment Version Summary AuthStrategyApiSyncError: type: object 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 x-speakeasy-unknown-values: allow 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 additionalProperties: false nullable: true required: - message ApiDocumentId: description: The API document identifier. type: string format: uuid example: de5c9818-be5c-42e6-b514-e3d4bc30ddeb readOnly: true title: API Document ID x-speakeasy-param-suppress-computed-diff: true ApiDocumentContent: description: Raw markdown content to display in your Portal type: string title: API Document Content ApiDocumentTitle: description: The title of the document. Used to populate the `` tag for the page type: string example: API Document title: API Document Title ApiDocumentStatus: description: If `status=published` the document will be visible in your live portal type: string default: unpublished enum: - published - unpublished x-speakeasy-unknown-values: allow ApiDocumentParentDocumentId: 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. type: string format: uuid example: null default: null nullable: true title: API Document Parent Document ID x-speakeasy-param-computed: false ApiDocumentSlug: description: | The `slug` is used in generated URLs to provide human readable paths. Defaults to `slugify(title)` type: string example: api-document pattern: '^[\w-]+$' title: API Document Slug ApiDocument: type: object 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' additionalProperties: false title: API Document ApiVersionSummary: type: object properties: id: description: The API version identifier. type: string format: uuid example: 7710d5c4-d902-410b-992f-18b814155b53 readOnly: true x-speakeasy-param-suppress-computed-diff: true version: description: The version of this api spec. type: string spec: type: object additionalProperties: false properties: type: $ref: '#/components/schemas/ApiSpecType' provider: description: Provenance of the spec for the current version. Present when a spec exists. oneOf: - $ref: '#/components/schemas/RawApiSpecProvider' - $ref: '#/components/schemas/UrlApiSpecProvider' - $ref: '#/components/schemas/IntegrationApiSpecProviderPayload' - $ref: '#/components/schemas/ResourceBoundIntegrationApiSpecProviderPayload' title: ApiSpecProvider x-internal: true x-property-annotations: provider: - x-internal created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false nullable: true readOnly: true title: API Version Summary x-speakeasy-param-suppress-computed-diff: true x-speakeasy-terraform-ignore: true APIVersionRequest: type: object properties: version: description: The version of the api. type: string example: 1.0.0 default: null nullable: true x-speakeasy-param-computed: false spec: type: object default: null additionalProperties: false nullable: true properties: content: default: null description: 'The raw content of 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"}}}}}}' nullable: true type: string x-speakeasy-param-computed: false provider: description: | Represent spec provider information used for fetching the API spec. For raw, provide the raw content in the `content` property instead of using this provider. oneOf: - $ref: '#/components/schemas/UrlApiSpecProvider' - $ref: '#/components/schemas/IntegrationApiSpecProviderPayload' - $ref: '#/components/schemas/ResourceBoundIntegrationApiSpecProviderPayload' x-property-annotations: provider: - x-internal x-speakeasy-param-computed: false additionalProperties: false title: API Version Request ApiSpecPayload: type: object oneOf: - $ref: '#/components/schemas/ApiSpecContentPayload' - $ref: '#/components/schemas/ApiSpecProviderPayload' title: ApiSpecPayload writeOnly: true x-internal: true ApiSpecContentPayload: description: | The raw content of API specification, in json or yaml format (OpenAPI or AsyncAPI). type: object properties: content: 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: string additionalProperties: false required: - content title: ApiSpecContentPayload x-internal: true x-speakeasy-name-override: ContentPayload ApiSpecProviderPayload: description: | Represent spec provider information used for fetching the API spec. For raw, provide the raw content in the `content` property instead of using this provider. type: object properties: provider: oneOf: - $ref: '#/components/schemas/UrlApiSpecProvider' - $ref: '#/components/schemas/IntegrationApiSpecProviderPayload' - $ref: '#/components/schemas/ResourceBoundIntegrationApiSpecProviderPayload' additionalProperties: false required: - provider title: ApiSpecProviderPayload x-internal: true x-speakeasy-name-override: ProviderPayload ApiSpec: type: object properties: id: description: The API specification identifier. type: string format: uuid example: 7710d5c4-d902-410b-992f-18b814155b53 readOnly: true x-speakeasy-param-suppress-computed-diff: true content: default: null 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"}}}}}}' nullable: true type: string x-speakeasy-param-computed: false validation_messages: description: The errors that occurred while parsing the API specification. type: array items: type: object additionalProperties: false required: - message properties: message: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true type: description: | The type of specification being stored. This allows us to render the specification correctly. type: string example: oas3 enum: - oas2 - oas3 - asyncapi title: API Spec Type x-speakeasy-unknown-values: allow created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false title: API Specification ApiPublicationVisibility: 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. type: string default: private enum: - public - private title: API Publication Visibility x-speakeasy-unknown-values: allow ApiPublicationAuthStrategyIds: 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. type: array items: type: string format: uuid default: null maxItems: 1 minItems: 1 nullable: true title: API Publication Auth Strategy IDs x-speakeasy-param-computed: false AutoApproveRegistrations: 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 title: Auto Approve Registrations ApiPublication: description: An API publication in a portal type: object properties: environment: $ref: '#/components/schemas/ApiEnvironmentName' auto_approve_registrations: $ref: '#/components/schemas/AutoApproveRegistrations' auth_strategy_ids: $ref: '#/components/schemas/ApiPublicationAuthStrategyIds' visibility: $ref: '#/components/schemas/ApiPublicationVisibility' form_id: description: 'UUID of portal form associated with API publication, must be linked to given portal and have type of ''api_registration''' type: string format: uuid nullable: true x-speakeasy-param-computed: true warnings: description: Informational warnings (e.g. incompatible fields stripped for ACE). Empty if none. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false title: API Publication x-property-annotations: form_id: - x-internal - x-unstable environment: - x-internal - x-unstable ApiImplementationService: description: A Gateway service that implements an API type: object 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: allOf: - $ref: '#/components/schemas/AuthStrategyApiSyncError' readOnly: true x-speakeasy-ignore: true x-speakeasy-param-suppress-computed-diff: true additionalProperties: false required: - control_plane_id - id title: API Implementation Service ApiImplementationControlPlane: description: A Control plane that implements an API type: object properties: access_control_enforcement_enabled: description: Indicates if the access control enforcement plugin is installed globally in the target control plane type: boolean readOnly: true x-speakeasy-param-suppress-computed-diff: true control_plane_id: type: string format: uuid example: 7710d5c4-d902-410b-992f-18b814155b53 x-speakeasy-name-override: id additionalProperties: false required: - control_plane_id title: API Implementation Control Plane ApiEnvironmentName: description: | The name of the environment this record is scoped to. Present only for APIs configured across multiple environments. type: string example: production default: null maxLength: 256 minLength: 1 nullable: true readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true ApiImplementationEnvironment: description: | The environment this implementation is scoped to, by name. On write, selects the target environment: required when the API is configured across multiple environments, and optional otherwise (accepted only if it matches the API's sole environment). On read, the resolved environment name. Present only for APIs configured across multiple environments. type: string example: production default: null maxLength: 256 minLength: 1 nullable: true x-speakeasy-param-computed: false ApiImplementation: description: An entity that implements an API type: object oneOf: - $ref: '#/components/schemas/ApiImplementationGatewayServiceEntity' - $ref: '#/components/schemas/ApiImplementationControlPlaneEntity' title: API Implementation ApiImplementationGatewayServiceEntity: description: A gateway service that implements an API type: object properties: id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' environment: $ref: '#/components/schemas/ApiImplementationEnvironment' service: $ref: '#/components/schemas/ApiImplementationService' additionalProperties: false title: ApiImplementationGatewayServiceEntity x-property-annotations: environment: - x-internal - x-unstable x-speakeasy-name-override: Service Reference ApiImplementationControlPlaneEntity: description: A control plane that implements an API type: object properties: id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' environment: $ref: '#/components/schemas/ApiImplementationEnvironment' control_plane: $ref: '#/components/schemas/ApiImplementationControlPlane' additionalProperties: false title: ApiImplementationControlPlaneEntity x-property-annotations: environment: - x-internal - x-unstable x-speakeasy-name-override: Control Plane Reference ApiAttributes: description: A set of attributes that describe the API type: object example: env: - production domains: - web - mobile default: {} 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: '^[^,<>]*$' nullable: false title: API Attributes x-speakeasy-type-override: any 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' ApiSpecType: description: | The type of specification being stored. This allows us to render the specification correctly. type: string example: oas3 enum: - oas2 - oas3 - asyncapi title: API Spec Type x-speakeasy-unknown-values: allow RawApiSpecProvider: type: object properties: type: type: string enum: - raw config: type: object additionalProperties: false maxProperties: 0 minProperties: 0 required: - type - config x-speakeasy-name-override: RawProvider UrlApiSpecProvider: type: object properties: type: type: string enum: - url config: type: object properties: url: description: | Public URL that resolves to the raw API spec contents. Supported formats are JSON and YAML. type: string format: uri example: 'https://api.petstore.com/v3/openapi.json' required: - url required: - type - config x-speakeasy-name-override: UrlProvider IntegrationApiSpecProviderPayload: description: | API spec provider registered by a catalog integration. Integrations can function as API spec providers where they register a globally unique `type` and config schema which defines the shape of `config`. Consult integration documentation to learn more about available API spec providers. type: object properties: type: description: The globally unique API spec provider type that is registered by a given catalog integration. type: string example: swaggerhub_api_version maxLength: 120 minLength: 1 config: description: JSON object containing values as defined by integration provider's config schema. type: object example: owner: petco api: pet_store version: v3 additionalProperties: true minProperties: 1 integration_instance: description: The integration instance id or name type: string required: - type - config - integration_instance x-speakeasy-name-override: IntegrationProvider ResourceBoundIntegrationApiSpecProviderPayload: description: | API spec provider registered by a catalog integration. These providers differ from `IntegrationApiSpecProvider` in that they denote a binding relationship between a resource type and the API spec. This means that the API Spec will automatically be created/deleted for/from a service as resources of the given type are mapped/unmapped. Consult integration documentation to learn more about available API spec providers. type: object properties: type: description: | The globally unique API spec provider type that is registered by a given catalog integration. Resource-bound providers create a 1-to-1 mapping between a resource type and the API Spec. type: string maxLength: 120 minLength: 1 config: type: object properties: resource_id: description: ID of the associated Resource the API spec is bound to. type: string example: IqkHvMdyHukxcwAs required: - resource_id required: - type - config x-speakeasy-name-override: ResourceBoundIntegrationProvider 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 PrometheusMetricsBackendConfig: description: PrometheusMetricsBackendConfig defines configuration of Prometheus backend type: object properties: aggregate: description: |- Map with the configuration of applications which metrics are going to be scrapped by kuma-dp. type: array items: description: PrometheusAggregateMetricsConfig defines endpoints that should be scrapped by kuma-dp for prometheus metrics. properties: address: description: Address on which a service expose HTTP endpoint with Prometheus metrics. type: string x-speakeasy-param-computed: false enabled: description: |- If false then the application won't be scrapped. If nil, then it is treated as true and kuma-dp scrapes metrics from the service. type: boolean x-speakeasy-param-computed: false name: description: Name which identify given configuration. type: string x-speakeasy-param-computed: false path: description: Path on which a service expose HTTP endpoint with Prometheus metrics. type: string x-speakeasy-param-computed: false port: description: Port on which a service expose HTTP endpoint with Prometheus metrics. type: integer x-speakeasy-param-computed: false type: object x-speakeasy-param-computed: false default: [] envoy: description: Configuration of Envoy's metrics. type: object properties: filterRegex: description: |- FilterRegex value that is going to be passed to Envoy for filtering Envoy metrics. type: string x-speakeasy-param-computed: false usedOnly: description: |- If true then return metrics that Envoy has updated (counters incremented at least once, gauges changed at least once, and histograms added to at least once). If nil, then it is treated as false. type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false path: description: |- Path on which a dataplane should expose HTTP endpoint with Prometheus metrics. type: string x-speakeasy-param-computed: false port: description: |- Port on which a dataplane should expose HTTP endpoint with Prometheus metrics. type: integer x-speakeasy-param-computed: false skipMTLS: description: |- If true then endpoints for scraping metrics won't require mTLS even if mTLS is enabled in Mesh. If nil, then it is treated as false. type: boolean x-speakeasy-param-computed: false tags: description: |- Tags associated with an application this dataplane is deployed next to, e.g. service=web, version=1.0. `service` tag is mandatory. type: object additionalProperties: type: string x-speakeasy-param-computed: false tls: description: Configuration of TLS for prometheus listener. type: object default: {} properties: mode: description: |- mode defines how configured is the TLS for Prometheus. Supported values, delegated, disabled, activeMTLSBackend. Default to `activeMTLSBackend`. oneOf: - type: string - type: integer x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier FileLoggingBackendConfig: description: FileLoggingBackendConfig defines configuration for file based access logs type: object properties: path: description: Path to a file that logs will be written to type: string x-speakeasy-param-computed: false TcpLoggingBackendConfig: description: TcpLoggingBackendConfig defines configuration for TCP based access logs type: object properties: address: description: Address to TCP service that will receive logs type: string x-speakeasy-param-computed: false DataSource_File: type: object properties: file: description: |- Data source is a path to a file. Deprecated, use other sources of a data. type: string x-speakeasy-param-computed: false DataSource_Inline: type: object properties: inline: description: Data source is inline bytes. type: string format: byte x-speakeasy-param-computed: false DataSource_InlineString: type: object properties: inlineString: description: Data source is inline string type: string x-speakeasy-param-computed: false DataSource_Secret: type: object properties: secret: description: Data source is a secret with given Secret key. type: string x-speakeasy-param-computed: false ProvidedCertificateAuthorityConfig: type: object properties: cert: oneOf: - $ref: '#/components/schemas/DataSource_File' - $ref: '#/components/schemas/DataSource_Inline' - $ref: '#/components/schemas/DataSource_InlineString' - $ref: '#/components/schemas/DataSource_Secret' x-speakeasy-param-computed: false key: oneOf: - $ref: '#/components/schemas/DataSource_File' - $ref: '#/components/schemas/DataSource_Inline' - $ref: '#/components/schemas/DataSource_InlineString' - $ref: '#/components/schemas/DataSource_Secret' x-speakeasy-param-computed: false BuiltinCertificateAuthorityConfig: type: object properties: caCert: type: object properties: expiration: type: string x-speakeasy-param-computed: false rsaBits: type: integer format: uint32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false DatadogTracingBackendConfig: type: object properties: address: description: Address of datadog collector. type: string x-speakeasy-param-computed: false port: description: Port of datadog collector type: integer x-speakeasy-param-computed: false splitService: description: |- Determines if datadog service name should be split based on traffic direction and destination. For example, with `splitService: true` and a `backend` service that communicates with a couple of databases, you would get service names like `backend_INBOUND`, `backend_OUTBOUND_db1`, and `backend_OUTBOUND_db2` in Datadog. Default: false type: boolean x-speakeasy-param-computed: false ZipkinTracingBackendConfig: type: object properties: apiVersion: description: |- Version of the API. values: httpJson, httpJsonV1, httpProto. Default: httpJson see https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/trace/v3/trace.proto#envoy-v3-api-enum-config-trace-v3-zipkinconfig-collectorendpointversion type: string x-speakeasy-param-computed: false sharedSpanContext: description: |- Determines whether client and server spans will share the same span context. Default: true. https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/trace/v3/zipkin.proto#config-trace-v3-zipkinconfig type: boolean x-speakeasy-param-computed: false traceId128bit: description: 'Generate 128bit traces. Default: false' type: boolean x-speakeasy-param-computed: false url: description: Address of Zipkin collector. type: string x-speakeasy-param-computed: false MeshItem: type: object properties: constraints: description: Constraints that applies to the mesh and its entities type: object properties: dataplaneProxy: description: |- DataplaneProxyMembership defines a set of requirements for data plane proxies to be a member of the mesh. type: object properties: requirements: description: |- Requirements defines a set of requirements that data plane proxies must fulfill in order to join the mesh. A data plane proxy must fulfill at least one requirement in order to join the mesh. Empty list of allowed requirements means that any proxy that is not explicitly denied can join. type: array items: description: Rules defines a set of rules for data plane proxies to be member of the mesh. properties: tags: description: |- Tags defines set of required tags. You can specify '*' in value to require non empty value of tag type: object additionalProperties: type: string x-speakeasy-param-computed: false type: object x-speakeasy-param-computed: false default: [] restrictions: description: |- Restrictions defines a set of restrictions that data plane proxies cannot fulfill in order to join the mesh. A data plane proxy cannot fulfill any requirement in order to join the mesh. Restrictions takes precedence over requirements. type: array items: description: Rules defines a set of rules for data plane proxies to be member of the mesh. properties: tags: description: |- Tags defines set of required tags. You can specify '*' in value to require non empty value of tag type: object additionalProperties: type: string x-speakeasy-param-computed: false type: object x-speakeasy-param-computed: false default: [] x-speakeasy-param-computed: false x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time readOnly: true x-speakeasy-param-suppress-computed-diff: true kri: description: Kuma Resource Identifier (KRI) of the given resource type: string readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true labels: type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue logging: description: |- Logging settings. +optional type: object properties: backends: description: List of available logging backends type: array items: description: LoggingBackend defines logging backend available to mesh. properties: conf: type: object oneOf: - $ref: '#/components/schemas/FileLoggingBackendConfig' - $ref: '#/components/schemas/TcpLoggingBackendConfig' x-speakeasy-param-computed: false format: description: |- Format of access logs. Placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log type: string x-speakeasy-param-computed: false name: description: |- Name of the backend, can be then used in Mesh.logging.defaultBackend or in TrafficLogging type: string x-speakeasy-param-computed: false type: description: Type of the backend (Kuma ships with 'tcp' and 'file') type: string x-speakeasy-param-computed: false type: object x-speakeasy-param-computed: false default: [] defaultBackend: description: Name of the default backend type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false meshServices: type: object properties: mode: oneOf: - type: string - type: integer x-speakeasy-param-computed: false x-speakeasy-param-computed: false metrics: description: |- Configuration for metrics collected and exposed by dataplanes. Settings defined here become defaults for every dataplane in a given Mesh. Additionally, it is also possible to further customize this configuration for each dataplane individually using Dataplane resource. +optional type: object properties: backends: description: List of available Metrics backends type: array items: description: MetricsBackend defines metric backends properties: conf: type: object oneOf: - $ref: '#/components/schemas/PrometheusMetricsBackendConfig' x-speakeasy-param-computed: false name: description: 'Name of the backend, can be then used in Mesh.metrics.enabledBackend' type: string x-speakeasy-param-computed: false type: description: Type of the backend (Kuma ships with 'prometheus') type: string x-speakeasy-param-computed: false type: object x-speakeasy-param-computed: false default: [] enabledBackend: description: Name of the enabled backend type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false modificationTime: description: Time at which the resource was updated type: string format: date-time readOnly: true x-speakeasy-param-suppress-computed-diff: true mtls: description: |- mTLS settings. +optional type: object properties: backends: description: List of available Certificate Authority backends type: array items: description: CertificateAuthorityBackend defines Certificate Authority backend properties: conf: type: object oneOf: - $ref: '#/components/schemas/ProvidedCertificateAuthorityConfig' - $ref: '#/components/schemas/BuiltinCertificateAuthorityConfig' - $ref: '#/components/schemas/VaultCertificateAuthorityConfig' - $ref: '#/components/schemas/ACMCertificateAuthorityConfig' - $ref: '#/components/schemas/CertManagerCertificateAuthorityConfig' x-speakeasy-param-computed: false dpCert: description: Dataplane certificate settings type: object properties: requestTimeout: description: Timeout on request to CA for DP certificate generation and retrieval type: object properties: nanos: type: integer x-speakeasy-param-computed: false seconds: type: integer x-speakeasy-param-computed: false x-speakeasy-param-computed: false rotation: description: Rotation settings type: object properties: expiration: description: Time after which generated certificate for Dataplane will expire type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false mode: description: |- Mode defines the behaviour of inbound listeners with regard to traffic encryption oneOf: - type: string - type: integer x-speakeasy-param-computed: false name: description: Name of the backend type: string x-speakeasy-param-computed: false rootChain: type: object properties: requestTimeout: description: |- Timeout on request for to CA for root certificate chain. If not specified, defaults to 10s. type: object properties: nanos: type: integer x-speakeasy-param-computed: false seconds: type: integer x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false type: description: |- Type of the backend. Has to be one of the loaded plugins (Kuma ships with builtin and provided) type: string x-speakeasy-param-computed: false type: object x-speakeasy-param-computed: false default: [] enabledBackend: description: Name of the enabled backend type: string x-speakeasy-param-computed: false skipValidation: description: 'If enabled, skips CA validation.' type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false name: type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true networking: description: Networking settings of the mesh type: object properties: outbound: description: Outbound settings type: object properties: passthrough: description: Control the passthrough cluster type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false routing: description: Routing settings of the mesh type: object properties: defaultForbidMeshExternalServiceAccess: description: |- If true, blocks traffic to MeshExternalServices. Default: false type: boolean x-speakeasy-param-computed: false localityAwareLoadBalancing: description: Enable the Locality Aware Load Balancing type: boolean x-speakeasy-param-computed: false zoneEgress: description: |- Enable routing traffic to services in other zone or external services through ZoneEgress. Default: false type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false skipCreatingInitialPolicies: description: |- List of policies to skip creating by default when the mesh is created. e.g. TrafficPermission, MeshRetry, etc. An '*' can be used to skip all policies. type: array items: type: string x-speakeasy-param-computed: false default: [] tracing: description: |- Tracing settings. +optional type: object properties: backends: description: List of available tracing backends type: array items: description: TracingBackend defines tracing backend available to mesh. properties: conf: type: object oneOf: - $ref: '#/components/schemas/DatadogTracingBackendConfig' - $ref: '#/components/schemas/ZipkinTracingBackendConfig' x-speakeasy-param-computed: false name: description: |- Name of the backend, can be then used in Mesh.tracing.defaultBackend or in TrafficTrace type: string x-speakeasy-param-computed: false sampling: description: |- Percentage of traces that will be sent to the backend (range 0.0 - 100.0). Empty value defaults to 100.0% type: number x-speakeasy-param-computed: false type: description: Type of the backend (Kuma ships with 'zipkin') type: string x-speakeasy-param-computed: false type: object x-speakeasy-param-computed: false default: [] defaultBackend: description: Name of the default backend type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false type: type: string x-speakeasy-param-computed: false required: - type - name MeshAccessLogItem: description: 'MeshAccessLog configures access logging for traffic between services in the mesh. It allows you to capture and export request/response logs to various backends (file, TCP, or OpenTelemetry) for monitoring, debugging, and auditing purposes.' type: object properties: type: description: the type of the resource type: string enum: - MeshAccessLog x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mal_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshAccessLog resource. type: object properties: from: description: From list makes a match between clients and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of clients referenced in 'targetRef' type: object properties: backends: type: array items: properties: file: description: FileBackend defines configuration for file based access logs type: object properties: format: description: |- Format of access logs. Placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators type: object properties: json: type: array items: properties: key: type: string x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - key - value type: object example: - key: start_time value: '%START_TIME%' - key: bytes_received value: '%BYTES_RECEIVED%' x-speakeasy-plan-modifiers: SupressZeroNullModifier omitEmptyValues: type: boolean default: false x-speakeasy-param-computed: false plain: type: string example: '[%START_TIME%] %KUMA_MESH% %UPSTREAM_HOST%' x-speakeasy-param-computed: false type: type: string enum: - Plain - Json x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type x-speakeasy-param-computed: false path: description: Path to a file that logs will be written to type: string example: /tmp/access.log minLength: 1 x-speakeasy-param-computed: false required: - path x-speakeasy-param-computed: false openTelemetry: description: Defines an OpenTelemetry logging backend. type: object properties: attributes: description: |- Attributes defines custom OpenTelemetry attributes. Keys must be static OpenTelemetry attribute names. Values can contain placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators type: array items: properties: key: description: Key is the OpenTelemetry attribute name. type: string pattern: '^[a-z]([a-z0-9]|[._][a-z0-9])*$' x-speakeasy-param-computed: false value: description: Value can contain Kuma placeholders. type: string x-speakeasy-param-computed: false required: - key - value type: object example: - key: mesh value: '%KUMA_MESH%' x-speakeasy-plan-modifiers: SupressZeroNullModifier backendRef: description: |- BackendRef is a reference to a MeshOpenTelemetryBackend resource that defines the collector endpoint. Mutually exclusive with Endpoint. type: object properties: kind: description: Kind of the backend resource. type: string enum: - MeshOpenTelemetryBackend x-speakeasy-param-computed: false labels: description: |- Labels to match the referenced resource. When multiple resources match, the oldest by creation time wins. type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false body: description: |- Body is a raw string or an OTLP any value as described at https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/data-model.md#field-body It can contain placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators example: kvlistValue: values: - key: mesh value: stringValue: '%KUMA_MESH%' x-kubernetes-preserve-unknown-fields: true x-speakeasy-plan-modifiers: ArbitraryJSONModifier endpoint: description: |- Endpoint of OpenTelemetry collector. An empty port defaults to 4317. Deprecated: use BackendRef instead. type: string example: 'otel-collector:4317' default: '' x-speakeasy-param-computed: false x-speakeasy-param-computed: false tcp: description: TCPBackend defines a TCP logging backend. type: object properties: address: description: Address of the TCP logging backend type: string example: '127.0.0.1:5000' minLength: 1 x-speakeasy-param-computed: false format: description: |- Format of access logs. Placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators type: object properties: json: type: array items: properties: key: type: string x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - key - value type: object example: - key: start_time value: '%START_TIME%' - key: bytes_received value: '%BYTES_RECEIVED%' x-speakeasy-plan-modifiers: SupressZeroNullModifier omitEmptyValues: type: boolean default: false x-speakeasy-param-computed: false plain: type: string example: '[%START_TIME%] %KUMA_MESH% %UPSTREAM_HOST%' x-speakeasy-param-computed: false type: type: string enum: - Plain - Json x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type x-speakeasy-param-computed: false required: - address x-speakeasy-param-computed: false type: type: string enum: - Tcp - File - OpenTelemetry x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of clients. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - default - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier rules: description: Rules defines inbound access log configurations. type: array items: properties: default: description: Default contains configuration of the inbound access logging type: object properties: backends: type: array items: properties: file: description: FileBackend defines configuration for file based access logs type: object properties: format: description: |- Format of access logs. Placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators type: object properties: json: type: array items: properties: key: type: string x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - key - value type: object example: - key: start_time value: '%START_TIME%' - key: bytes_received value: '%BYTES_RECEIVED%' x-speakeasy-plan-modifiers: SupressZeroNullModifier omitEmptyValues: type: boolean default: false x-speakeasy-param-computed: false plain: type: string example: '[%START_TIME%] %KUMA_MESH% %UPSTREAM_HOST%' x-speakeasy-param-computed: false type: type: string enum: - Plain - Json x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type x-speakeasy-param-computed: false path: description: Path to a file that logs will be written to type: string example: /tmp/access.log minLength: 1 x-speakeasy-param-computed: false required: - path x-speakeasy-param-computed: false openTelemetry: description: Defines an OpenTelemetry logging backend. type: object properties: attributes: description: |- Attributes defines custom OpenTelemetry attributes. Keys must be static OpenTelemetry attribute names. Values can contain placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators type: array items: properties: key: description: Key is the OpenTelemetry attribute name. type: string pattern: '^[a-z]([a-z0-9]|[._][a-z0-9])*$' x-speakeasy-param-computed: false value: description: Value can contain Kuma placeholders. type: string x-speakeasy-param-computed: false required: - key - value type: object example: - key: mesh value: '%KUMA_MESH%' x-speakeasy-plan-modifiers: SupressZeroNullModifier backendRef: description: |- BackendRef is a reference to a MeshOpenTelemetryBackend resource that defines the collector endpoint. Mutually exclusive with Endpoint. type: object properties: kind: description: Kind of the backend resource. type: string enum: - MeshOpenTelemetryBackend x-speakeasy-param-computed: false labels: description: |- Labels to match the referenced resource. When multiple resources match, the oldest by creation time wins. type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false body: description: |- Body is a raw string or an OTLP any value as described at https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/data-model.md#field-body It can contain placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators example: kvlistValue: values: - key: mesh value: stringValue: '%KUMA_MESH%' x-kubernetes-preserve-unknown-fields: true endpoint: description: |- Endpoint of OpenTelemetry collector. An empty port defaults to 4317. Deprecated: use BackendRef instead. type: string example: 'otel-collector:4317' default: '' x-speakeasy-param-computed: false x-speakeasy-param-computed: false tcp: description: TCPBackend defines a TCP logging backend. type: object properties: address: description: Address of the TCP logging backend type: string example: '127.0.0.1:5000' minLength: 1 x-speakeasy-param-computed: false format: description: |- Format of access logs. Placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators type: object properties: json: type: array items: properties: key: type: string x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - key - value type: object example: - key: start_time value: '%START_TIME%' - key: bytes_received value: '%BYTES_RECEIVED%' x-speakeasy-plan-modifiers: SupressZeroNullModifier omitEmptyValues: type: boolean default: false x-speakeasy-param-computed: false plain: type: string example: '[%START_TIME%] %KUMA_MESH% %UPSTREAM_HOST%' x-speakeasy-param-computed: false type: type: string enum: - Plain - Json x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type x-speakeasy-param-computed: false required: - address x-speakeasy-param-computed: false type: type: string enum: - Tcp - File - OpenTelemetry x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false matches: description: |- Matches defines a list of conditions (by SpiffeID or SNI) that select the traffic this rule applies to. Rules fire independently: a connection that satisfies multiple rules is logged to every matching rule's backends. type: array items: properties: sni: description: SNI defines a matcher configuration for matching by SNI value carried on the TLS connection type: object properties: type: description: Type defines how to match traffic by SNI. Only `Exact` is supported. type: string enum: - Exact x-speakeasy-param-computed: false value: description: Value is the SNI carried on the TLS connection that needs to match for the configuration to be applied type: string x-speakeasy-param-computed: false required: - type - value x-speakeasy-param-computed: false spiffeID: description: SpiffeID defines a matcher configuration for SpiffeID matching type: object properties: type: description: Type defines how to match incoming traffic by SpiffeID. `Exact` or `Prefix` are allowed. type: string enum: - Exact - Prefix x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value is SpiffeID of a client that needs to match for the configuration to be applied type: string x-speakeasy-param-computed: false required: - type - value x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier required: - default type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined in-place. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false to: description: To list makes a match between the consumed services and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of destinations referenced in 'targetRef' type: object properties: backends: type: array items: properties: file: description: FileBackend defines configuration for file based access logs type: object properties: format: description: |- Format of access logs. Placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators type: object properties: json: type: array items: properties: key: type: string x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - key - value type: object example: - key: start_time value: '%START_TIME%' - key: bytes_received value: '%BYTES_RECEIVED%' x-speakeasy-plan-modifiers: SupressZeroNullModifier omitEmptyValues: type: boolean default: false x-speakeasy-param-computed: false plain: type: string example: '[%START_TIME%] %KUMA_MESH% %UPSTREAM_HOST%' x-speakeasy-param-computed: false type: type: string enum: - Plain - Json x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type x-speakeasy-param-computed: false path: description: Path to a file that logs will be written to type: string example: /tmp/access.log minLength: 1 x-speakeasy-param-computed: false required: - path x-speakeasy-param-computed: false openTelemetry: description: Defines an OpenTelemetry logging backend. type: object properties: attributes: description: |- Attributes defines custom OpenTelemetry attributes. Keys must be static OpenTelemetry attribute names. Values can contain placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators type: array items: properties: key: description: Key is the OpenTelemetry attribute name. type: string pattern: '^[a-z]([a-z0-9]|[._][a-z0-9])*$' x-speakeasy-param-computed: false value: description: Value can contain Kuma placeholders. type: string x-speakeasy-param-computed: false required: - key - value type: object example: - key: mesh value: '%KUMA_MESH%' x-speakeasy-plan-modifiers: SupressZeroNullModifier backendRef: description: |- BackendRef is a reference to a MeshOpenTelemetryBackend resource that defines the collector endpoint. Mutually exclusive with Endpoint. type: object properties: kind: description: Kind of the backend resource. type: string enum: - MeshOpenTelemetryBackend x-speakeasy-param-computed: false labels: description: |- Labels to match the referenced resource. When multiple resources match, the oldest by creation time wins. type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false body: description: |- Body is a raw string or an OTLP any value as described at https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/data-model.md#field-body It can contain placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators example: kvlistValue: values: - key: mesh value: stringValue: '%KUMA_MESH%' x-kubernetes-preserve-unknown-fields: true x-speakeasy-plan-modifiers: ArbitraryJSONModifier endpoint: description: |- Endpoint of OpenTelemetry collector. An empty port defaults to 4317. Deprecated: use BackendRef instead. type: string example: 'otel-collector:4317' default: '' x-speakeasy-param-computed: false x-speakeasy-param-computed: false tcp: description: TCPBackend defines a TCP logging backend. type: object properties: address: description: Address of the TCP logging backend type: string example: '127.0.0.1:5000' minLength: 1 x-speakeasy-param-computed: false format: description: |- Format of access logs. Placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators type: object properties: json: type: array items: properties: key: type: string x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - key - value type: object example: - key: start_time value: '%START_TIME%' - key: bytes_received value: '%BYTES_RECEIVED%' x-speakeasy-plan-modifiers: SupressZeroNullModifier omitEmptyValues: type: boolean default: false x-speakeasy-param-computed: false plain: type: string example: '[%START_TIME%] %KUMA_MESH% %UPSTREAM_HOST%' x-speakeasy-param-computed: false type: type: string enum: - Plain - Json x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type x-speakeasy-param-computed: false required: - address x-speakeasy-param-computed: false type: type: string enum: - Tcp - File - OpenTelemetry x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of destinations. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - default - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true status: description: Status is the current status of the Kuma MeshAccessLog resource. type: object properties: conditions: type: array items: properties: message: description: |- message is a human readable message indicating details about the transition. This may be an empty string. type: string maxLength: 32768 x-speakeasy-param-computed: false reason: description: |- reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. type: string maxLength: 1024 minLength: 1 pattern: '^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$' x-speakeasy-param-computed: false status: description: 'status of the condition, one of True, False, Unknown.' type: string enum: - 'True' - 'False' - Unknown x-speakeasy-unknown-values: allow type: description: type of condition in CamelCase or in foo.example.com/CamelCase. type: string maxLength: 316 pattern: '^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$' x-speakeasy-param-computed: false required: - message - reason - status - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshCircuitBreakerItem: description: MeshCircuitBreaker protects services from cascading failures by limiting connections and detecting unhealthy instances. It provides connection limits to prevent overload and outlier detection to temporarily remove failing endpoints from the load balancing pool. type: object properties: type: description: the type of the resource type: string enum: - MeshCircuitBreaker x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mcb_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshCircuitBreaker resource. type: object properties: from: description: From list makes a match between clients and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of destinations referenced in 'targetRef' type: object properties: connectionLimits: description: |- ConnectionLimits contains configuration of each circuit breaking limit, which when exceeded makes the circuit breaker to become open (no traffic is allowed like no current is allowed in the circuits when physical circuit breaker ir open) type: object properties: maxConnectionPools: description: |- The maximum number of connection pools per cluster that are concurrently supported at once. Set this for clusters which create a large number of connection pools. type: integer format: int32 x-speakeasy-param-computed: false maxConnections: description: |- The maximum number of connections allowed to be made to the upstream cluster. type: integer format: int32 x-speakeasy-param-computed: false maxPendingRequests: description: |- The maximum number of pending requests that are allowed to the upstream cluster. This limit is applied as a connection limit for non-HTTP traffic. type: integer format: int32 x-speakeasy-param-computed: false maxRequests: description: |- The maximum number of parallel requests that are allowed to be made to the upstream cluster. This limit does not apply to non-HTTP traffic. type: integer format: int32 x-speakeasy-param-computed: false maxRetries: description: |- The maximum number of parallel retries that will be allowed to the upstream cluster. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false outlierDetection: description: |- OutlierDetection contains the configuration of the process of dynamically determining whether some number of hosts in an upstream cluster are performing unlike the others and removing them from the healthy load balancing set. Performance might be along different axes such as consecutive failures, temporal success rate, temporal latency, etc. Outlier detection is a form of passive health checking. type: object properties: baseEjectionTime: description: |- The base time that a host is ejected for. The real time is equal to the base time multiplied by the number of times the host has been ejected. type: string x-speakeasy-param-computed: false detectors: description: Contains configuration for supported outlier detectors type: object properties: failurePercentage: description: |- Failure Percentage based outlier detection functions similarly to success rate detection, in that it relies on success rate data from each host in a cluster. However, rather than compare those values to the mean success rate of the cluster as a whole, they are compared to a flat user-configured threshold. This threshold is configured via the outlierDetection.failurePercentageThreshold field. The other configuration fields for failure percentage based detection are similar to the fields for success rate detection. As with success rate detection, detection will not be performed for a host if its request volume over the aggregation interval is less than the outlierDetection.detectors.failurePercentage.requestVolume value. Detection also will not be performed for a cluster if the number of hosts with the minimum required request volume in an interval is less than the outlierDetection.detectors.failurePercentage.minimumHosts value. type: object properties: minimumHosts: description: |- The minimum number of hosts in a cluster in order to perform failure percentage-based ejection. If the total number of hosts in the cluster is less than this value, failure percentage-based ejection will not be performed. type: integer format: int32 x-speakeasy-param-computed: false requestVolume: description: |- The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to perform failure percentage-based ejection for this host. If the volume is lower than this setting, failure percentage-based ejection will not be performed for this host. type: integer format: int32 x-speakeasy-param-computed: false threshold: description: |- The failure percentage to use when determining failure percentage-based outlier detection. If the failure percentage of a given host is greater than or equal to this value, it will be ejected. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false gatewayFailures: description: |- In the default mode (outlierDetection.splitExternalLocalOriginErrors is false) this detection type takes into account a subset of 5xx errors, called "gateway errors" (502, 503 or 504 status code) and local origin failures, such as timeout, TCP reset etc. In split mode (outlierDetection.splitExternalLocalOriginErrors is true) this detection type takes into account a subset of 5xx errors, called "gateway errors" (502, 503 or 504 status code) and is supported only by the http router. type: object properties: consecutive: description: |- The number of consecutive gateway failures (502, 503, 504 status codes) before a consecutive gateway failure ejection occurs. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false localOriginFailures: description: |- This detection type is enabled only when outlierDetection.splitExternalLocalOriginErrors is true and takes into account only locally originated errors (timeout, reset, etc). If Envoy repeatedly cannot connect to an upstream host or communication with the upstream host is repeatedly interrupted, it will be ejected. Various locally originated problems are detected: timeout, TCP reset, ICMP errors, etc. This detection type is supported by http router and tcp proxy. type: object properties: consecutive: description: |- The number of consecutive locally originated failures before ejection occurs. Parameter takes effect only when splitExternalAndLocalErrors is set to true. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false successRate: description: |- Success Rate based outlier detection aggregates success rate data from every host in a cluster. Then at given intervals ejects hosts based on statistical outlier detection. Success Rate outlier detection will not be calculated for a host if its request volume over the aggregation interval is less than the outlierDetection.detectors.successRate.requestVolume value. Moreover, detection will not be performed for a cluster if the number of hosts with the minimum required request volume in an interval is less than the outlierDetection.detectors.successRate.minimumHosts value. In the default configuration mode (outlierDetection.splitExternalLocalOriginErrors is false) this detection type takes into account all types of errors: locally and externally originated. In split mode (outlierDetection.splitExternalLocalOriginErrors is true), locally originated errors and externally originated (transaction) errors are counted and treated separately. type: object properties: minimumHosts: description: |- The number of hosts in a cluster that must have enough request volume to detect success rate outliers. If the number of hosts is less than this setting, outlier detection via success rate statistics is not performed for any host in the cluster. type: integer format: int32 x-speakeasy-param-computed: false requestVolume: description: |- The minimum number of total requests that must be collected in one interval (as defined by the interval duration configured in outlierDetection section) to include this host in success rate based outlier detection. If the volume is lower than this setting, outlier detection via success rate statistics is not performed for that host. type: integer format: int32 x-speakeasy-param-computed: false standardDeviationFactor: description: |- This factor is used to determine the ejection threshold for success rate outlier ejection. The ejection threshold is the difference between the mean success rate, and the product of this factor and the standard deviation of the mean success rate: mean - (standard_deviation * success_rate_standard_deviation_factor). Either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false x-speakeasy-param-computed: false totalFailures: description: |- In the default mode (outlierDetection.splitExternalAndLocalErrors is false) this detection type takes into account all generated errors: locally originated and externally originated (transaction) errors. In split mode (outlierDetection.splitExternalLocalOriginErrors is true) this detection type takes into account only externally originated (transaction) errors, ignoring locally originated errors. If an upstream host is an HTTP-server, only 5xx types of error are taken into account (see Consecutive Gateway Failure for exceptions). Properly formatted responses, even when they carry an operational error (like index not found, access denied) are not taken into account. type: object properties: consecutive: description: |- The number of consecutive server-side error responses (for HTTP traffic, 5xx responses; for TCP traffic, connection failures; for Redis, failure to respond PONG; etc.) before a consecutive total failure ejection occurs. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false disabled: description: 'When set to true, outlierDetection configuration won''t take any effect' type: boolean x-speakeasy-param-computed: false healthyPanicThreshold: description: |- Allows to configure panic threshold for Envoy cluster. If not specified, the default is 50%. To disable panic mode, set to 0%. Either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false interval: description: |- The time interval between ejection analysis sweeps. This can result in both new ejections and hosts being returned to service. type: string x-speakeasy-param-computed: false maxEjectionPercent: description: |- The maximum % of an upstream cluster that can be ejected due to outlier detection. Defaults to 10% but will eject at least one host regardless of the value. type: integer format: int32 x-speakeasy-param-computed: false splitExternalAndLocalErrors: description: |- Determines whether to distinguish local origin failures from external errors. If set to true the following configuration parameters are taken into account: detectors.localOriginFailures.consecutive type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of destinations. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier rules: description: |- Rules defines inbound circuit breaker configurations. Currently limited to selecting all inbound traffic, as L7 matching is not yet implemented. type: array items: properties: default: description: Default contains configuration of the inbound circuit breaker type: object properties: connectionLimits: description: |- ConnectionLimits contains configuration of each circuit breaking limit, which when exceeded makes the circuit breaker to become open (no traffic is allowed like no current is allowed in the circuits when physical circuit breaker ir open) type: object properties: maxConnectionPools: description: |- The maximum number of connection pools per cluster that are concurrently supported at once. Set this for clusters which create a large number of connection pools. type: integer format: int32 x-speakeasy-param-computed: false maxConnections: description: |- The maximum number of connections allowed to be made to the upstream cluster. type: integer format: int32 x-speakeasy-param-computed: false maxPendingRequests: description: |- The maximum number of pending requests that are allowed to the upstream cluster. This limit is applied as a connection limit for non-HTTP traffic. type: integer format: int32 x-speakeasy-param-computed: false maxRequests: description: |- The maximum number of parallel requests that are allowed to be made to the upstream cluster. This limit does not apply to non-HTTP traffic. type: integer format: int32 x-speakeasy-param-computed: false maxRetries: description: |- The maximum number of parallel retries that will be allowed to the upstream cluster. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false outlierDetection: description: |- OutlierDetection contains the configuration of the process of dynamically determining whether some number of hosts in an upstream cluster are performing unlike the others and removing them from the healthy load balancing set. Performance might be along different axes such as consecutive failures, temporal success rate, temporal latency, etc. Outlier detection is a form of passive health checking. type: object properties: baseEjectionTime: description: |- The base time that a host is ejected for. The real time is equal to the base time multiplied by the number of times the host has been ejected. type: string x-speakeasy-param-computed: false detectors: description: Contains configuration for supported outlier detectors type: object properties: failurePercentage: description: |- Failure Percentage based outlier detection functions similarly to success rate detection, in that it relies on success rate data from each host in a cluster. However, rather than compare those values to the mean success rate of the cluster as a whole, they are compared to a flat user-configured threshold. This threshold is configured via the outlierDetection.failurePercentageThreshold field. The other configuration fields for failure percentage based detection are similar to the fields for success rate detection. As with success rate detection, detection will not be performed for a host if its request volume over the aggregation interval is less than the outlierDetection.detectors.failurePercentage.requestVolume value. Detection also will not be performed for a cluster if the number of hosts with the minimum required request volume in an interval is less than the outlierDetection.detectors.failurePercentage.minimumHosts value. type: object properties: minimumHosts: description: |- The minimum number of hosts in a cluster in order to perform failure percentage-based ejection. If the total number of hosts in the cluster is less than this value, failure percentage-based ejection will not be performed. type: integer format: int32 x-speakeasy-param-computed: false requestVolume: description: |- The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to perform failure percentage-based ejection for this host. If the volume is lower than this setting, failure percentage-based ejection will not be performed for this host. type: integer format: int32 x-speakeasy-param-computed: false threshold: description: |- The failure percentage to use when determining failure percentage-based outlier detection. If the failure percentage of a given host is greater than or equal to this value, it will be ejected. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false gatewayFailures: description: |- In the default mode (outlierDetection.splitExternalLocalOriginErrors is false) this detection type takes into account a subset of 5xx errors, called "gateway errors" (502, 503 or 504 status code) and local origin failures, such as timeout, TCP reset etc. In split mode (outlierDetection.splitExternalLocalOriginErrors is true) this detection type takes into account a subset of 5xx errors, called "gateway errors" (502, 503 or 504 status code) and is supported only by the http router. type: object properties: consecutive: description: |- The number of consecutive gateway failures (502, 503, 504 status codes) before a consecutive gateway failure ejection occurs. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false localOriginFailures: description: |- This detection type is enabled only when outlierDetection.splitExternalLocalOriginErrors is true and takes into account only locally originated errors (timeout, reset, etc). If Envoy repeatedly cannot connect to an upstream host or communication with the upstream host is repeatedly interrupted, it will be ejected. Various locally originated problems are detected: timeout, TCP reset, ICMP errors, etc. This detection type is supported by http router and tcp proxy. type: object properties: consecutive: description: |- The number of consecutive locally originated failures before ejection occurs. Parameter takes effect only when splitExternalAndLocalErrors is set to true. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false successRate: description: |- Success Rate based outlier detection aggregates success rate data from every host in a cluster. Then at given intervals ejects hosts based on statistical outlier detection. Success Rate outlier detection will not be calculated for a host if its request volume over the aggregation interval is less than the outlierDetection.detectors.successRate.requestVolume value. Moreover, detection will not be performed for a cluster if the number of hosts with the minimum required request volume in an interval is less than the outlierDetection.detectors.successRate.minimumHosts value. In the default configuration mode (outlierDetection.splitExternalLocalOriginErrors is false) this detection type takes into account all types of errors: locally and externally originated. In split mode (outlierDetection.splitExternalLocalOriginErrors is true), locally originated errors and externally originated (transaction) errors are counted and treated separately. type: object properties: minimumHosts: description: |- The number of hosts in a cluster that must have enough request volume to detect success rate outliers. If the number of hosts is less than this setting, outlier detection via success rate statistics is not performed for any host in the cluster. type: integer format: int32 x-speakeasy-param-computed: false requestVolume: description: |- The minimum number of total requests that must be collected in one interval (as defined by the interval duration configured in outlierDetection section) to include this host in success rate based outlier detection. If the volume is lower than this setting, outlier detection via success rate statistics is not performed for that host. type: integer format: int32 x-speakeasy-param-computed: false standardDeviationFactor: description: |- This factor is used to determine the ejection threshold for success rate outlier ejection. The ejection threshold is the difference between the mean success rate, and the product of this factor and the standard deviation of the mean success rate: mean - (standard_deviation * success_rate_standard_deviation_factor). Either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false x-speakeasy-param-computed: false totalFailures: description: |- In the default mode (outlierDetection.splitExternalAndLocalErrors is false) this detection type takes into account all generated errors: locally originated and externally originated (transaction) errors. In split mode (outlierDetection.splitExternalLocalOriginErrors is true) this detection type takes into account only externally originated (transaction) errors, ignoring locally originated errors. If an upstream host is an HTTP-server, only 5xx types of error are taken into account (see Consecutive Gateway Failure for exceptions). Properly formatted responses, even when they carry an operational error (like index not found, access denied) are not taken into account. type: object properties: consecutive: description: |- The number of consecutive server-side error responses (for HTTP traffic, 5xx responses; for TCP traffic, connection failures; for Redis, failure to respond PONG; etc.) before a consecutive total failure ejection occurs. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false disabled: description: 'When set to true, outlierDetection configuration won''t take any effect' type: boolean x-speakeasy-param-computed: false healthyPanicThreshold: description: |- Allows to configure panic threshold for Envoy cluster. If not specified, the default is 50%. To disable panic mode, set to 0%. Either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false interval: description: |- The time interval between ejection analysis sweeps. This can result in both new ejections and hosts being returned to service. type: string x-speakeasy-param-computed: false maxEjectionPercent: description: |- The maximum % of an upstream cluster that can be ejected due to outlier detection. Defaults to 10% but will eject at least one host regardless of the value. type: integer format: int32 x-speakeasy-param-computed: false splitExternalAndLocalErrors: description: |- Determines whether to distinguish local origin failures from external errors. If set to true the following configuration parameters are taken into account: detectors.localOriginFailures.consecutive type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined in place. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false to: description: |- To list makes a match between the consumed services and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of destinations referenced in 'targetRef' type: object properties: connectionLimits: description: |- ConnectionLimits contains configuration of each circuit breaking limit, which when exceeded makes the circuit breaker to become open (no traffic is allowed like no current is allowed in the circuits when physical circuit breaker ir open) type: object properties: maxConnectionPools: description: |- The maximum number of connection pools per cluster that are concurrently supported at once. Set this for clusters which create a large number of connection pools. type: integer format: int32 x-speakeasy-param-computed: false maxConnections: description: |- The maximum number of connections allowed to be made to the upstream cluster. type: integer format: int32 x-speakeasy-param-computed: false maxPendingRequests: description: |- The maximum number of pending requests that are allowed to the upstream cluster. This limit is applied as a connection limit for non-HTTP traffic. type: integer format: int32 x-speakeasy-param-computed: false maxRequests: description: |- The maximum number of parallel requests that are allowed to be made to the upstream cluster. This limit does not apply to non-HTTP traffic. type: integer format: int32 x-speakeasy-param-computed: false maxRetries: description: |- The maximum number of parallel retries that will be allowed to the upstream cluster. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false outlierDetection: description: |- OutlierDetection contains the configuration of the process of dynamically determining whether some number of hosts in an upstream cluster are performing unlike the others and removing them from the healthy load balancing set. Performance might be along different axes such as consecutive failures, temporal success rate, temporal latency, etc. Outlier detection is a form of passive health checking. type: object properties: baseEjectionTime: description: |- The base time that a host is ejected for. The real time is equal to the base time multiplied by the number of times the host has been ejected. type: string x-speakeasy-param-computed: false detectors: description: Contains configuration for supported outlier detectors type: object properties: failurePercentage: description: |- Failure Percentage based outlier detection functions similarly to success rate detection, in that it relies on success rate data from each host in a cluster. However, rather than compare those values to the mean success rate of the cluster as a whole, they are compared to a flat user-configured threshold. This threshold is configured via the outlierDetection.failurePercentageThreshold field. The other configuration fields for failure percentage based detection are similar to the fields for success rate detection. As with success rate detection, detection will not be performed for a host if its request volume over the aggregation interval is less than the outlierDetection.detectors.failurePercentage.requestVolume value. Detection also will not be performed for a cluster if the number of hosts with the minimum required request volume in an interval is less than the outlierDetection.detectors.failurePercentage.minimumHosts value. type: object properties: minimumHosts: description: |- The minimum number of hosts in a cluster in order to perform failure percentage-based ejection. If the total number of hosts in the cluster is less than this value, failure percentage-based ejection will not be performed. type: integer format: int32 x-speakeasy-param-computed: false requestVolume: description: |- The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to perform failure percentage-based ejection for this host. If the volume is lower than this setting, failure percentage-based ejection will not be performed for this host. type: integer format: int32 x-speakeasy-param-computed: false threshold: description: |- The failure percentage to use when determining failure percentage-based outlier detection. If the failure percentage of a given host is greater than or equal to this value, it will be ejected. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false gatewayFailures: description: |- In the default mode (outlierDetection.splitExternalLocalOriginErrors is false) this detection type takes into account a subset of 5xx errors, called "gateway errors" (502, 503 or 504 status code) and local origin failures, such as timeout, TCP reset etc. In split mode (outlierDetection.splitExternalLocalOriginErrors is true) this detection type takes into account a subset of 5xx errors, called "gateway errors" (502, 503 or 504 status code) and is supported only by the http router. type: object properties: consecutive: description: |- The number of consecutive gateway failures (502, 503, 504 status codes) before a consecutive gateway failure ejection occurs. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false localOriginFailures: description: |- This detection type is enabled only when outlierDetection.splitExternalLocalOriginErrors is true and takes into account only locally originated errors (timeout, reset, etc). If Envoy repeatedly cannot connect to an upstream host or communication with the upstream host is repeatedly interrupted, it will be ejected. Various locally originated problems are detected: timeout, TCP reset, ICMP errors, etc. This detection type is supported by http router and tcp proxy. type: object properties: consecutive: description: |- The number of consecutive locally originated failures before ejection occurs. Parameter takes effect only when splitExternalAndLocalErrors is set to true. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false successRate: description: |- Success Rate based outlier detection aggregates success rate data from every host in a cluster. Then at given intervals ejects hosts based on statistical outlier detection. Success Rate outlier detection will not be calculated for a host if its request volume over the aggregation interval is less than the outlierDetection.detectors.successRate.requestVolume value. Moreover, detection will not be performed for a cluster if the number of hosts with the minimum required request volume in an interval is less than the outlierDetection.detectors.successRate.minimumHosts value. In the default configuration mode (outlierDetection.splitExternalLocalOriginErrors is false) this detection type takes into account all types of errors: locally and externally originated. In split mode (outlierDetection.splitExternalLocalOriginErrors is true), locally originated errors and externally originated (transaction) errors are counted and treated separately. type: object properties: minimumHosts: description: |- The number of hosts in a cluster that must have enough request volume to detect success rate outliers. If the number of hosts is less than this setting, outlier detection via success rate statistics is not performed for any host in the cluster. type: integer format: int32 x-speakeasy-param-computed: false requestVolume: description: |- The minimum number of total requests that must be collected in one interval (as defined by the interval duration configured in outlierDetection section) to include this host in success rate based outlier detection. If the volume is lower than this setting, outlier detection via success rate statistics is not performed for that host. type: integer format: int32 x-speakeasy-param-computed: false standardDeviationFactor: description: |- This factor is used to determine the ejection threshold for success rate outlier ejection. The ejection threshold is the difference between the mean success rate, and the product of this factor and the standard deviation of the mean success rate: mean - (standard_deviation * success_rate_standard_deviation_factor). Either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false x-speakeasy-param-computed: false totalFailures: description: |- In the default mode (outlierDetection.splitExternalAndLocalErrors is false) this detection type takes into account all generated errors: locally originated and externally originated (transaction) errors. In split mode (outlierDetection.splitExternalLocalOriginErrors is true) this detection type takes into account only externally originated (transaction) errors, ignoring locally originated errors. If an upstream host is an HTTP-server, only 5xx types of error are taken into account (see Consecutive Gateway Failure for exceptions). Properly formatted responses, even when they carry an operational error (like index not found, access denied) are not taken into account. type: object properties: consecutive: description: |- The number of consecutive server-side error responses (for HTTP traffic, 5xx responses; for TCP traffic, connection failures; for Redis, failure to respond PONG; etc.) before a consecutive total failure ejection occurs. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false disabled: description: 'When set to true, outlierDetection configuration won''t take any effect' type: boolean x-speakeasy-param-computed: false healthyPanicThreshold: description: |- Allows to configure panic threshold for Envoy cluster. If not specified, the default is 50%. To disable panic mode, set to 0%. Either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false interval: description: |- The time interval between ejection analysis sweeps. This can result in both new ejections and hosts being returned to service. type: string x-speakeasy-param-computed: false maxEjectionPercent: description: |- The maximum % of an upstream cluster that can be ejected due to outlier detection. Defaults to 10% but will eject at least one host regardless of the value. type: integer format: int32 x-speakeasy-param-computed: false splitExternalAndLocalErrors: description: |- Determines whether to distinguish local origin failures from external errors. If set to true the following configuration parameters are taken into account: detectors.localOriginFailures.consecutive type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of destinations. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshFaultInjectionItem: description: 'MeshFaultInjection allows you to test the resiliency of your services by injecting faults like delays, connection aborts, and response bandwidth limits into the traffic. This is useful for chaos testing and validating that your applications handle failures gracefully.' type: object properties: type: description: the type of the resource type: string enum: - MeshFaultInjection x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mfi_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshFaultInjection resource. type: object properties: from: description: From list makes a match between clients and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of destinations referenced in 'targetRef' type: object properties: http: description: Http allows to define list of Http faults between dataplanes. type: array items: description: FaultInjection defines the configuration of faults between dataplanes. properties: abort: description: |- Abort defines a configuration of not delivering requests to destination service and replacing the responses from destination dataplane by predefined status code type: object properties: httpStatus: description: HTTP status code which will be returned to source side type: integer format: int32 x-speakeasy-param-computed: false percentage: description: |- Percentage of requests on which abort will be injected, has to be either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false required: - httpStatus - percentage x-speakeasy-param-computed: false delay: description: Delay defines configuration of delaying a response from a destination type: object properties: percentage: description: |- Percentage of requests on which delay will be injected, has to be either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false value: description: The duration during which the response will be delayed type: string x-speakeasy-param-computed: false required: - percentage - value x-speakeasy-param-computed: false responseBandwidth: description: |- ResponseBandwidth defines a configuration to limit the speed of responding to the requests type: object properties: limit: description: |- Limit is represented by value measure in Gbps, Mbps, kbps, e.g. 10kbps type: string x-speakeasy-param-computed: false percentage: description: |- Percentage of requests on which response bandwidth limit will be either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false required: - limit - percentage x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of destinations. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier rules: description: Rules defines inbound fault injection configuration type: array items: properties: default: description: Default defines fault configuration type: object properties: http: description: Http allows to define list of Http faults between dataplanes. type: array items: description: FaultInjection defines the configuration of faults between dataplanes. properties: abort: description: |- Abort defines a configuration of not delivering requests to destination service and replacing the responses from destination dataplane by predefined status code type: object properties: httpStatus: description: HTTP status code which will be returned to source side type: integer format: int32 x-speakeasy-param-computed: false percentage: description: |- Percentage of requests on which abort will be injected, has to be either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false required: - httpStatus - percentage x-speakeasy-param-computed: false delay: description: Delay defines configuration of delaying a response from a destination type: object properties: percentage: description: |- Percentage of requests on which delay will be injected, has to be either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false value: description: The duration during which the response will be delayed type: string x-speakeasy-param-computed: false required: - percentage - value x-speakeasy-param-computed: false responseBandwidth: description: |- ResponseBandwidth defines a configuration to limit the speed of responding to the requests type: object properties: limit: description: |- Limit is represented by value measure in Gbps, Mbps, kbps, e.g. 10kbps type: string x-speakeasy-param-computed: false percentage: description: |- Percentage of requests on which response bandwidth limit will be either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false required: - limit - percentage x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false matches: description: Matches defines list of matches for which fault injection will be applied type: array items: properties: sni: description: SNI defines a matcher configuration for matching by SNI value carried on the TLS connection type: object properties: type: description: Type defines how to match traffic by SNI. Only `Exact` is supported. type: string enum: - Exact x-speakeasy-param-computed: false value: description: Value is the SNI carried on the TLS connection that needs to match for the configuration to be applied type: string x-speakeasy-param-computed: false required: - type - value x-speakeasy-param-computed: false spiffeID: description: SpiffeID defines a matcher configuration for SpiffeID matching type: object properties: type: description: Type defines how to match incoming traffic by SpiffeID. `Exact` or `Prefix` are allowed. type: string enum: - Exact - Prefix x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value is SpiffeID of a client that needs to match for the configuration to be applied type: string x-speakeasy-param-computed: false required: - type - value x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier required: - default type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined inplace. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false to: description: To list makes a match between clients and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of destinations referenced in 'targetRef' type: object properties: http: description: Http allows to define list of Http faults between dataplanes. type: array items: description: FaultInjection defines the configuration of faults between dataplanes. properties: abort: description: |- Abort defines a configuration of not delivering requests to destination service and replacing the responses from destination dataplane by predefined status code type: object properties: httpStatus: description: HTTP status code which will be returned to source side type: integer format: int32 x-speakeasy-param-computed: false percentage: description: |- Percentage of requests on which abort will be injected, has to be either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false required: - httpStatus - percentage x-speakeasy-param-computed: false delay: description: Delay defines configuration of delaying a response from a destination type: object properties: percentage: description: |- Percentage of requests on which delay will be injected, has to be either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false value: description: The duration during which the response will be delayed type: string x-speakeasy-param-computed: false required: - percentage - value x-speakeasy-param-computed: false responseBandwidth: description: |- ResponseBandwidth defines a configuration to limit the speed of responding to the requests type: object properties: limit: description: |- Limit is represented by value measure in Gbps, Mbps, kbps, e.g. 10kbps type: string x-speakeasy-param-computed: false percentage: description: |- Percentage of requests on which response bandwidth limit will be either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false required: - limit - percentage x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of destinations. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshGatewayItem: type: object properties: conf: description: The desired configuration of the MeshGateway. type: object properties: listeners: description: |- Listeners define logical endpoints that are bound on this MeshGateway's address(es). type: array items: properties: crossMesh: description: |- CrossMesh enables traffic to flow to this listener only from other meshes. type: boolean x-speakeasy-param-computed: false hostname: description: |- Hostname specifies the virtual hostname to match for protocol types that define this concept. When unspecified, "", or `*`, all hostnames are matched. This field can be omitted for protocols that don't require hostname based matching. type: string x-speakeasy-param-computed: false port: description: |- Port is the network port. Multiple listeners may use the same port, subject to the Listener compatibility rules. type: integer x-speakeasy-param-computed: false protocol: description: Protocol specifies the network protocol this listener expects to receive. oneOf: - type: string - type: integer x-speakeasy-param-computed: false resources: description: Resources is used to specify listener-specific resource settings. type: object properties: connectionLimit: type: integer x-speakeasy-param-computed: false x-speakeasy-param-computed: false tags: description: |- Tags specifies a unique combination of tags that routes can use to match themselves to this listener. When matching routes to listeners, the control plane constructs a set of matching tags for each listener by forming the union of the gateway tags and the listener tags. A route will be attached to the listener if all of the route's tags are preset in the matching tags type: object additionalProperties: type: string x-speakeasy-param-computed: false tls: description: |- TLS is the TLS configuration for the Listener. This field is required if the Protocol field is "HTTPS" or "TLS" and ignored otherwise. type: object properties: certificates: description: |- Certificates is an array of datasources that contain TLS certificates and private keys. Each datasource must contain a sequence of PEM-encoded objects. The server certificate and private key are required, but additional certificates are allowed and will be added to the certificate chain. The server certificate must be the first certificate in the datasource. When multiple certificate datasources are configured, they must have different key types. In practice, this means that one datasource should contain an RSA key and certificate, and the other an ECDSA key and certificate. type: array items: oneOf: - $ref: '#/components/schemas/DataSource_File' - $ref: '#/components/schemas/DataSource_Inline' - $ref: '#/components/schemas/DataSource_InlineString' - $ref: '#/components/schemas/DataSource_Secret' x-speakeasy-param-computed: false default: [] mode: description: |- Mode defines the TLS behavior for the TLS session initiated by the client. oneOf: - type: string - type: integer x-speakeasy-param-computed: false options: description: |- Options should eventually configure how TLS is configured. This is where cipher suite and version configuration can be specified, client certificates enforced, and so on. type: object properties: {} x-speakeasy-param-computed: false x-speakeasy-param-computed: false type: object x-speakeasy-param-computed: false default: [] x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time readOnly: true x-speakeasy-param-suppress-computed-diff: true kri: description: Kuma Resource Identifier (KRI) of the given resource type: string readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true labels: type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue mesh: type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true modificationTime: description: Time at which the resource was updated type: string format: date-time readOnly: true x-speakeasy-param-suppress-computed-diff: true name: type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true selectors: description: |- Selectors is a list of selectors that are used to match builtin gateway dataplanes that will receive this MeshGateway configuration. type: array items: description: Selector defines structure for selecting tags for given dataplane properties: match: description: 'Tags to match, can be used for both source and destinations' type: object additionalProperties: type: string x-speakeasy-param-computed: false type: object x-speakeasy-param-computed: false default: [] tags: description: |- Tags is the set of tags common to all of the gateway's listeners. This field must not include a `kuma.io/service` tag (the service is always defined on the dataplanes). type: object additionalProperties: type: string x-speakeasy-param-computed: false type: type: string x-speakeasy-param-computed: false required: - type - name - mesh MeshHTTPRouteItem: description: |- NOTICE: This policy defines its own `GetDefault` method so that it can have the given structure for deserialization but still use the generic policy merging machinery. // MeshHTTPRoute configures how HTTP requests are routed between services in the mesh. It enables advanced traffic management including path-based routing, header matching, request/response modification, redirects, URL rewrites, traffic mirroring, and weighted load balancing across service endpoints. type: object properties: type: description: the type of the resource type: string enum: - MeshHTTPRoute x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mhttpr_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshHTTPRoute resource. type: object properties: targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined inplace. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false to: description: To matches destination services of requests and holds configuration. type: array items: properties: hostnames: description: |- Hostnames is only valid when targeting MeshGateway and limits the effects of the rules to requests to this hostname. Given hostnames must intersect with the hostname of the listeners the route attaches to. type: array items: type: string x-speakeasy-plan-modifiers: SupressZeroNullModifier rules: description: |- Rules contains the routing rules applies to a combination of top-level targetRef and the targetRef in this entry. type: array items: properties: default: description: |- Default holds routing rules that can be merged with rules from other policies. type: object properties: backendRefs: type: array items: description: BackendRef defines where to forward traffic. properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false port: description: Port is only supported when this ref refers to a real MeshService object type: integer format: int32 x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false weight: type: integer default: 1 minimum: 0 x-speakeasy-param-computed: false required: - kind type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier filters: type: array items: properties: requestHeaderModifier: description: |- Only one action is supported per header name. Configuration to set or add multiple values for a header must use RFC 7230 header value formatting, separating each value with a comma. type: object properties: add: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier remove: type: array items: type: string maxItems: 16 x-speakeasy-plan-modifiers: SupressZeroNullModifier set: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false requestMirror: type: object properties: backendRef: description: BackendRef defines where to forward traffic. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false port: description: Port is only supported when this ref refers to a real MeshService object type: integer format: int32 x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false weight: type: integer default: 1 minimum: 0 x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false percentage: description: |- Percentage of requests to mirror. If not specified, all requests to the target cluster will be mirrored. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false required: - backendRef x-speakeasy-param-computed: false requestRedirect: type: object properties: hostname: description: |- PreciseHostname is the fully qualified domain name of a network host. This matches the RFC 1123 definition of a hostname with 1 notable exception that numeric IP addresses are not allowed. Note that as per RFC1035 and RFC1123, a *label* must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character. No other punctuation is allowed. type: string maxLength: 253 minLength: 1 pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$' x-speakeasy-param-computed: false path: description: |- Path defines parameters used to modify the path of the incoming request. The modified path is then used to construct the location header. When empty, the request path is used as-is. type: object properties: replaceFullPath: type: string x-speakeasy-param-computed: false replacePrefixMatch: type: string x-speakeasy-param-computed: false type: type: string enum: - ReplaceFullPath - ReplacePrefixMatch x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type x-speakeasy-param-computed: false port: description: |- Port is the port to be used in the value of the `Location` header in the response. When empty, port (if specified) of the request is used. type: integer format: int32 maximum: 65535 minimum: 1 x-speakeasy-param-computed: false scheme: type: string enum: - http - https x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow statusCode: description: StatusCode is the HTTP status code to be used in response. type: integer default: 302 enum: - 301 - 302 - 303 - 307 - 308 x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow x-speakeasy-param-computed: false responseHeaderModifier: description: |- Only one action is supported per header name. Configuration to set or add multiple values for a header must use RFC 7230 header value formatting, separating each value with a comma. type: object properties: add: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier remove: type: array items: type: string maxItems: 16 x-speakeasy-plan-modifiers: SupressZeroNullModifier set: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false type: type: string enum: - RequestHeaderModifier - ResponseHeaderModifier - RequestRedirect - URLRewrite - RequestMirror x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow urlRewrite: type: object properties: hostToBackendHostname: description: |- HostToBackendHostname rewrites the hostname to the hostname of the upstream host. This option is only available when targeting MeshGateways. type: boolean x-speakeasy-param-computed: false hostname: description: Hostname is the value to be used to replace the host header value during forwarding. type: string maxLength: 253 minLength: 1 pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$' x-speakeasy-param-computed: false path: description: Path defines a path rewrite. type: object properties: replaceFullPath: type: string x-speakeasy-param-computed: false replacePrefixMatch: type: string x-speakeasy-param-computed: false type: type: string enum: - ReplaceFullPath - ReplacePrefixMatch x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type x-speakeasy-param-computed: false x-speakeasy-param-computed: false required: - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false matches: description: |- Matches describes how to match HTTP requests this rule should be applied to. type: array items: properties: headers: type: array items: description: |- HeaderMatch describes how to select an HTTP route by matching HTTP request headers. properties: name: description: |- Name is the name of the HTTP Header to be matched. Name MUST be lower case as they will be handled with case insensitivity (See https://tools.ietf.org/html/rfc7230#section-3.2). type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false type: description: Type specifies how to match against the value of the header. type: string default: Exact enum: - Exact - Present - RegularExpression - Absent - Prefix x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value is the value of HTTP Header to be matched. type: string x-speakeasy-param-computed: false required: - name type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier method: type: string enum: - CONNECT - DELETE - GET - HEAD - OPTIONS - PATCH - POST - PUT - TRACE x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow path: type: object properties: type: type: string enum: - Exact - PathPrefix - RegularExpression x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: |- Exact or prefix matches must be an absolute path. A prefix matches only if separated by a slash or the entire path. type: string minLength: 1 x-speakeasy-param-computed: false required: - type - value x-speakeasy-param-computed: false queryParams: description: |- QueryParams matches based on HTTP URL query parameters. Multiple matches are ANDed together such that all listed matches must succeed. type: array items: properties: name: type: string minLength: 1 x-speakeasy-param-computed: false type: type: string enum: - Exact - RegularExpression x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: type: string x-speakeasy-param-computed: false required: - name - type - value type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier type: object minItems: 1 x-speakeasy-plan-modifiers: SupressZeroNullModifier required: - default - matches type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier targetRef: description: |- TargetRef is a reference to the resource that represents a group of request destinations. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - rules - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshHealthCheckItem: description: 'MeshHealthCheck enables active health checking of services in the mesh. It periodically probes service endpoints using TCP, HTTP, or gRPC health checks to detect and remove unhealthy instances from the load balancing pool, improving overall service reliability.' type: object properties: type: description: the type of the resource type: string enum: - MeshHealthCheck x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mhc_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshHealthCheck resource. type: object properties: targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined inplace. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false to: description: To list makes a match between the consumed services and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of destinations referenced in 'targetRef' type: object properties: alwaysLogHealthCheckFailures: description: |- If set to true, health check failure events will always be logged. If set to false, only the initial health check failure event will be logged. The default value is false. type: boolean x-speakeasy-param-computed: false eventLogPath: description: |- Specifies the path to the file where Envoy can log health check events. If empty, no event log will be written. type: string x-speakeasy-param-computed: false failTrafficOnPanic: description: |- If set to true, Envoy will not consider any hosts when the cluster is in 'panic mode'. Instead, the cluster will fail all requests as if all hosts are unhealthy. This can help avoid potentially overwhelming a failing service. type: boolean x-speakeasy-param-computed: false grpc: description: |- GrpcHealthCheck defines gRPC configuration which will instruct the service the health check will be made for is a gRPC service. type: object properties: authority: description: |- The value of the :authority header in the gRPC health check request, by default name of the cluster this health check is associated with type: string x-speakeasy-param-computed: false disabled: description: If true the GrpcHealthCheck is disabled type: boolean x-speakeasy-param-computed: false serviceName: description: Service name parameter which will be sent to gRPC service type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false healthyPanicThreshold: description: |- Allows to configure panic threshold for Envoy cluster. If not specified, the default is 50%. To disable panic mode, set to 0%. Either int or decimal represented as string. Deprecated: the setting has been moved to MeshCircuitBreaker policy, please use MeshCircuitBreaker policy instead. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false healthyThreshold: description: |- Number of consecutive healthy checks before considering a host healthy. If not specified then the default value is 1 type: integer format: int32 x-speakeasy-param-computed: false http: description: |- HttpHealthCheck defines HTTP configuration which will instruct the service the health check will be made for is an HTTP service. type: object properties: disabled: description: If true the HttpHealthCheck is disabled type: boolean x-speakeasy-param-computed: false expectedStatuses: description: List of HTTP response statuses which are considered healthy type: array items: type: integer x-speakeasy-plan-modifiers: SupressZeroNullModifier path: description: |- The HTTP path which will be requested during the health check (ie. /health) If not specified then the default value is "/" type: string x-speakeasy-param-computed: false requestHeadersToAdd: description: |- The list of HTTP headers which should be added to each health check request type: object properties: add: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier set: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false x-speakeasy-param-computed: false initialJitter: description: |- If specified, Envoy will start health checking after a random time in ms between 0 and initialJitter. This only applies to the first health check. type: string x-speakeasy-param-computed: false interval: description: |- Interval between consecutive health checks. If not specified then the default value is 1m type: string x-speakeasy-param-computed: false intervalJitter: description: |- If specified, during every interval Envoy will add IntervalJitter to the wait time. type: string x-speakeasy-param-computed: false intervalJitterPercent: description: |- If specified, during every interval Envoy will add IntervalJitter * IntervalJitterPercent / 100 to the wait time. If IntervalJitter and IntervalJitterPercent are both set, both of them will be used to increase the wait time. type: integer format: int32 x-speakeasy-param-computed: false noTrafficInterval: description: |- The "no traffic interval" is a special health check interval that is used when a cluster has never had traffic routed to it. This lower interval allows cluster information to be kept up to date, without sending a potentially large amount of active health checking traffic for no reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the standard health check interval that is defined. Note that this interval takes precedence over any other. The default value for "no traffic interval" is 60 seconds. type: string x-speakeasy-param-computed: false reuseConnection: description: Reuse health check connection between health checks. Default is true. type: boolean x-speakeasy-param-computed: false tcp: description: |- TcpHealthCheck defines configuration for specifying bytes to send and expected response during the health check type: object properties: disabled: description: If true the TcpHealthCheck is disabled type: boolean x-speakeasy-param-computed: false receive: description: |- List of Base64 encoded blocks of strings expected as a response. When checking the response, "fuzzy" matching is performed such that each block must be found, and in the order specified, but not necessarily contiguous. If not provided or empty, checks will be performed as "connect only" and be marked as successful when TCP connection is successfully established. type: array items: type: string x-speakeasy-plan-modifiers: SupressZeroNullModifier send: description: Base64 encoded content of the message which will be sent during the health check to the target type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false timeout: description: |- Maximum time to wait for a health check response. If not specified then the default value is 15s type: string x-speakeasy-param-computed: false unhealthyThreshold: description: |- Number of consecutive unhealthy checks before considering a host unhealthy. If not specified then the default value is 5 type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of destinations. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshLoadBalancingStrategyItem: description: 'MeshLoadBalancingStrategy configures how traffic is distributed across service instances. It supports multiple load balancing algorithms (round-robin, least request, ring hash, random, maglev), locality-aware routing to prefer nearby instances, and cross-zone failover strategies for high availability.' type: object properties: type: description: the type of the resource type: string enum: - MeshLoadBalancingStrategy x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mlbs_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshLoadBalancingStrategy resource. type: object properties: targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined inplace. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false to: description: To list makes a match between the consumed services and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of destinations referenced in 'targetRef' type: object properties: hashPolicies: description: |- HashPolicies specify a list of request/connection properties that are used to calculate a hash. These hash policies are executed in the specified order. If a hash policy has the “terminal” attribute set to true, and there is already a hash generated, the hash is returned immediately, ignoring the rest of the hash policy list. type: array items: properties: connection: type: object properties: sourceIP: description: Hash on source IP address. type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false cookie: type: object properties: name: description: The name of the cookie that will be used to obtain the hash key. type: string minLength: 1 x-speakeasy-param-computed: false path: description: The name of the path for the cookie. type: string x-speakeasy-param-computed: false ttl: description: 'If specified, a cookie with the TTL will be generated if the cookie is not present.' type: string x-speakeasy-param-computed: false required: - name x-speakeasy-param-computed: false filterState: type: object properties: key: description: |- The name of the Object in the per-request filterState, which is an Envoy::Hashable object. If there is no data associated with the key, or the stored object is not Envoy::Hashable, no hash will be produced. type: string minLength: 1 x-speakeasy-param-computed: false required: - key x-speakeasy-param-computed: false header: type: object properties: name: description: The name of the request header that will be used to obtain the hash key. type: string minLength: 1 x-speakeasy-param-computed: false required: - name x-speakeasy-param-computed: false queryParameter: type: object properties: name: description: |- The name of the URL query parameter that will be used to obtain the hash key. If the parameter is not present, no hash will be produced. Query parameter names are case-sensitive. type: string minLength: 1 x-speakeasy-param-computed: false required: - name x-speakeasy-param-computed: false terminal: description: |- Terminal is a flag that short-circuits the hash computing. This field provides a ‘fallback’ style of configuration: “if a terminal policy doesn’t work, fallback to rest of the policy list”, it saves time when the terminal policy works. If true, and there is already a hash computed, ignore rest of the list of hash polices. type: boolean x-speakeasy-param-computed: false type: type: string enum: - Header - Cookie - Connection - SourceIP - QueryParameter - FilterState x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier loadBalancer: description: LoadBalancer allows to specify load balancing algorithm. type: object properties: leastRequest: description: |- LeastRequest selects N random available hosts as specified in 'choiceCount' (2 by default) and picks the host which has the fewest active requests type: object properties: activeRequestBias: description: |- ActiveRequestBias refers to dynamic weights applied when hosts have varying load balancing weights. A higher value here aggressively reduces the weight of endpoints that are currently handling active requests. In essence, the higher the ActiveRequestBias value, the more forcefully it reduces the load balancing weight of endpoints that are actively serving requests. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false choiceCount: description: |- ChoiceCount is the number of random healthy hosts from which the host with the fewest active requests will be chosen. Defaults to 2 so that Envoy performs two-choice selection if the field is not set. type: integer format: int32 minimum: 2 x-speakeasy-param-computed: false x-speakeasy-param-computed: false maglev: description: |- Maglev implements consistent hashing to upstream hosts. Maglev can be used as a drop in replacement for the ring hash load balancer any place in which consistent hashing is desired. type: object properties: hashPolicies: description: |- HashPolicies specify a list of request/connection properties that are used to calculate a hash. These hash policies are executed in the specified order. If a hash policy has the “terminal” attribute set to true, and there is already a hash generated, the hash is returned immediately, ignoring the rest of the hash policy list. type: array items: properties: connection: type: object properties: sourceIP: description: Hash on source IP address. type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false cookie: type: object properties: name: description: The name of the cookie that will be used to obtain the hash key. type: string minLength: 1 x-speakeasy-param-computed: false path: description: The name of the path for the cookie. type: string x-speakeasy-param-computed: false ttl: description: 'If specified, a cookie with the TTL will be generated if the cookie is not present.' type: string x-speakeasy-param-computed: false required: - name x-speakeasy-param-computed: false filterState: type: object properties: key: description: |- The name of the Object in the per-request filterState, which is an Envoy::Hashable object. If there is no data associated with the key, or the stored object is not Envoy::Hashable, no hash will be produced. type: string minLength: 1 x-speakeasy-param-computed: false required: - key x-speakeasy-param-computed: false header: type: object properties: name: description: The name of the request header that will be used to obtain the hash key. type: string minLength: 1 x-speakeasy-param-computed: false required: - name x-speakeasy-param-computed: false queryParameter: type: object properties: name: description: |- The name of the URL query parameter that will be used to obtain the hash key. If the parameter is not present, no hash will be produced. Query parameter names are case-sensitive. type: string minLength: 1 x-speakeasy-param-computed: false required: - name x-speakeasy-param-computed: false terminal: description: |- Terminal is a flag that short-circuits the hash computing. This field provides a ‘fallback’ style of configuration: “if a terminal policy doesn’t work, fallback to rest of the policy list”, it saves time when the terminal policy works. If true, and there is already a hash computed, ignore rest of the list of hash polices. type: boolean x-speakeasy-param-computed: false type: type: string enum: - Header - Cookie - Connection - SourceIP - QueryParameter - FilterState x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier tableSize: description: |- The table size for Maglev hashing. Maglev aims for “minimal disruption” rather than an absolute guarantee. Minimal disruption means that when the set of upstream hosts change, a connection will likely be sent to the same upstream as it was before. Increasing the table size reduces the amount of disruption. The table size must be prime number limited to 5000011. If it is not specified, the default is 65537. type: integer format: int32 maximum: 5000011 minimum: 1 x-speakeasy-param-computed: false x-speakeasy-param-computed: false random: description: |- Random selects a random available host. The random load balancer generally performs better than round-robin if no health checking policy is configured. Random selection avoids bias towards the host in the set that comes after a failed host. type: object x-speakeasy-param-computed: false ringHash: description: |- RingHash implements consistent hashing to upstream hosts. Each host is mapped onto a circle (the “ring”) by hashing its address; each request is then routed to a host by hashing some property of the request, and finding the nearest corresponding host clockwise around the ring. type: object properties: hashFunction: description: |- HashFunction is a function used to hash hosts onto the ketama ring. The value defaults to XX_HASH. Available values – XX_HASH, MURMUR_HASH_2. type: string enum: - XXHash - MurmurHash2 x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow hashPolicies: description: |- HashPolicies specify a list of request/connection properties that are used to calculate a hash. These hash policies are executed in the specified order. If a hash policy has the “terminal” attribute set to true, and there is already a hash generated, the hash is returned immediately, ignoring the rest of the hash policy list. type: array items: properties: connection: type: object properties: sourceIP: description: Hash on source IP address. type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false cookie: type: object properties: name: description: The name of the cookie that will be used to obtain the hash key. type: string minLength: 1 x-speakeasy-param-computed: false path: description: The name of the path for the cookie. type: string x-speakeasy-param-computed: false ttl: description: 'If specified, a cookie with the TTL will be generated if the cookie is not present.' type: string x-speakeasy-param-computed: false required: - name x-speakeasy-param-computed: false filterState: type: object properties: key: description: |- The name of the Object in the per-request filterState, which is an Envoy::Hashable object. If there is no data associated with the key, or the stored object is not Envoy::Hashable, no hash will be produced. type: string minLength: 1 x-speakeasy-param-computed: false required: - key x-speakeasy-param-computed: false header: type: object properties: name: description: The name of the request header that will be used to obtain the hash key. type: string minLength: 1 x-speakeasy-param-computed: false required: - name x-speakeasy-param-computed: false queryParameter: type: object properties: name: description: |- The name of the URL query parameter that will be used to obtain the hash key. If the parameter is not present, no hash will be produced. Query parameter names are case-sensitive. type: string minLength: 1 x-speakeasy-param-computed: false required: - name x-speakeasy-param-computed: false terminal: description: |- Terminal is a flag that short-circuits the hash computing. This field provides a ‘fallback’ style of configuration: “if a terminal policy doesn’t work, fallback to rest of the policy list”, it saves time when the terminal policy works. If true, and there is already a hash computed, ignore rest of the list of hash polices. type: boolean x-speakeasy-param-computed: false type: type: string enum: - Header - Cookie - Connection - SourceIP - QueryParameter - FilterState x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier maxRingSize: description: |- Maximum hash ring size. Defaults to 8M entries, and limited to 8M entries, but can be lowered to further constrain resource use. type: integer format: int32 maximum: 8000000 minimum: 1 x-speakeasy-param-computed: false minRingSize: description: |- Minimum hash ring size. The larger the ring is (that is, the more hashes there are for each provided host) the better the request distribution will reflect the desired weights. Defaults to 1024 entries, and limited to 8M entries. type: integer format: int32 maximum: 8000000 minimum: 1 x-speakeasy-param-computed: false x-speakeasy-param-computed: false roundRobin: description: |- RoundRobin is a load balancing algorithm that distributes requests across available upstream hosts in round-robin order. type: object x-speakeasy-param-computed: false type: type: string enum: - RoundRobin - LeastRequest - RingHash - Random - Maglev x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type x-speakeasy-param-computed: false localityAwareness: description: LocalityAwareness contains configuration for locality aware load balancing. type: object properties: crossZone: description: |- CrossZone defines locality aware load balancing priorities when dataplane proxies inside local zone are unavailable type: object properties: failover: description: Failover defines list of load balancing rules in order of priority type: array items: properties: from: description: From defines the list of zones to which the rule applies type: object properties: zones: type: array items: type: string x-speakeasy-plan-modifiers: SupressZeroNullModifier required: - zones x-speakeasy-param-computed: false to: description: To defines to which zones the traffic should be load balanced type: object properties: type: description: Type defines how target zones will be picked from available zones type: string enum: - None - Only - Any - AnyExcept x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow zones: type: array items: type: string x-speakeasy-plan-modifiers: SupressZeroNullModifier required: - type x-speakeasy-param-computed: false required: - to type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier failoverThreshold: description: |- FailoverThreshold defines the percentage of live destination dataplane proxies below which load balancing to the next priority starts. Example: If you configure failoverThreshold to 70, and you have deployed 10 destination dataplane proxies. Load balancing to next priority will start when number of live destination dataplane proxies drops below 7. Default 50 type: object properties: percentage: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false required: - percentage x-speakeasy-param-computed: false x-speakeasy-param-computed: false disabled: description: |- Disabled allows to disable locality-aware load balancing. When disabled requests are distributed across all endpoints regardless of locality. type: boolean x-speakeasy-param-computed: false localZone: description: LocalZone defines locality aware load balancing priorities between dataplane proxies inside a zone type: object properties: affinityTags: description: AffinityTags list of tags for local zone load balancing. type: array items: properties: key: description: Key defines tag for which affinity is configured type: string x-speakeasy-param-computed: false weight: description: |- Weight of the tag used for load balancing. The bigger the weight the bigger the priority. Percentage of local traffic load balanced to tag is computed by dividing weight by sum of weights from all tags. For example with two affinity tags first with weight 80 and second with weight 20, then 80% of traffic will be redirected to the first tag, and 20% of traffic will be redirected to second one. Setting weights is not mandatory. When weights are not set control plane will compute default weight based on list order. Default: If you do not specify weight we will adjust them so that 90% traffic goes to first tag, 9% to next, and 1% to third and so on. type: integer format: int32 x-speakeasy-param-computed: false required: - key type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of destinations. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshMetricItem: description: 'MeshMetric enables collection and export of service mesh metrics. It configures sidecar and application metrics scraping, allows customization of which metrics are published, and supports exporting to Prometheus or OpenTelemetry backends for monitoring and observability.' type: object properties: type: description: the type of the resource type: string enum: - MeshMetric x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mm_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshMetric resource. type: object properties: default: description: MeshMetric configuration. type: object properties: applications: description: |- Applications is a list of applications that Dataplane Proxy will scrape. Ignored on zone-proxy-only Dataplanes (zone ingress/egress exist without a co-located workload). type: array items: properties: address: description: Address on which an application listens. type: string x-speakeasy-param-computed: false name: description: Name of the application to scrape type: string x-speakeasy-param-computed: false path: description: Path on which an application expose HTTP endpoint with metrics. type: string default: /metrics x-speakeasy-param-computed: false port: description: Port on which an application expose HTTP endpoint with metrics. type: integer format: int32 x-speakeasy-param-computed: false required: - port type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier backends: description: Backends list that will be used to collect metrics. type: array items: properties: openTelemetry: description: OpenTelemetry backend configuration type: object properties: backendRef: description: |- BackendRef is a reference to a MeshOpenTelemetryBackend resource that defines the collector endpoint. Mutually exclusive with Endpoint. type: object properties: kind: description: Kind of the backend resource. type: string enum: - MeshOpenTelemetryBackend x-speakeasy-param-computed: false labels: description: |- Labels to match the referenced resource. When multiple resources match, the oldest by creation time wins. type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false endpoint: description: |- Endpoint for OpenTelemetry collector. Deprecated: use BackendRef instead. type: string default: '' x-speakeasy-param-computed: false refreshInterval: description: RefreshInterval defines how frequent metrics should be pushed to collector type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false prometheus: description: Prometheus backend configuration. type: object properties: clientId: description: ClientId of the Prometheus backend. Needed when using MADS for DP discovery. type: string x-speakeasy-param-computed: false path: description: Path on which a dataplane should expose HTTP endpoint with Prometheus metrics. type: string default: /metrics x-speakeasy-param-computed: false port: description: Port on which a dataplane should expose HTTP endpoint with Prometheus metrics. type: integer format: int32 default: 5670 x-speakeasy-param-computed: false tls: description: Configuration of TLS for prometheus listener. type: object properties: mode: description: Configuration of TLS for Prometheus listener. type: string default: Disabled enum: - Disabled - ProvidedTLS - ActiveMTLSBackend x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow x-speakeasy-param-computed: false x-speakeasy-param-computed: false type: description: Type of the backend that will be used to collect metrics. At the moment only Prometheus backend is available. type: string enum: - Prometheus - OpenTelemetry x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier sidecar: description: Sidecar metrics collection configuration type: object properties: includeUnused: description: |- IncludeUnused if false will scrape only metrics that has been by sidecar (counters incremented at least once, gauges changed at least once, and histograms added to at least once). If true will scrape all metrics (even the ones with zeros). If not specified then the default value is false. type: boolean x-speakeasy-param-computed: false profiles: description: Profiles allows to customize which metrics are published. type: object properties: appendProfiles: description: AppendProfiles allows to combine the metrics from multiple predefined profiles. type: array items: properties: name: description: 'Name of the predefined profile, one of: all, basic, none' type: string enum: - All - Basic - None x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - name type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier exclude: description: |- Exclude makes it possible to exclude groups of metrics from a resulting profile. Exclude is subordinate to Include. type: array items: properties: match: description: Match is the value used to match using particular Type type: string x-speakeasy-param-computed: false type: description: 'Type defined the type of selector, one of: prefix, regex, exact' type: string enum: - Prefix - Regex - Exact - Contains x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - match - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier include: description: |- Include makes it possible to include additional metrics in a selected profiles. Include takes precedence over Exclude. type: array items: properties: match: description: Match is the value used to match using particular Type type: string x-speakeasy-param-computed: false type: description: 'Type defined the type of selector, one of: prefix, regex, exact' type: string enum: - Prefix - Regex - Exact - Contains x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - match - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined in-place. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true status: description: Status is the current status of the Kuma MeshMetric resource. type: object properties: conditions: type: array items: properties: message: description: |- message is a human readable message indicating details about the transition. This may be an empty string. type: string maxLength: 32768 x-speakeasy-param-computed: false reason: description: |- reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. type: string maxLength: 1024 minLength: 1 pattern: '^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$' x-speakeasy-param-computed: false status: description: 'status of the condition, one of True, False, Unknown.' type: string enum: - 'True' - 'False' - Unknown x-speakeasy-unknown-values: allow type: description: type of condition in CamelCase or in foo.example.com/CamelCase. type: string maxLength: 316 pattern: '^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$' x-speakeasy-param-computed: false required: - message - reason - status - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshPassthroughItem: description: 'MeshPassthrough controls how traffic to external services (outside the mesh) is handled by the sidecar proxy. It allows you to configure passthrough mode to permit, deny, or selectively allow traffic to specific external destinations based on domain names, IPs, or CIDR ranges.' type: object properties: type: description: the type of the resource type: string enum: - MeshPassthrough x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mp_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshPassthrough resource. type: object properties: default: description: MeshPassthrough configuration. type: object properties: appendMatch: description: AppendMatch is a list of destinations that should be allowed through the sidecar. type: array items: properties: port: description: Port defines the port to which a user makes a request. type: integer format: int32 x-speakeasy-param-computed: false protocol: description: 'Protocol defines the communication protocol. Possible values: `tcp`, `tls`, `grpc`, `http`, `http2`, `mysql`.' type: string default: tcp enum: - tcp - tls - grpc - http - http2 - mysql x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow type: description: 'Type of the match, one of `Domain`, `IP` or `CIDR` is available.' type: string enum: - Domain - IP - CIDR x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value for the specified Type. type: string x-speakeasy-param-computed: false required: - type - value type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier passthroughMode: description: |- Defines the passthrough behavior. Possible values: `All`, `None`, `Matched` When `All` or `None` `appendMatch` has no effect. If not specified then the default value is "Matched". type: string enum: - All - Matched - None x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined in-place. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshProxyPatchItem: description: 'MeshProxyPatch provides advanced customization of the Envoy proxy configuration generated by Kuma. It allows you to add, remove, or modify Envoy resources (clusters, listeners, filters, virtual hosts) using YAML patches or JSON patches for fine-grained control beyond standard policies.' type: object properties: type: description: the type of the resource type: string enum: - MeshProxyPatch x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mpp_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshProxyPatch resource. type: object properties: default: description: |- Default is a configuration specific to the group of destinations referenced in 'targetRef'. type: object properties: appendModifications: description: AppendModifications is a list of modifications applied on the selected proxy. type: array items: properties: cluster: description: Cluster is a modification of Envoy's Cluster resource. type: object properties: jsonPatches: description: |- JsonPatches specifies list of jsonpatches to apply to on Envoy's Cluster resource type: array items: description: JsonPatchBlock is one json patch operation block. properties: from: description: 'From is a jsonpatch from string, used by move and copy operations.' type: string x-speakeasy-param-computed: false op: description: Op is a jsonpatch operation string. type: string enum: - add - remove - replace - move - copy x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow path: description: Path is a jsonpatch path string. type: string x-speakeasy-param-computed: false value: description: Value must be a valid json value used by replace and add operations. x-kubernetes-preserve-unknown-fields: true x-speakeasy-param-computed: false required: - op - path type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier match: description: Match is a set of conditions that have to be matched for modification operation to happen. type: object properties: name: description: Name of the cluster to match. type: string x-speakeasy-param-computed: false origin: description: |- Origin is the name of the component or plugin that generated the resource. Here is the list of well-known origins: inbound - resources generated for handling incoming traffic. outbound - resources generated for handling outgoing traffic. transparent - resources generated for transparent proxy functionality. prometheus - resources generated when Prometheus metrics are enabled. direct-access - resources generated for Direct Access functionality. ingress - resources generated for Zone Ingress. egress - resources generated for Zone Egress. gateway - resources generated for MeshGateway. The list is not complete, because policy plugins can introduce new resources. For example MeshTrace plugin can create Cluster with "mesh-trace" origin. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false operation: description: Operation to execute on matched cluster. type: string enum: - Add - Remove - Patch x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value of xDS resource in YAML format to add or patch. type: string x-speakeasy-param-computed: false required: - operation x-speakeasy-param-computed: false httpFilter: description: |- HTTPFilter is a modification of Envoy HTTP Filter available in HTTP Connection Manager in a Listener resource. type: object properties: jsonPatches: description: |- JsonPatches specifies list of jsonpatches to apply to on Envoy's HTTP Filter available in HTTP Connection Manager in a Listener resource. type: array items: description: JsonPatchBlock is one json patch operation block. properties: from: description: 'From is a jsonpatch from string, used by move and copy operations.' type: string x-speakeasy-param-computed: false op: description: Op is a jsonpatch operation string. type: string enum: - add - remove - replace - move - copy x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow path: description: Path is a jsonpatch path string. type: string x-speakeasy-param-computed: false value: description: Value must be a valid json value used by replace and add operations. x-kubernetes-preserve-unknown-fields: true x-speakeasy-param-computed: false required: - op - path type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier match: description: Match is a set of conditions that have to be matched for modification operation to happen. type: object properties: listenerName: description: Name of the listener to match. type: string x-speakeasy-param-computed: false listenerTags: description: 'Listener tags available in Listener#Metadata#FilterMetadata[io.kuma.tags]' type: object additionalProperties: type: string x-speakeasy-param-computed: false name: description: Name of the HTTP filter. For example "envoy.filters.http.local_ratelimit" type: string x-speakeasy-param-computed: false origin: description: |- Origin is the name of the component or plugin that generated the resource. Here is the list of well-known origins: inbound - resources generated for handling incoming traffic. outbound - resources generated for handling outgoing traffic. transparent - resources generated for transparent proxy functionality. prometheus - resources generated when Prometheus metrics are enabled. direct-access - resources generated for Direct Access functionality. ingress - resources generated for Zone Ingress. egress - resources generated for Zone Egress. gateway - resources generated for MeshGateway. The list is not complete, because policy plugins can introduce new resources. For example MeshTrace plugin can create Cluster with "mesh-trace" origin. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false operation: description: Operation to execute on matched listener. type: string enum: - Remove - Patch - AddFirst - AddBefore - AddAfter - AddLast x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value of xDS resource in YAML format to add or patch. type: string x-speakeasy-param-computed: false required: - operation x-speakeasy-param-computed: false listener: description: Listener is a modification of Envoy's Listener resource. type: object properties: jsonPatches: description: |- JsonPatches specifies list of jsonpatches to apply to on Envoy's Listener resource type: array items: description: JsonPatchBlock is one json patch operation block. properties: from: description: 'From is a jsonpatch from string, used by move and copy operations.' type: string x-speakeasy-param-computed: false op: description: Op is a jsonpatch operation string. type: string enum: - add - remove - replace - move - copy x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow path: description: Path is a jsonpatch path string. type: string x-speakeasy-param-computed: false value: description: Value must be a valid json value used by replace and add operations. x-kubernetes-preserve-unknown-fields: true x-speakeasy-param-computed: false required: - op - path type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier match: description: Match is a set of conditions that have to be matched for modification operation to happen. type: object properties: name: description: Name of the listener to match. type: string x-speakeasy-param-computed: false origin: description: |- Origin is the name of the component or plugin that generated the resource. Here is the list of well-known origins: inbound - resources generated for handling incoming traffic. outbound - resources generated for handling outgoing traffic. transparent - resources generated for transparent proxy functionality. prometheus - resources generated when Prometheus metrics are enabled. direct-access - resources generated for Direct Access functionality. ingress - resources generated for Zone Ingress. egress - resources generated for Zone Egress. gateway - resources generated for MeshGateway. The list is not complete, because policy plugins can introduce new resources. For example MeshTrace plugin can create Cluster with "mesh-trace" origin. type: string x-speakeasy-param-computed: false tags: description: 'Tags available in Listener#Metadata#FilterMetadata[io.kuma.tags]' type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false operation: description: Operation to execute on matched listener. type: string enum: - Add - Remove - Patch x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value of xDS resource in YAML format to add or patch. type: string x-speakeasy-param-computed: false required: - operation x-speakeasy-param-computed: false networkFilter: description: NetworkFilter is a modification of Envoy Listener's filter. type: object properties: jsonPatches: description: |- JsonPatches specifies list of jsonpatches to apply to on Envoy Listener's filter. type: array items: description: JsonPatchBlock is one json patch operation block. properties: from: description: 'From is a jsonpatch from string, used by move and copy operations.' type: string x-speakeasy-param-computed: false op: description: Op is a jsonpatch operation string. type: string enum: - add - remove - replace - move - copy x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow path: description: Path is a jsonpatch path string. type: string x-speakeasy-param-computed: false value: description: Value must be a valid json value used by replace and add operations. x-kubernetes-preserve-unknown-fields: true x-speakeasy-param-computed: false required: - op - path type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier match: description: Match is a set of conditions that have to be matched for modification operation to happen. type: object properties: listenerName: description: Name of the listener to match. type: string x-speakeasy-param-computed: false listenerTags: description: 'Listener tags available in Listener#Metadata#FilterMetadata[io.kuma.tags]' type: object additionalProperties: type: string x-speakeasy-param-computed: false name: description: Name of the network filter. For example "envoy.filters.network.ratelimit" type: string x-speakeasy-param-computed: false origin: description: |- Origin is the name of the component or plugin that generated the resource. Here is the list of well-known origins: inbound - resources generated for handling incoming traffic. outbound - resources generated for handling outgoing traffic. transparent - resources generated for transparent proxy functionality. prometheus - resources generated when Prometheus metrics are enabled. direct-access - resources generated for Direct Access functionality. ingress - resources generated for Zone Ingress. egress - resources generated for Zone Egress. gateway - resources generated for MeshGateway. The list is not complete, because policy plugins can introduce new resources. For example MeshTrace plugin can create Cluster with "mesh-trace" origin. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false operation: description: Operation to execute on matched listener. type: string enum: - Remove - Patch - AddFirst - AddBefore - AddAfter - AddLast x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value of xDS resource in YAML format to add or patch. type: string x-speakeasy-param-computed: false required: - operation x-speakeasy-param-computed: false virtualHost: description: |- VirtualHost is a modification of Envoy's VirtualHost referenced in HTTP Connection Manager in a Listener resource. type: object properties: jsonPatches: description: |- JsonPatches specifies list of jsonpatches to apply to on Envoy's VirtualHost resource type: array items: description: JsonPatchBlock is one json patch operation block. properties: from: description: 'From is a jsonpatch from string, used by move and copy operations.' type: string x-speakeasy-param-computed: false op: description: Op is a jsonpatch operation string. type: string enum: - add - remove - replace - move - copy x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow path: description: Path is a jsonpatch path string. type: string x-speakeasy-param-computed: false value: description: Value must be a valid json value used by replace and add operations. x-kubernetes-preserve-unknown-fields: true x-speakeasy-param-computed: false required: - op - path type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier match: description: Match is a set of conditions that have to be matched for modification operation to happen. type: object properties: name: description: Name of the VirtualHost to match. type: string x-speakeasy-param-computed: false origin: description: |- Origin is the name of the component or plugin that generated the resource. Here is the list of well-known origins: inbound - resources generated for handling incoming traffic. outbound - resources generated for handling outgoing traffic. transparent - resources generated for transparent proxy functionality. prometheus - resources generated when Prometheus metrics are enabled. direct-access - resources generated for Direct Access functionality. ingress - resources generated for Zone Ingress. egress - resources generated for Zone Egress. gateway - resources generated for MeshGateway. The list is not complete, because policy plugins can introduce new resources. For example MeshTrace plugin can create Cluster with "mesh-trace" origin. type: string x-speakeasy-param-computed: false routeConfigurationName: description: Name of the RouteConfiguration resource to match. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false operation: description: Operation to execute on matched listener. type: string enum: - Add - Remove - Patch x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value of xDS resource in YAML format to add or patch. type: string x-speakeasy-param-computed: false required: - match - operation x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined inplace. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - default x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshRateLimitItem: description: MeshRateLimit protects services from being overwhelmed by limiting the rate of incoming requests or connections. It supports local rate limiting for both HTTP (requests per interval) and TCP (connections per interval) traffic with customizable response codes and headers for rate-limited requests. type: object properties: type: description: the type of the resource type: string enum: - MeshRateLimit x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mrl_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshRateLimit resource. type: object properties: from: description: From list makes a match between clients and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of clients referenced in 'targetRef' type: object properties: local: description: LocalConf defines local http or/and tcp rate limit configuration type: object properties: http: description: |- LocalHTTP defines configuration of local HTTP rate limiting https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/local_rate_limit_filter type: object properties: disabled: description: Define if rate limiting should be disabled. type: boolean x-speakeasy-param-computed: false onRateLimit: description: Describes the actions to take on a rate limit event type: object properties: headers: description: The Headers to be added to the HTTP response on a rate limit event type: object properties: add: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier set: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false status: description: The HTTP status code to be set on a rate limit event type: integer format: int32 x-speakeasy-param-computed: false requestRate: description: Defines how many requests are allowed per interval. type: object properties: interval: description: The interval the number of units is accounted for. type: string x-speakeasy-param-computed: false num: description: |- Number of units per interval (depending on usage it can be a number of requests, or a number of connections). type: integer format: int32 x-speakeasy-param-computed: false required: - interval - num x-speakeasy-param-computed: false x-speakeasy-param-computed: false tcp: description: |- LocalTCP defines confguration of local TCP rate limiting https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/local_rate_limit_filter type: object properties: connectionRate: description: Defines how many connections are allowed per interval. type: object properties: interval: description: The interval the number of units is accounted for. type: string x-speakeasy-param-computed: false num: description: |- Number of units per interval (depending on usage it can be a number of requests, or a number of connections). type: integer format: int32 x-speakeasy-param-computed: false required: - interval - num x-speakeasy-param-computed: false disabled: description: |- Define if rate limiting should be disabled. Default: false type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of clients. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier rules: description: Rules defines inbound rate limiting configurations. type: array items: properties: default: description: Default contains configuration of the inbound rate limits type: object properties: local: description: LocalConf defines local http or/and tcp rate limit configuration type: object properties: http: description: |- LocalHTTP defines configuration of local HTTP rate limiting https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/local_rate_limit_filter type: object properties: disabled: description: Define if rate limiting should be disabled. type: boolean x-speakeasy-param-computed: false onRateLimit: description: Describes the actions to take on a rate limit event type: object properties: headers: description: The Headers to be added to the HTTP response on a rate limit event type: object properties: add: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier set: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false status: description: The HTTP status code to be set on a rate limit event type: integer format: int32 x-speakeasy-param-computed: false requestRate: description: Defines how many requests are allowed per interval. type: object properties: interval: description: The interval the number of units is accounted for. type: string x-speakeasy-param-computed: false num: description: |- Number of units per interval (depending on usage it can be a number of requests, or a number of connections). type: integer format: int32 x-speakeasy-param-computed: false required: - interval - num x-speakeasy-param-computed: false x-speakeasy-param-computed: false tcp: description: |- LocalTCP defines confguration of local TCP rate limiting https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/local_rate_limit_filter type: object properties: connectionRate: description: Defines how many connections are allowed per interval. type: object properties: interval: description: The interval the number of units is accounted for. type: string x-speakeasy-param-computed: false num: description: |- Number of units per interval (depending on usage it can be a number of requests, or a number of connections). type: integer format: int32 x-speakeasy-param-computed: false required: - interval - num x-speakeasy-param-computed: false disabled: description: |- Define if rate limiting should be disabled. Default: false type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false matches: description: Matches define additional conditions for applying this rate limit rule. type: array items: properties: sni: description: SNI defines a matcher configuration for matching by SNI value carried on the TLS connection type: object properties: type: description: Type defines how to match traffic by SNI. Only `Exact` is supported. type: string enum: - Exact x-speakeasy-param-computed: false value: description: Value is the SNI carried on the TLS connection that needs to match for the configuration to be applied type: string x-speakeasy-param-computed: false required: - type - value x-speakeasy-param-computed: false spiffeID: description: SpiffeID defines a matcher configuration for SpiffeID matching type: object properties: type: description: Type defines how to match incoming traffic by SpiffeID. `Exact` or `Prefix` are allowed. type: string enum: - Exact - Prefix x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value is SpiffeID of a client that needs to match for the configuration to be applied type: string x-speakeasy-param-computed: false required: - type - value x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined inplace. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false to: description: To list makes a match between clients and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of clients referenced in 'targetRef' type: object properties: local: description: LocalConf defines local http or/and tcp rate limit configuration type: object properties: http: description: |- LocalHTTP defines configuration of local HTTP rate limiting https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/local_rate_limit_filter type: object properties: disabled: description: Define if rate limiting should be disabled. type: boolean x-speakeasy-param-computed: false onRateLimit: description: Describes the actions to take on a rate limit event type: object properties: headers: description: The Headers to be added to the HTTP response on a rate limit event type: object properties: add: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier set: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false status: description: The HTTP status code to be set on a rate limit event type: integer format: int32 x-speakeasy-param-computed: false requestRate: description: Defines how many requests are allowed per interval. type: object properties: interval: description: The interval the number of units is accounted for. type: string x-speakeasy-param-computed: false num: description: |- Number of units per interval (depending on usage it can be a number of requests, or a number of connections). type: integer format: int32 x-speakeasy-param-computed: false required: - interval - num x-speakeasy-param-computed: false x-speakeasy-param-computed: false tcp: description: |- LocalTCP defines confguration of local TCP rate limiting https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/local_rate_limit_filter type: object properties: connectionRate: description: Defines how many connections are allowed per interval. type: object properties: interval: description: The interval the number of units is accounted for. type: string x-speakeasy-param-computed: false num: description: |- Number of units per interval (depending on usage it can be a number of requests, or a number of connections). type: integer format: int32 x-speakeasy-param-computed: false required: - interval - num x-speakeasy-param-computed: false disabled: description: |- Define if rate limiting should be disabled. Default: false type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of clients. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshRetryItem: description: 'MeshRetry configures automatic retry behavior for failed requests to improve service reliability. It supports configurable retry conditions, limits, timeouts, and backoff strategies for HTTP, gRPC, and TCP traffic, helping services recover from transient failures.' type: object properties: type: description: the type of the resource type: string enum: - MeshRetry x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mr_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshRetry resource. type: object properties: targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined inplace. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false to: description: To list makes a match between the consumed services and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of destinations referenced in 'targetRef' type: object properties: grpc: description: GRPC defines a configuration of retries for GRPC traffic type: object properties: backOff: description: |- BackOff is a configuration of durations which will be used in an exponential backoff strategy between retries. type: object properties: baseInterval: description: |- BaseInterval is an amount of time which should be taken between retries. Must be greater than zero. Values less than 1 ms are rounded up to 1 ms. If not specified then the default value is "25ms". type: string x-speakeasy-param-computed: false maxInterval: description: |- MaxInterval is a maximal amount of time which will be taken between retries. Default is 10 times the "BaseInterval". type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false numRetries: description: |- NumRetries is the number of attempts that will be made on failed (and retriable) requests. If not set, the default value is 1. type: integer format: int32 x-speakeasy-param-computed: false perTryTimeout: description: |- PerTryTimeout is the maximum amount of time each retry attempt can take before it times out. If not set, the global request timeout for the route will be used. Setting this value to 0 will disable the per-try timeout. type: string x-speakeasy-param-computed: false rateLimitedBackOff: description: |- RateLimitedBackOff is a configuration of backoff which will be used when the upstream returns one of the headers configured. type: object properties: maxInterval: description: |- MaxInterval is a maximal amount of time which will be taken between retries. If not specified then the default value is "300s". type: string x-speakeasy-param-computed: false resetHeaders: description: |- ResetHeaders specifies the list of headers (like Retry-After or X-RateLimit-Reset) to match against the response. Headers are tried in order, and matched case-insensitive. The first header to be parsed successfully is used. If no headers match the default exponential BackOff is used instead. type: array items: properties: format: description: The format of the reset header. type: string enum: - Seconds - UnixTimestamp x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow name: description: The Name of the reset header. type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false required: - format - name type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false retryOn: description: RetryOn is a list of conditions which will cause a retry. type: array items: enum: - Canceled - DeadlineExceeded - Internal - ResourceExhausted - Unavailable type: string x-speakeasy-unknown-values: allow example: - Canceled - DeadlineExceeded - Internal - ResourceExhausted - Unavailable x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false http: description: HTTP defines a configuration of retries for HTTP traffic type: object properties: backOff: description: |- BackOff is a configuration of durations which will be used in exponential backoff strategy between retries. type: object properties: baseInterval: description: |- BaseInterval is an amount of time which should be taken between retries. Must be greater than zero. Values less than 1 ms are rounded up to 1 ms. If not specified then the default value is "25ms". type: string x-speakeasy-param-computed: false maxInterval: description: |- MaxInterval is a maximal amount of time which will be taken between retries. Default is 10 times the "BaseInterval". type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false hostSelection: description: |- HostSelection is a list of predicates that dictate how hosts should be selected when requests are retried. type: array items: properties: predicate: description: Type is requested predicate mode. type: string enum: - OmitPreviousHosts - OmitHostsWithTags - OmitPreviousPriorities x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow tags: description: |- Tags is a map of metadata to match against for selecting the omitted hosts. Required if Type is OmitHostsWithTags type: object additionalProperties: type: string x-speakeasy-param-computed: false updateFrequency: description: |- UpdateFrequency is how often the priority load should be updated based on previously attempted priorities. Used for OmitPreviousPriorities. type: integer format: int32 default: 2 x-speakeasy-param-computed: false required: - predicate type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier hostSelectionMaxAttempts: description: |- HostSelectionMaxAttempts is the maximum number of times host selection will be reattempted before giving up, at which point the host that was last selected will be routed to. If unspecified, this will default to retrying once. type: integer format: int64 x-speakeasy-param-computed: false numRetries: description: |- NumRetries is the number of attempts that will be made on failed (and retriable) requests. If not set, the default value is 1. type: integer format: int32 x-speakeasy-param-computed: false perTryTimeout: description: |- PerTryTimeout is the amount of time after which retry attempt should time out. If left unspecified, the global route timeout for the request will be used. Consequently, when using a 5xx based retry policy, a request that times out will not be retried as the total timeout budget would have been exhausted. Setting this timeout to 0 will disable it. type: string x-speakeasy-param-computed: false rateLimitedBackOff: description: |- RateLimitedBackOff is a configuration of backoff which will be used when the upstream returns one of the headers configured. type: object properties: maxInterval: description: |- MaxInterval is a maximal amount of time which will be taken between retries. If not specified then the default value is "300s". type: string x-speakeasy-param-computed: false resetHeaders: description: |- ResetHeaders specifies the list of headers (like Retry-After or X-RateLimit-Reset) to match against the response. Headers are tried in order, and matched case-insensitive. The first header to be parsed successfully is used. If no headers match the default exponential BackOff is used instead. type: array items: properties: format: description: The format of the reset header. type: string enum: - Seconds - UnixTimestamp x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow name: description: The Name of the reset header. type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false required: - format - name type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false retriableRequestHeaders: description: |- RetriableRequestHeaders is an HTTP headers which must be present in the request for retries to be attempted. type: array items: description: |- HeaderMatch describes how to select an HTTP route by matching HTTP request headers. properties: name: description: |- Name is the name of the HTTP Header to be matched. Name MUST be lower case as they will be handled with case insensitivity (See https://tools.ietf.org/html/rfc7230#section-3.2). type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false type: description: Type specifies how to match against the value of the header. type: string default: Exact enum: - Exact - Present - RegularExpression - Absent - Prefix x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value is the value of HTTP Header to be matched. type: string x-speakeasy-param-computed: false required: - name type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier retriableResponseHeaders: description: |- RetriableResponseHeaders is an HTTP response headers that trigger a retry if present in the response. A retry will be triggered if any of the header matches the upstream response headers. type: array items: description: |- HeaderMatch describes how to select an HTTP route by matching HTTP request headers. properties: name: description: |- Name is the name of the HTTP Header to be matched. Name MUST be lower case as they will be handled with case insensitivity (See https://tools.ietf.org/html/rfc7230#section-3.2). type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false type: description: Type specifies how to match against the value of the header. type: string default: Exact enum: - Exact - Present - RegularExpression - Absent - Prefix x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value is the value of HTTP Header to be matched. type: string x-speakeasy-param-computed: false required: - name type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier retryOn: description: |- RetryOn is a list of conditions which will cause a retry. Available values are: [5XX, GatewayError, Reset, Retriable4xx, ConnectFailure, EnvoyRatelimited, RefusedStream, Http3PostConnectFailure, HttpMethodConnect, HttpMethodDelete, HttpMethodGet, HttpMethodHead, HttpMethodOptions, HttpMethodPatch, HttpMethodPost, HttpMethodPut, HttpMethodTrace]. Also, any HTTP status code (500, 503, etc.). type: array items: type: string example: - 5XX - GatewayError - Reset - Retriable4xx - ConnectFailure - EnvoyRatelimited - RefusedStream - Http3PostConnectFailure - HttpMethodConnect - HttpMethodDelete - HttpMethodGet - HttpMethodHead - HttpMethodOptions - HttpMethodPatch - HttpMethodPost - HttpMethodPut - HttpMethodTrace - '500' - '503' x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false tcp: description: TCP defines a configuration of retries for TCP traffic type: object properties: maxConnectAttempt: description: |- MaxConnectAttempt is a maximal amount of TCP connection attempts which will be made before giving up type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of destinations. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshTCPRouteItem: description: |- NOTICE: This policy defines its own `GetDefault` method so that it can have the given structure for deserialization but still use the generic policy merging machinery. // MeshTCPRoute configures routing for TCP traffic between services in the mesh. It enables traffic splitting and weighted load balancing across different backend endpoints, useful for canary deployments, blue-green deployments, and gradual traffic migration for TCP-based services. type: object properties: type: description: the type of the resource type: string enum: - MeshTCPRoute x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mtcpr_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshTCPRoute resource. type: object properties: targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined in-place. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false to: description: |- To list makes a match between the consumed services and corresponding configurations type: array items: properties: rules: description: |- Rules contains the routing rules applies to a combination of top-level targetRef and the targetRef in this entry. type: array items: properties: default: description: |- Default holds routing rules that can be merged with rules from other policies. type: object properties: backendRefs: type: array items: description: BackendRef defines where to forward traffic. properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false port: description: Port is only supported when this ref refers to a real MeshService object type: integer format: int32 x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false weight: type: integer default: 1 minimum: 0 x-speakeasy-param-computed: false required: - kind type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false required: - default type: object maxItems: 1 x-speakeasy-plan-modifiers: SupressZeroNullModifier targetRef: description: |- TargetRef is a reference to the resource that represents a group of destinations. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - rules - targetRef type: object minItems: 1 x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshTLSItem: description: 'MeshTLS configures TLS and mutual TLS (mTLS) settings for secure communication between services in the mesh. It allows you to enforce encryption, configure TLS versions and cipher suites, and control whether mTLS is required (strict mode) or optional (permissive mode) for inbound traffic.' type: object properties: type: description: the type of the resource type: string enum: - MeshTLS x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mtls_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshTLS resource. type: object properties: from: description: From list makes a match between clients and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of clients referenced in 'targetRef' type: object properties: mode: description: Mode defines the behavior of inbound listeners with regard to traffic encryption. type: string enum: - Permissive - Strict x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow tlsCiphers: description: TlsCiphers section for providing ciphers specification. type: array items: enum: - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-RSA-CHACHA20-POLY1305 type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier tlsVersion: description: Version section for providing version specification. type: object properties: max: description: 'Max defines maximum supported version. One of `TLSAuto`, `TLS10`, `TLS11`, `TLS12`, `TLS13`.' type: string default: TLSAuto enum: - TLSAuto - TLS10 - TLS11 - TLS12 - TLS13 x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow min: description: 'Min defines minimum supported version. One of `TLSAuto`, `TLS10`, `TLS11`, `TLS12`, `TLS13`.' type: string default: TLSAuto enum: - TLSAuto - TLS10 - TLS11 - TLS12 - TLS13 x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of clients. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier rules: description: |- Rules defines inbound tls configurations. Currently limited to selecting all inbound traffic, as L7 matching is not yet implemented. type: array items: properties: default: description: Default contains configuration of the inbound tls type: object properties: mode: description: Mode defines the behavior of inbound listeners with regard to traffic encryption. type: string enum: - Permissive - Strict x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow tlsCiphers: description: TlsCiphers section for providing ciphers specification. type: array items: enum: - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-RSA-CHACHA20-POLY1305 type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier tlsVersion: description: Version section for providing version specification. type: object properties: max: description: 'Max defines maximum supported version. One of `TLSAuto`, `TLS10`, `TLS11`, `TLS12`, `TLS13`.' type: string default: TLSAuto enum: - TLSAuto - TLS10 - TLS11 - TLS12 - TLS13 x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow min: description: 'Min defines minimum supported version. One of `TLSAuto`, `TLS10`, `TLS11`, `TLS12`, `TLS13`.' type: string default: TLSAuto enum: - TLSAuto - TLS10 - TLS11 - TLS12 - TLS13 x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow x-speakeasy-param-computed: false x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined in-place. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshTimeoutItem: description: 'MeshTimeout configures timeout limits for service-to-service communication to prevent requests from hanging indefinitely. It supports connection timeouts, idle timeouts, and HTTP-specific timeouts (request, stream, headers) to ensure timely failure detection and improve service responsiveness.' type: object properties: type: description: the type of the resource type: string enum: - MeshTimeout x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mt_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshTimeout resource. type: object properties: from: description: From list makes a match between clients and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of clients referenced in 'targetRef' type: object properties: connectionTimeout: description: |- ConnectionTimeout specifies the amount of time proxy will wait for an TCP connection to be established. Default value is 5 seconds. Cannot be set to 0. type: string x-speakeasy-param-computed: false http: description: Http provides configuration for HTTP specific timeouts type: object properties: maxConnectionDuration: description: |- MaxConnectionDuration is the time after which a connection will be drained and/or closed, starting from when it was first established. Setting this timeout to 0 will disable it. Disabled by default. type: string x-speakeasy-param-computed: false maxStreamDuration: description: |- MaxStreamDuration is the maximum time that a stream’s lifetime will span. Setting this timeout to 0 will disable it. Disabled by default. type: string x-speakeasy-param-computed: false requestHeadersTimeout: description: |- RequestHeadersTimeout The amount of time that proxy will wait for the request headers to be received. The timer is activated when the first byte of the headers is received, and is disarmed when the last byte of the headers has been received. If not specified or set to 0, this timeout is disabled. Disabled by default. type: string x-speakeasy-param-computed: false requestTimeout: description: |- RequestTimeout The amount of time that proxy will wait for the entire request to be received. The timer is activated when the request is initiated, and is disarmed when the last byte of the request is sent, OR when the response is initiated. Setting this timeout to 0 will disable it. Default is 15s. type: string x-speakeasy-param-computed: false streamIdleTimeout: description: |- StreamIdleTimeout is the amount of time that proxy will allow a stream to exist with no activity. Setting this timeout to 0 will disable it. Default is 30m type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false idleTimeout: description: |- IdleTimeout is defined as the period in which there are no bytes sent or received on connection Setting this timeout to 0 will disable it. Be cautious when disabling it because it can lead to connection leaking. Default value is 1h. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of clients. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier rules: description: |- Rules defines inbound timeout configurations. When matches are present, the rule is applied only to traffic selected by the given source and destination matchers. type: array items: properties: default: description: Default contains configuration of the inbound timeouts type: object properties: connectionTimeout: description: |- ConnectionTimeout specifies the amount of time proxy will wait for an TCP connection to be established. Default value is 5 seconds. Cannot be set to 0. type: string x-speakeasy-param-computed: false http: description: Http provides configuration for HTTP specific timeouts type: object properties: maxConnectionDuration: description: |- MaxConnectionDuration is the time after which a connection will be drained and/or closed, starting from when it was first established. Setting this timeout to 0 will disable it. Disabled by default. type: string x-speakeasy-param-computed: false maxStreamDuration: description: |- MaxStreamDuration is the maximum time that a stream’s lifetime will span. Setting this timeout to 0 will disable it. Disabled by default. type: string x-speakeasy-param-computed: false requestHeadersTimeout: description: |- RequestHeadersTimeout The amount of time that proxy will wait for the request headers to be received. The timer is activated when the first byte of the headers is received, and is disarmed when the last byte of the headers has been received. If not specified or set to 0, this timeout is disabled. Disabled by default. type: string x-speakeasy-param-computed: false requestTimeout: description: |- RequestTimeout The amount of time that proxy will wait for the entire request to be received. The timer is activated when the request is initiated, and is disarmed when the last byte of the request is sent, OR when the response is initiated. Setting this timeout to 0 will disable it. Default is 15s. type: string x-speakeasy-param-computed: false streamIdleTimeout: description: |- StreamIdleTimeout is the amount of time that proxy will allow a stream to exist with no activity. Setting this timeout to 0 will disable it. Default is 30m type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false idleTimeout: description: |- IdleTimeout is defined as the period in which there are no bytes sent or received on connection Setting this timeout to 0 will disable it. Be cautious when disabling it because it can lead to connection leaking. Default value is 1h. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false matches: description: Matches define predicates for selecting traffic this configuration applies to. type: array items: properties: sni: description: SNI defines a matcher configuration for matching by SNI value carried on the TLS connection type: object properties: type: description: Type defines how to match traffic by SNI. Only `Exact` is supported. type: string enum: - Exact x-speakeasy-param-computed: false value: description: Value is the SNI carried on the TLS connection that needs to match for the configuration to be applied type: string x-speakeasy-param-computed: false required: - type - value x-speakeasy-param-computed: false spiffeID: description: SpiffeID defines a matcher configuration for SpiffeID matching type: object properties: type: description: Type defines how to match incoming traffic by SpiffeID. `Exact` or `Prefix` are allowed. type: string enum: - Exact - Prefix x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value is SpiffeID of a client that needs to match for the configuration to be applied type: string x-speakeasy-param-computed: false required: - type - value x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined inplace. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false to: description: To list makes a match between the consumed services and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of destinations referenced in 'targetRef' type: object properties: connectionTimeout: description: |- ConnectionTimeout specifies the amount of time proxy will wait for an TCP connection to be established. Default value is 5 seconds. Cannot be set to 0. type: string x-speakeasy-param-computed: false http: description: Http provides configuration for HTTP specific timeouts type: object properties: maxConnectionDuration: description: |- MaxConnectionDuration is the time after which a connection will be drained and/or closed, starting from when it was first established. Setting this timeout to 0 will disable it. Disabled by default. type: string x-speakeasy-param-computed: false maxStreamDuration: description: |- MaxStreamDuration is the maximum time that a stream’s lifetime will span. Setting this timeout to 0 will disable it. Disabled by default. type: string x-speakeasy-param-computed: false requestHeadersTimeout: description: |- RequestHeadersTimeout The amount of time that proxy will wait for the request headers to be received. The timer is activated when the first byte of the headers is received, and is disarmed when the last byte of the headers has been received. If not specified or set to 0, this timeout is disabled. Disabled by default. type: string x-speakeasy-param-computed: false requestTimeout: description: |- RequestTimeout The amount of time that proxy will wait for the entire request to be received. The timer is activated when the request is initiated, and is disarmed when the last byte of the request is sent, OR when the response is initiated. Setting this timeout to 0 will disable it. Default is 15s. type: string x-speakeasy-param-computed: false streamIdleTimeout: description: |- StreamIdleTimeout is the amount of time that proxy will allow a stream to exist with no activity. Setting this timeout to 0 will disable it. Default is 30m type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false idleTimeout: description: |- IdleTimeout is defined as the period in which there are no bytes sent or received on connection Setting this timeout to 0 will disable it. Be cautious when disabling it because it can lead to connection leaking. Default value is 1h. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of destinations. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshTraceItem: description: 'MeshTrace enables distributed tracing to track requests as they flow through multiple services in the mesh. It supports exporting trace data to backends like Zipkin, Datadog, and OpenTelemetry, with configurable sampling rates and custom tags for detailed observability and debugging of service interactions.' type: object properties: type: description: the type of the resource type: string enum: - MeshTrace x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mtr_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshTrace resource. type: object properties: default: description: MeshTrace configuration. type: object properties: backends: description: |- A one element array of backend definition. Envoy allows configuring only 1 backend, so the natural way of representing that would be just one object. Unfortunately due to the reasons explained in MADR 009-tracing-policy this has to be a one element array for now. type: array items: description: 'Only one of zipkin, datadog or openTelemetry can be used.' properties: datadog: description: Datadog backend configuration. type: object properties: splitService: description: |- Determines if datadog service name should be split based on traffic direction and destination. For example, with `splitService: true` and a `backend` service that communicates with a couple of databases, you would get service names like `backend_INBOUND`, `backend_OUTBOUND_db1`, and `backend_OUTBOUND_db2` in Datadog. type: boolean default: false x-speakeasy-param-computed: false url: description: |- Address of Datadog collector, only host and port are allowed (no paths, fragments etc.) type: string x-speakeasy-param-computed: false required: - url x-speakeasy-param-computed: false openTelemetry: description: OpenTelemetry backend configuration. type: object properties: backendRef: description: |- BackendRef is a reference to a MeshOpenTelemetryBackend resource that defines the collector endpoint. Mutually exclusive with Endpoint. type: object properties: kind: description: Kind of the backend resource. type: string enum: - MeshOpenTelemetryBackend x-speakeasy-param-computed: false labels: description: |- Labels to match the referenced resource. When multiple resources match, the oldest by creation time wins. type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false endpoint: description: |- Address of OpenTelemetry collector. Deprecated: use BackendRef instead. type: string example: 'otel-collector:4317' default: '' x-speakeasy-param-computed: false x-speakeasy-param-computed: false type: type: string enum: - Zipkin - Datadog - OpenTelemetry x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow zipkin: description: Zipkin backend configuration. type: object properties: apiVersion: description: |- Version of the API. https://github.com/envoyproxy/envoy/blob/v1.22.0/api/envoy/config/trace/v3/zipkin.proto#L66 type: string default: httpJson enum: - httpJson - httpProto x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow sharedSpanContext: description: |- Determines whether client and server spans will share the same span context. https://github.com/envoyproxy/envoy/blob/v1.22.0/api/envoy/config/trace/v3/zipkin.proto#L63 type: boolean default: true x-speakeasy-param-computed: false traceId128bit: description: Generate 128bit traces. type: boolean default: false x-speakeasy-param-computed: false url: description: Address of Zipkin collector. type: string x-speakeasy-param-computed: false required: - url x-speakeasy-param-computed: false required: - type type: object maxItems: 1 x-speakeasy-plan-modifiers: SupressZeroNullModifier sampling: description: |- Sampling configuration. Sampling is the process by which a decision is made on whether to process/export a span or not. type: object properties: client: description: |- Target percentage of requests that will be force traced if the 'x-client-trace-id' header is set. Mirror of client_sampling in Envoy https://github.com/envoyproxy/envoy/blob/v1.22.0/api/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto#L127-L133 Either int or decimal represented as string. If not specified then the default value is 100. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false overall: description: |- Target percentage of requests will be traced after all other sampling checks have been applied (client, force tracing, random sampling). This field functions as an upper limit on the total configured sampling rate. For instance, setting client to 100 but overall to 1 will result in only 1% of client requests with the appropriate headers to be force traced. Mirror of overall_sampling in Envoy https://github.com/envoyproxy/envoy/blob/v1.22.0/api/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto#L142-L150 Either int or decimal represented as string. If not specified then the default value is 100. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false random: description: |- Target percentage of requests that will be randomly selected for trace generation, if not requested by the client or not forced. Mirror of random_sampling in Envoy https://github.com/envoyproxy/envoy/blob/v1.22.0/api/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto#L135-L140 Either int or decimal represented as string. If not specified then the default value is 100. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false x-speakeasy-param-computed: false tags: description: |- Custom tags configuration. You can add custom tags to traces based on headers or literal values. type: array items: description: |- Custom tags configuration. Only one of literal or header can be used. properties: header: description: Tag taken from a header. type: object properties: default: description: |- Default value to use if header is missing. If the default is missing and there is no value the tag will not be included. type: string x-speakeasy-param-computed: false name: description: Name of the header. type: string x-speakeasy-param-computed: false required: - name x-speakeasy-param-computed: false literal: description: Tag taken from literal value. type: string x-speakeasy-param-computed: false name: description: Name of the tag. type: string x-speakeasy-param-computed: false required: - name type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined inplace. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true status: description: Status is the current status of the Kuma MeshTrace resource. type: object properties: conditions: type: array items: properties: message: description: |- message is a human readable message indicating details about the transition. This may be an empty string. type: string maxLength: 32768 x-speakeasy-param-computed: false reason: description: |- reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. type: string maxLength: 1024 minLength: 1 pattern: '^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$' x-speakeasy-param-computed: false status: description: 'status of the condition, one of True, False, Unknown.' type: string enum: - 'True' - 'False' - Unknown x-speakeasy-unknown-values: allow type: description: type of condition in CamelCase or in foo.example.com/CamelCase. type: string maxLength: 316 pattern: '^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$' x-speakeasy-param-computed: false required: - message - reason - status - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshTrafficPermissionItem: description: 'MeshTrafficPermission controls which services are allowed to communicate with each other in the mesh. It provides fine-grained access control by allowing you to define allow/deny rules based on service identity, enabling zero-trust security and supporting shadow mode for testing permission changes before enforcement.' type: object properties: type: description: the type of the resource type: string enum: - MeshTrafficPermission x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mtp_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshTrafficPermission resource. type: object properties: from: description: From list makes a match between clients and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of clients referenced in 'targetRef' type: object properties: action: description: 'Action defines a behavior for the specified group of clients:' type: string enum: - Allow - Deny - AllowWithShadowDeny x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of clients. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier rules: description: Rules defines inbound permissions configuration type: array items: properties: default: type: object properties: allow: description: Allow definees a list of matches for which access will be allowed type: array items: properties: sni: description: SNI defines a matcher configuration for matching by SNI value carried on the TLS connection type: object properties: type: description: Type defines how to match traffic by SNI. Only `Exact` is supported. type: string enum: - Exact x-speakeasy-param-computed: false value: description: Value is the SNI carried on the TLS connection that needs to match for the configuration to be applied type: string x-speakeasy-param-computed: false required: - type - value x-speakeasy-param-computed: false spiffeID: description: SpiffeID defines a matcher configuration for SpiffeID matching type: object properties: type: description: Type defines how to match incoming traffic by SpiffeID. `Exact` or `Prefix` are allowed. type: string enum: - Exact - Prefix x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value is SpiffeID of a client that needs to match for the configuration to be applied type: string x-speakeasy-param-computed: false required: - type - value x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier allowWithShadowDeny: description: |- AllowWithShadowDeny defines a list of matches for which access will be allowed but emits logs as if requests are denied type: array items: properties: sni: description: SNI defines a matcher configuration for matching by SNI value carried on the TLS connection type: object properties: type: description: Type defines how to match traffic by SNI. Only `Exact` is supported. type: string enum: - Exact x-speakeasy-param-computed: false value: description: Value is the SNI carried on the TLS connection that needs to match for the configuration to be applied type: string x-speakeasy-param-computed: false required: - type - value x-speakeasy-param-computed: false spiffeID: description: SpiffeID defines a matcher configuration for SpiffeID matching type: object properties: type: description: Type defines how to match incoming traffic by SpiffeID. `Exact` or `Prefix` are allowed. type: string enum: - Exact - Prefix x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value is SpiffeID of a client that needs to match for the configuration to be applied type: string x-speakeasy-param-computed: false required: - type - value x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier deny: description: Deny defines a list of matches for which access will be denied type: array items: properties: sni: description: SNI defines a matcher configuration for matching by SNI value carried on the TLS connection type: object properties: type: description: Type defines how to match traffic by SNI. Only `Exact` is supported. type: string enum: - Exact x-speakeasy-param-computed: false value: description: Value is the SNI carried on the TLS connection that needs to match for the configuration to be applied type: string x-speakeasy-param-computed: false required: - type - value x-speakeasy-param-computed: false spiffeID: description: SpiffeID defines a matcher configuration for SpiffeID matching type: object properties: type: description: Type defines how to match incoming traffic by SpiffeID. `Exact` or `Prefix` are allowed. type: string enum: - Exact - Prefix x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value is SpiffeID of a client that needs to match for the configuration to be applied type: string x-speakeasy-param-computed: false required: - type - value x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false required: - default type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined inplace. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec ZoneEgressItem: type: object properties: creationTime: description: Time at which the resource was created type: string format: date-time readOnly: true x-speakeasy-param-suppress-computed-diff: true kri: description: Kuma Resource Identifier (KRI) of the given resource type: string readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true labels: type: object additionalProperties: type: string x-speakeasy-param-computed: false modificationTime: description: Time at which the resource was updated type: string format: date-time readOnly: true x-speakeasy-param-suppress-computed-diff: true name: type: string x-speakeasy-param-computed: false networking: description: Networking defines the address and port of the Egress to listen on. type: object properties: address: description: Address on which inbound listener will be exposed type: string x-speakeasy-param-computed: false admin: description: Admin contains configuration related to Envoy Admin API type: object properties: port: description: Port on which Envoy Admin API server will be listening type: integer x-speakeasy-param-computed: false x-speakeasy-param-computed: false port: description: Port of the inbound interface that will forward requests to the service. type: integer x-speakeasy-param-computed: false x-speakeasy-param-computed: false type: type: string x-speakeasy-param-computed: false zone: description: |- Zone field contains Zone name where egress is serving, field will be automatically set by Global Kuma CP type: string x-speakeasy-param-computed: false required: - type - name ZoneIngressItem: type: object properties: availableServices: description: |- AvailableService contains tags that represent unique subset of endpoints type: array items: properties: externalService: description: instance of external service available from the zone type: boolean x-speakeasy-param-computed: false instances: description: number of instances available for given tags type: integer x-speakeasy-param-computed: false mesh: description: mesh of the instances available for given tags type: string x-speakeasy-param-computed: false tags: description: tags of the service type: object additionalProperties: type: string x-speakeasy-param-computed: false type: object default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier creationTime: description: Time at which the resource was created type: string format: date-time readOnly: true x-speakeasy-param-suppress-computed-diff: true kri: description: Kuma Resource Identifier (KRI) of the given resource type: string readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true labels: type: object additionalProperties: type: string x-speakeasy-param-computed: false modificationTime: description: Time at which the resource was updated type: string format: date-time readOnly: true x-speakeasy-param-suppress-computed-diff: true name: type: string x-speakeasy-param-computed: false networking: description: |- Networking defines the address and port of the Ingress to listen on. Additionally publicly advertised address and port could be specified. type: object properties: address: description: Address on which inbound listener will be exposed type: string x-speakeasy-param-computed: false admin: description: Admin contains configuration related to Envoy Admin API type: object properties: port: description: Port on which Envoy Admin API server will be listening type: integer x-speakeasy-param-computed: false x-speakeasy-param-computed: false advertisedAddress: description: |- AdvertisedAddress defines IP or DNS name on which ZoneIngress is accessible to other Kuma clusters. type: string x-speakeasy-param-computed: false advertisedPort: description: |- AdvertisedPort defines port on which ZoneIngress is accessible to other Kuma clusters. type: integer x-speakeasy-param-computed: false port: description: Port of the inbound interface that will forward requests to the service. type: integer x-speakeasy-param-computed: false x-speakeasy-param-computed: false type: type: string x-speakeasy-param-computed: false zone: description: |- Zone field contains Zone name where ingress is serving, field will be automatically set by Global Kuma CP type: string x-speakeasy-param-computed: false required: - type - name SecretItem: type: object properties: creationTime: description: Time at which the resource was created type: string format: date-time readOnly: true x-speakeasy-param-suppress-computed-diff: true data: description: Value of the secret type: string format: byte x-speakeasy-param-computed: false labels: type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue mesh: type: string x-speakeasy-param-computed: false modificationTime: description: Time at which the resource was updated type: string format: date-time readOnly: true x-speakeasy-param-suppress-computed-diff: true name: type: string x-speakeasy-param-computed: false type: type: string x-speakeasy-param-computed: false required: - type - name - mesh HostnameGeneratorItem: description: 'HostnameGenerator automatically generates DNS hostnames for services in the mesh based on customizable templates. It provides a consistent naming scheme for service discovery by creating predictable hostnames from service labels and metadata, supporting both MeshService, MeshExternalService, and MeshMultiZoneService resources.' type: object properties: type: description: the type of the resource type: string enum: - HostnameGenerator x-speakeasy-param-computed: false kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_hg___kuma-system_myresource1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false spec: description: Spec is the specification of the Kuma HostnameGenerator resource. type: object properties: extension: description: Extension struct for a plugin configuration type: object properties: config: description: Config freeform configuration for the extension. default: null nullable: true x-kubernetes-preserve-unknown-fields: true x-speakeasy-param-computed: false type: description: Type of the extension. type: string x-speakeasy-param-computed: false required: - type x-speakeasy-param-computed: false selector: type: object properties: meshExternalService: type: object properties: matchLabels: type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false meshMultiZoneService: type: object properties: matchLabels: type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false meshService: type: object properties: matchLabels: type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false template: type: string x-speakeasy-param-computed: false required: - template x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshExternalServiceItem: description: 'MeshExternalService represents external services (outside the mesh) that mesh services can communicate with securely. It enables mesh services to reach external APIs, databases, or third-party services by defining endpoints, ports, protocols, and optional TLS configuration for secure outbound connections with hostname-based routing support.' type: object properties: type: description: the type of the resource type: string enum: - MeshExternalService x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_extsvc_default_zone-east_kuma-system_myresource1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true snis: description: 'List of SNIs (Server Name Indication) advertised by xDS for this destination, one entry per port, sorted by port ascending. Present for MeshService, MeshMultiZoneService and MeshExternalService.' type: array items: type: object required: - port - sni properties: port: description: The destination port this SNI corresponds to. type: integer format: int32 x-speakeasy-param-computed: false sni: description: The SNI string advertised by xDS for this port. type: string x-speakeasy-param-computed: false example: - port: 8080 sni: sni.extsvc.default.zone-east.kuma-system.myresource1.8080 readOnly: true x-speakeasy-param-suppress-computed-diff: true x-speakeasy-plan-modifiers: SupressZeroNullModifier name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshExternalService resource. type: object properties: endpoints: description: Endpoints defines a list of destinations to send traffic to. type: array items: properties: address: description: 'Address defines an address to which a user want to send a request. Is possible to provide `domain`, `ip`.' type: string example: example.com minLength: 1 x-speakeasy-param-computed: false port: description: Port of the endpoint type: integer format: int32 maximum: 65535 minimum: 1 x-speakeasy-param-computed: false priority: description: |- Priority maps to Envoy's priority levels to enable endpoint failover. Lower values have higher priority (0 is the default/primary). When the primary endpoints become unhealthy, traffic fails over to the next priority level. type: integer format: int32 maximum: 128 minimum: 0 x-speakeasy-param-computed: false required: - address - port type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier extension: description: 'Extension struct for a plugin configuration, in the presence of an extension `endpoints` and `tls` are not required anymore - it''s up to the extension to validate them independently.' type: object properties: config: description: Config freeform configuration for the extension. x-kubernetes-preserve-unknown-fields: true x-speakeasy-plan-modifiers: ArbitraryJSONModifier type: description: Type of the extension. type: string x-speakeasy-param-computed: false required: - type x-speakeasy-param-computed: false match: description: Match defines traffic that should be routed through the sidecar. type: object properties: port: description: Port defines a port to which a user does request. type: integer format: int32 maximum: 65535 minimum: 1 x-speakeasy-param-computed: false protocol: description: 'Protocol defines a protocol of the communication. Possible values: `tcp`, `grpc`, `http`, `http2`.' type: string default: tcp enum: - tcp - grpc - http - http2 x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow type: description: 'Type of the match, only `HostnameGenerator` is available at the moment.' type: string default: HostnameGenerator enum: - HostnameGenerator x-speakeasy-param-computed: false required: - port x-speakeasy-param-computed: false tls: description: Tls provides a TLS configuration when proxy is resposible for a TLS origination type: object properties: allowRenegotiation: description: |- AllowRenegotiation defines if TLS sessions will allow renegotiation. Setting this to true is not recommended for security reasons. type: boolean default: false x-speakeasy-param-computed: false enabled: description: Enabled defines if proxy should originate TLS. type: boolean default: false x-speakeasy-param-computed: false verification: description: Verification section for providing TLS verification details. type: object properties: caCert: description: CaCert defines a certificate of CA. type: object properties: inline: description: Data source is inline bytes. type: string format: byte x-speakeasy-param-computed: false inlineString: description: Data source is inline string` type: string x-speakeasy-param-computed: false secret: description: Data source is a secret with given Secret key. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false clientCert: description: ClientCert defines a certificate of a client. type: object properties: inline: description: Data source is inline bytes. type: string format: byte x-speakeasy-param-computed: false inlineString: description: Data source is inline string` type: string x-speakeasy-param-computed: false secret: description: Data source is a secret with given Secret key. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false clientKey: description: ClientKey defines a client private key. type: object properties: inline: description: Data source is inline bytes. type: string format: byte x-speakeasy-param-computed: false inlineString: description: Data source is inline string` type: string x-speakeasy-param-computed: false secret: description: Data source is a secret with given Secret key. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false mode: description: 'Mode defines if proxy should skip verification, one of `SkipSAN`, `SkipCA`, `Secured`, `SkipAll`. Default `Secured`.' type: string default: Secured enum: - SkipSAN - SkipCA - Secured - SkipAll x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow serverName: description: ServerName overrides the default Server Name Indicator set by Kuma. type: string x-speakeasy-param-computed: false subjectAltNames: description: SubjectAltNames list of names to verify in the certificate. type: array items: properties: type: description: 'Type specifies matching type, one of `Exact`, `Prefix`. Default: `Exact`' type: string default: Exact enum: - Exact - Prefix x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value to match. type: string x-speakeasy-param-computed: false required: - value type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false version: description: Version section for providing version specification. type: object properties: max: description: 'Max defines maximum supported version. One of `TLSAuto`, `TLS10`, `TLS11`, `TLS12`, `TLS13`.' type: string default: TLSAuto enum: - TLSAuto - TLS10 - TLS11 - TLS12 - TLS13 x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow min: description: 'Min defines minimum supported version. One of `TLSAuto`, `TLS10`, `TLS11`, `TLS12`, `TLS13`.' type: string default: TLSAuto enum: - TLSAuto - TLS10 - TLS11 - TLS12 - TLS13 x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow x-speakeasy-param-computed: false x-speakeasy-param-computed: false required: - match x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true status: description: Status is the current status of the Kuma MeshExternalService resource. type: object properties: addresses: description: Addresses section for generated domains type: array items: properties: hostname: type: string x-speakeasy-param-computed: false hostnameGeneratorRef: type: object properties: coreName: type: string x-speakeasy-param-computed: false required: - coreName x-speakeasy-param-computed: false origin: type: string x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier hostnameGenerators: type: array items: properties: conditions: description: Conditions is an array of hostname generator conditions. type: array items: properties: message: description: |- message is a human readable message indicating details about the transition. This may be an empty string. type: string maxLength: 32768 x-speakeasy-param-computed: false reason: description: |- reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. type: string maxLength: 1024 minLength: 1 pattern: '^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$' x-speakeasy-param-computed: false status: description: 'status of the condition, one of True, False, Unknown.' type: string enum: - 'True' - 'False' - Unknown x-speakeasy-unknown-values: allow type: description: type of condition in CamelCase or in foo.example.com/CamelCase. type: string maxLength: 316 pattern: '^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$' x-speakeasy-param-computed: false required: - message - reason - status - type type: object x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier hostnameGeneratorRef: type: object properties: coreName: type: string x-speakeasy-param-computed: false required: - coreName x-speakeasy-param-computed: false required: - hostnameGeneratorRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier vip: description: Vip section for allocated IP type: object properties: ip: description: Value allocated IP for a provided domain with `HostnameGenerator` type in a match section. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshIdentityItem: description: 'MeshIdentity manages service identity and certificate provisioning for workloads in the mesh. It configures how services obtain their identity certificates, supporting multiple providers including bundled certificates (self-signed or user-provided CA), SPIRE integration, and custom SPIFFE ID configuration for secure service-to-service authentication.' type: object properties: type: description: the type of the resource type: string enum: - MeshIdentity x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mid_default_zone-east_kuma-system_myresource1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshIdentity resource. type: object properties: provider: type: object properties: bundled: description: |- Bundled provides information about certificates that are generated by the control plane, either autogenerated or provided by the user. type: object properties: autogenerate: description: Autogenerate configures the control plane to use self-signed certificates. type: object properties: enabled: type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false ca: description: CA has configuration related to the CA type: object properties: certificate: description: Certificate allows the user to specify a custom certificate. type: object properties: envVar: type: object properties: name: type: string x-speakeasy-param-computed: false required: - name x-speakeasy-param-computed: false file: type: object properties: path: type: string x-speakeasy-param-computed: false required: - path x-speakeasy-param-computed: false insecureInline: type: object properties: value: type: string x-speakeasy-param-computed: false required: - value x-speakeasy-param-computed: false secretRef: type: object properties: kind: type: string enum: - Secret x-speakeasy-param-computed: false name: type: string x-speakeasy-param-computed: false required: - kind - name x-speakeasy-param-computed: false type: type: string enum: - File - Secret - EnvVar - InsecureInline x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type x-speakeasy-param-computed: false privateKey: description: PrivateKey allows the user to specify a custom private key. type: object properties: envVar: type: object properties: name: type: string x-speakeasy-param-computed: false required: - name x-speakeasy-param-computed: false file: type: object properties: path: type: string x-speakeasy-param-computed: false required: - path x-speakeasy-param-computed: false insecureInline: type: object properties: value: type: string x-speakeasy-param-computed: false required: - value x-speakeasy-param-computed: false secretRef: type: object properties: kind: type: string enum: - Secret x-speakeasy-param-computed: false name: type: string x-speakeasy-param-computed: false required: - kind - name x-speakeasy-param-computed: false type: type: string enum: - File - Secret - EnvVar - InsecureInline x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type x-speakeasy-param-computed: false x-speakeasy-param-computed: false certificateParameters: description: CertificateParameters allows users to define certificate generation parameters. type: object properties: expiry: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false insecureAllowSelfSigned: description: InsecureAllowSelfSigned allows users to enable the use of self-signed certificates. type: boolean x-speakeasy-param-computed: false meshTrustCreation: description: |- MeshTrustCreation defines whether a MeshTrust resource should be automatically created from an existing MeshIdentity. If not defined, the control plane automatically generates a MeshTrust. type: string enum: - Enabled - Disabled x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow x-speakeasy-param-computed: false extension: description: Extension indicates that custom provider is used. type: object properties: config: description: Config is a freeform configuration for the extension. x-kubernetes-preserve-unknown-fields: true name: description: Name is the name of the extension provider. type: string x-speakeasy-param-computed: false required: - name x-speakeasy-param-computed: false spire: description: Spire indicates that SPIRE is used for certificate delivery. type: object properties: agent: description: Spire agent configuration type: object properties: timeout: description: |- Connection timeout to the socket exposed by Spire agent Default 1 second. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false type: description: Type specifies the type of certificate provider. type: string enum: - Bundled - Spire - Extension x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type x-speakeasy-param-computed: false selector: type: object properties: dataplane: type: object properties: matchLabels: type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false spiffeID: type: object properties: path: type: string x-speakeasy-param-computed: false trustDomain: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true status: description: Status is the current status of the Kuma MeshIdentity resource. type: object properties: conditions: description: Conditions is an array of hostname generator conditions. type: array items: properties: message: description: |- message is a human readable message indicating details about the transition. This may be an empty string. type: string maxLength: 32768 x-speakeasy-param-computed: false reason: description: |- reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. type: string maxLength: 1024 minLength: 1 pattern: '^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$' x-speakeasy-param-computed: false status: description: 'status of the condition, one of True, False, Unknown.' type: string enum: - 'True' - 'False' - Unknown x-speakeasy-unknown-values: allow type: description: type of condition in CamelCase or in foo.example.com/CamelCase. type: string maxLength: 316 pattern: '^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$' x-speakeasy-param-computed: false required: - message - reason - status - type type: object x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshMultiZoneServiceItem: description: |- MeshMultiZoneService provides global load balancing and service discovery across multiple zones in a multi-zone mesh deployment. It aggregates MeshServices from different zones by label selectors, creating a unified service endpoint with automatic VIP assignment and hostname generation for cross-zone communication and failover. MeshMultizoneServices are only created on global type: object properties: type: description: the type of the resource type: string enum: - MeshMultiZoneService x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mzsvc_default_zone-east_kuma-demo_myresource1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true snis: description: 'List of SNIs (Server Name Indication) advertised by xDS for this destination, one entry per port, sorted by port ascending. Present for MeshService, MeshMultiZoneService and MeshExternalService.' type: array items: type: object required: - port - sni properties: port: description: The destination port this SNI corresponds to. type: integer format: int32 x-speakeasy-param-computed: false sni: description: The SNI string advertised by xDS for this port. type: string x-speakeasy-param-computed: false example: - port: 8080 sni: sni.mzsvc.default.zone-east.kuma-demo.myresource1.8080 readOnly: true x-speakeasy-param-suppress-computed-diff: true x-speakeasy-plan-modifiers: SupressZeroNullModifier name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshMultiZoneService resource. type: object properties: ports: description: Ports is a list of ports from selected MeshServices type: array items: properties: appProtocol: description: Protocol identifies a protocol supported by a service. type: string default: tcp x-speakeasy-param-computed: false name: type: string x-speakeasy-param-computed: false port: type: integer format: int32 x-speakeasy-param-computed: false required: - port type: object minItems: 1 x-speakeasy-plan-modifiers: SupressZeroNullModifier selector: description: Selector is a way to select multiple MeshServices type: object properties: meshService: description: MeshService selects MeshServices type: object properties: matchLabels: type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false required: - meshService x-speakeasy-param-computed: false required: - ports - selector x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true status: description: Status is the current status of the Kuma MeshMultiZoneService resource. type: object properties: addresses: description: Addresses is a list of addresses generated by HostnameGenerator type: array items: properties: hostname: type: string x-speakeasy-param-computed: false hostnameGeneratorRef: type: object properties: coreName: type: string x-speakeasy-param-computed: false required: - coreName x-speakeasy-param-computed: false origin: type: string x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier conditions: description: Conditions is an array of current conditions type: array items: properties: message: description: |- message is a human readable message indicating details about the transition. This may be an empty string. type: string maxLength: 32768 x-speakeasy-param-computed: false reason: description: |- reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. type: string maxLength: 1024 minLength: 1 pattern: '^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$' x-speakeasy-param-computed: false status: description: 'status of the condition, one of True, False, Unknown.' type: string enum: - 'True' - 'False' - Unknown x-speakeasy-unknown-values: allow type: description: type of condition in CamelCase or in foo.example.com/CamelCase. type: string maxLength: 316 pattern: '^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$' x-speakeasy-param-computed: false required: - message - reason - status - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier hostnameGenerators: description: Status of hostnames generator applied on this resource type: array items: properties: conditions: description: Conditions is an array of hostname generator conditions. type: array items: properties: message: description: |- message is a human readable message indicating details about the transition. This may be an empty string. type: string maxLength: 32768 x-speakeasy-param-computed: false reason: description: |- reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. type: string maxLength: 1024 minLength: 1 pattern: '^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$' x-speakeasy-param-computed: false status: description: 'status of the condition, one of True, False, Unknown.' type: string enum: - 'True' - 'False' - Unknown x-speakeasy-unknown-values: allow type: description: type of condition in CamelCase or in foo.example.com/CamelCase. type: string maxLength: 316 pattern: '^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$' x-speakeasy-param-computed: false required: - message - reason - status - type type: object x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier hostnameGeneratorRef: type: object properties: coreName: type: string x-speakeasy-param-computed: false required: - coreName x-speakeasy-param-computed: false required: - hostnameGeneratorRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier meshServices: description: MeshServices is a list of matched MeshServices type: array items: properties: mesh: type: string x-speakeasy-param-computed: false name: description: Name is a core name of MeshService type: string x-speakeasy-param-computed: false namespace: type: string x-speakeasy-param-computed: false zone: type: string x-speakeasy-param-computed: false required: - mesh - name - namespace - zone type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier vips: description: VIPs is a list of assigned Kuma VIPs. type: array items: properties: ip: type: string x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshOpenTelemetryBackendItem: description: |- MeshOpenTelemetryBackend defines a shared OTel collector endpoint for observability policies. An empty spec is valid and represents the node-local default flow (kuma-dp resolves the address at runtime using HOST_IP or 127.0.0.1). type: object properties: type: description: the type of the resource type: string enum: - MeshOpenTelemetryBackend x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_motb_default_zone-east_kuma-system_myresource1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshOpenTelemetryBackend resource. type: object properties: endpoint: description: |- Endpoint optionally defines the OTel collector address and port. When omitted, the CP defaults port to 4317 and leaves address empty; kuma-dp resolves the address at runtime using HOST_IP or 127.0.0.1. type: object properties: address: description: |- Address of the OTel collector (hostname or IP). When omitted, kuma-dp resolves it at runtime using HOST_IP or 127.0.0.1. type: string x-speakeasy-param-computed: false path: description: |- Path is an optional base path prefix for HTTP endpoints. The CP appends signal-specific suffixes (/v1/traces, /v1/metrics, /v1/logs). Non-empty value is rejected by validation when protocol is grpc. type: string x-speakeasy-param-computed: false port: description: Port of the OTel collector. Defaults to 4317 when omitted. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false env: description: |- Env controls whether standard OTEL exporter env vars participate in the final exporter config for this backend. Defaults to mode: Optional, precedence: EnvFirst, allowSignalOverrides: true when omitted. type: object properties: allowSignalOverrides: description: |- AllowSignalOverrides controls whether per-signal OTEL env vars (OTEL_EXPORTER_OTLP_TRACES_*, OTEL_EXPORTER_OTLP_METRICS_*, OTEL_EXPORTER_OTLP_LOGS_*) may diverge from the shared OTEL_EXPORTER_OTLP_* values. true (default): per-signal vars override the shared values for that signal. false: per-signal vars are ignored; the shared values apply to all signals. When per-signal overrides are dropped this way, SignalOverridesDisallowed appears in blockedReasons (a soft block - export still works via the shared config). type: boolean x-speakeasy-param-computed: false mode: description: |- Mode controls whether OTEL env vars participate in the merge. Disabled: env vars are skipped entirely; only explicit backend fields and built-in defaults apply. Optional (default): env vars are used when present; absence is fine. Required: env vars must supply the missing fields - if any required field is missing the signal is blocked (state: missing, RequiredEnvMissing in blockedReasons) even when an explicit value or default could fill it. type: string default: Optional enum: - Disabled - Optional - Required x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow precedence: description: |- Precedence controls which source wins when both an explicit backend field and an env var are present for the same field. EnvFirst (default): env vars win; explicit backend fields fill gaps. ExplicitFirst: explicit backend fields win; env vars fill gaps. In either case, built-in defaults are the last fallback. type: string default: EnvFirst enum: - ExplicitFirst - EnvFirst x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow x-speakeasy-param-computed: false protocol: description: |- Protocol selects gRPC or HTTP transport for the collector connection. Defaults to grpc when omitted. type: string enum: - grpc - http x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true status: description: Status is the current status of the Kuma MeshOpenTelemetryBackend resource. type: object properties: conditions: type: array items: properties: message: description: |- message is a human readable message indicating details about the transition. This may be an empty string. type: string maxLength: 32768 x-speakeasy-param-computed: false reason: description: |- reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. type: string maxLength: 1024 minLength: 1 pattern: '^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$' x-speakeasy-param-computed: false status: description: 'status of the condition, one of True, False, Unknown.' type: string enum: - 'True' - 'False' - Unknown x-speakeasy-unknown-values: allow type: description: type of condition in CamelCase or in foo.example.com/CamelCase. type: string maxLength: 316 pattern: '^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$' x-speakeasy-param-computed: false required: - message - reason - status - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshServiceItem: description: 'MeshService represents a service in the mesh with its connectivity and health information. It defines service endpoints by selecting data plane proxies through labels or direct references, configures service ports and protocols, tracks service availability and health status, and provides automatic VIP assignment and hostname generation for service discovery.' type: object properties: type: description: the type of the resource type: string enum: - MeshService x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_msvc_default_zone-east_kuma-demo_myresource1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true snis: description: 'List of SNIs (Server Name Indication) advertised by xDS for this destination, one entry per port, sorted by port ascending. Present for MeshService, MeshMultiZoneService and MeshExternalService.' type: array items: type: object required: - port - sni properties: port: description: The destination port this SNI corresponds to. type: integer format: int32 x-speakeasy-param-computed: false sni: description: The SNI string advertised by xDS for this port. type: string x-speakeasy-param-computed: false example: - port: 8080 sni: sni.msvc.default.zone-east.kuma-demo.myresource1.8080 readOnly: true x-speakeasy-param-suppress-computed-diff: true x-speakeasy-plan-modifiers: SupressZeroNullModifier name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshService resource. type: object properties: identities: type: array items: properties: type: type: string enum: - ServiceTag - SpiffeID x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: type: string x-speakeasy-param-computed: false required: - type - value type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier ports: type: array items: properties: appProtocol: description: Protocol identifies a protocol supported by a service. type: string default: tcp x-speakeasy-param-computed: false name: type: string x-speakeasy-param-computed: false port: type: integer format: int32 x-speakeasy-param-computed: false targetPort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false required: - port type: object x-kubernetes-list-map-keys: - port - appProtocol x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier selector: type: object properties: dataplaneLabels: type: object properties: matchLabels: type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false dataplaneRef: type: object properties: name: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false dataplaneTags: type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false state: description: |- State of MeshService. Available if there is at least one healthy endpoint. Otherwise, Unavailable. It's used for cross zone communication to check if we should send traffic to it, when MeshService is aggregated into MeshMultiZoneService. type: string default: Unavailable enum: - Available - Unavailable x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true status: description: Status is the current status of the Kuma MeshService resource. type: object properties: addresses: type: array items: properties: hostname: type: string x-speakeasy-param-computed: false hostnameGeneratorRef: type: object properties: coreName: type: string x-speakeasy-param-computed: false required: - coreName x-speakeasy-param-computed: false origin: type: string x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier dataplaneProxies: description: Data plane proxies statistics selected by this MeshService. type: object properties: connected: description: Number of data plane proxies connected to the zone control plane type: integer x-speakeasy-param-computed: false healthy: description: Number of data plane proxies with all healthy inbounds selected by this MeshService. type: integer x-speakeasy-param-computed: false total: description: Total number of data plane proxies. type: integer x-speakeasy-param-computed: false x-speakeasy-param-computed: false hostnameGenerators: type: array items: properties: conditions: description: Conditions is an array of hostname generator conditions. type: array items: properties: message: description: |- message is a human readable message indicating details about the transition. This may be an empty string. type: string maxLength: 32768 x-speakeasy-param-computed: false reason: description: |- reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. type: string maxLength: 1024 minLength: 1 pattern: '^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$' x-speakeasy-param-computed: false status: description: 'status of the condition, one of True, False, Unknown.' type: string enum: - 'True' - 'False' - Unknown x-speakeasy-unknown-values: allow type: description: type of condition in CamelCase or in foo.example.com/CamelCase. type: string maxLength: 316 pattern: '^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$' x-speakeasy-param-computed: false required: - message - reason - status - type type: object x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier hostnameGeneratorRef: type: object properties: coreName: type: string x-speakeasy-param-computed: false required: - coreName x-speakeasy-param-computed: false required: - hostnameGeneratorRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier tls: type: object properties: status: type: string enum: - Ready - NotReady x-speakeasy-unknown-values: allow x-speakeasy-param-computed: false vips: type: array items: properties: ip: type: string x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshTrustItem: description: 'MeshTrust defines trusted Certificate Authority (CA) bundles for a trust domain in the mesh. It establishes trust relationships for service-to-service mTLS authentication by specifying which CA certificates are trusted to verify service identities, supporting PEM-encoded CA bundles and enabling secure cross-service communication within the trust domain.' type: object properties: type: description: the type of the resource type: string enum: - MeshTrust x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mtrust_default_zone-east_kuma-system_myresource1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshTrust resource. type: object properties: caBundles: description: |- CABundles contains a list of CA bundles supported by this TrustDomain. At least one CA bundle must be specified. type: array items: properties: pem: description: Pem contains the PEM-encoded CA bundle if the Type is set to a PEM-based format. type: object properties: value: description: Value holds the PEM-encoded CA bundle as a string. type: string x-speakeasy-param-computed: false required: - value x-speakeasy-param-computed: false type: description: Type specifies the format or source type of the CA bundle. type: string enum: - Pem x-speakeasy-param-computed: false required: - type type: object minItems: 1 x-speakeasy-plan-modifiers: SupressZeroNullModifier origin: description: |- Origin specifies whether the resource was created from a MeshIdentity. Deprecated: use Status.Origin instead type: object properties: kri: description: Resource identifier type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false trustDomain: description: TrustDomain is the trust domain associated with this resource. type: string maxLength: 253 x-speakeasy-param-computed: false required: - caBundles - trustDomain x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true status: description: Status is the current status of the Kuma MeshTrust resource. type: object properties: origin: description: Origin specifies whether the resource was created from a MeshIdentity. type: object properties: kri: description: Resource identifier type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshZoneAddressItem: description: MeshZoneAddress holds the public address and port for a mesh-scoped zone ingress proxy. type: object properties: type: description: the type of the resource type: string enum: - MeshZoneAddress x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mza_default_zone-east_kuma-demo_myresource1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshZoneAddress resource. type: object properties: address: description: Address is the publicly reachable address of the zone ingress. type: string minLength: 1 x-speakeasy-param-computed: false port: description: Port is the publicly reachable port of the zone ingress. type: integer format: int32 maximum: 65535 minimum: 1 x-speakeasy-param-computed: false required: - address - port x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec WorkloadItem: description: 'Workload represents a logical grouping of data plane proxies in the mesh, providing visibility into their operational status. It tracks statistics about the data plane proxies that belong to a workload, including the number of connected, healthy, and total proxies, enabling monitoring and health assessment of your workload deployments. Workloads is also the primary way data-planes are grouped together in metrics and traces.' type: object properties: type: description: the type of the resource type: string enum: - Workload x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_wl_default_zone-east_kuma-demo_myresource1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false spec: description: Spec is the specification of the Kuma Workload resource. type: object x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true status: description: Status is the current status of the Kuma Workload resource. type: object properties: dataplaneProxies: description: DataplaneProxies defines statistics of data plane proxies that are part of this workload type: object properties: connected: description: Connected defines number of connected data plane proxies type: integer format: int32 x-speakeasy-param-computed: false healthy: description: Healthy defines number of healthy data plane proxies for this workload type: integer format: int32 x-speakeasy-param-computed: false total: description: Total defines total number of data plane proxies for this workload type: integer format: int32 x-speakeasy-param-computed: false required: - connected - healthy - total x-speakeasy-param-computed: false readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec VaultCertificateAuthorityConfig_FromCp_Auth_Aws: type: object properties: aws: type: object properties: iamServerIdHeader: type: string x-speakeasy-param-computed: false role: type: string x-speakeasy-param-computed: false type: oneOf: - type: string - type: integer x-speakeasy-param-computed: false x-speakeasy-param-computed: false VaultCertificateAuthorityConfig_FromCp_Auth_Tls: type: object properties: tls: type: object properties: clientCert: oneOf: - $ref: '#/components/schemas/DataSource_File' - $ref: '#/components/schemas/DataSource_Inline' - $ref: '#/components/schemas/DataSource_InlineString' - $ref: '#/components/schemas/DataSource_Secret' x-speakeasy-param-computed: false clientKey: oneOf: - $ref: '#/components/schemas/DataSource_File' - $ref: '#/components/schemas/DataSource_Inline' - $ref: '#/components/schemas/DataSource_InlineString' - $ref: '#/components/schemas/DataSource_Secret' x-speakeasy-param-computed: false x-speakeasy-param-computed: false VaultCertificateAuthorityConfig_FromCp_Auth_Token: type: object properties: token: oneOf: - $ref: '#/components/schemas/DataSource_File' - $ref: '#/components/schemas/DataSource_Inline' - $ref: '#/components/schemas/DataSource_InlineString' - $ref: '#/components/schemas/DataSource_Secret' x-speakeasy-param-computed: false VaultCertificateAuthorityConfig_FromCp_: type: object properties: fromCp: type: object properties: address: type: string x-speakeasy-param-computed: false agentAddress: type: string x-speakeasy-param-computed: false auth: oneOf: - $ref: '#/components/schemas/VaultCertificateAuthorityConfig_FromCp_Auth_Aws' - $ref: '#/components/schemas/VaultCertificateAuthorityConfig_FromCp_Auth_Tls' - $ref: '#/components/schemas/VaultCertificateAuthorityConfig_FromCp_Auth_Token' x-speakeasy-param-computed: false commonName: type: string x-speakeasy-param-computed: false namespace: type: string x-speakeasy-param-computed: false pki: type: string x-speakeasy-param-computed: false role: type: string x-speakeasy-param-computed: false tls: type: object properties: caCert: oneOf: - $ref: '#/components/schemas/DataSource_File' - $ref: '#/components/schemas/DataSource_Inline' - $ref: '#/components/schemas/DataSource_InlineString' - $ref: '#/components/schemas/DataSource_Secret' x-speakeasy-param-computed: false serverName: type: string x-speakeasy-param-computed: false skipVerify: type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false VaultCertificateAuthorityConfig: type: object oneOf: - $ref: '#/components/schemas/VaultCertificateAuthorityConfig_FromCp_' ACMCertificateAuthorityConfig: type: object properties: arn: type: string x-speakeasy-param-computed: false auth: type: object properties: awsCredentials: type: object properties: accessKey: oneOf: - $ref: '#/components/schemas/DataSource_File' - $ref: '#/components/schemas/DataSource_Inline' - $ref: '#/components/schemas/DataSource_InlineString' - $ref: '#/components/schemas/DataSource_Secret' x-speakeasy-param-computed: false accessKeySecret: oneOf: - $ref: '#/components/schemas/DataSource_File' - $ref: '#/components/schemas/DataSource_Inline' - $ref: '#/components/schemas/DataSource_InlineString' - $ref: '#/components/schemas/DataSource_Secret' x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false caCert: oneOf: - $ref: '#/components/schemas/DataSource_File' - $ref: '#/components/schemas/DataSource_Inline' - $ref: '#/components/schemas/DataSource_InlineString' - $ref: '#/components/schemas/DataSource_Secret' x-speakeasy-param-computed: false commonName: type: string x-speakeasy-param-computed: false CertManagerCertificateAuthorityConfig: type: object properties: caCert: oneOf: - $ref: '#/components/schemas/DataSource_File' - $ref: '#/components/schemas/DataSource_Inline' - $ref: '#/components/schemas/DataSource_InlineString' - $ref: '#/components/schemas/DataSource_Secret' x-speakeasy-param-computed: false commonName: type: string x-speakeasy-param-computed: false dnsNames: type: array items: type: string x-speakeasy-param-computed: false default: [] issuerRef: type: object properties: group: type: string x-speakeasy-param-computed: false kind: type: string x-speakeasy-param-computed: false name: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false MeshGlobalRateLimitItem: description: MeshGlobalRateLimit type: object properties: type: description: the type of the resource type: string enum: - MeshGlobalRateLimit x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mgrl_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshGlobalRateLimit resource. type: object properties: from: description: From list makes a match between clients and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of clients referenced in 'targetRef' type: object properties: backend: description: Backend defines location of rate limit backend service. type: object properties: rateLimitService: type: object properties: limitOnServiceFail: description: LimitOnServiceFail will pass limit requests if ratelimit service is not reachable. type: boolean x-speakeasy-param-computed: false timeout: description: Timeout for rate limit request made form Data Plane Proxy to rate limit service. type: string x-speakeasy-param-computed: false url: description: Url defines address of rate limit service. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false required: - rateLimitService x-speakeasy-param-computed: false http: type: object properties: disabled: description: Define if rate limiting should be disabled. type: boolean x-speakeasy-param-computed: false onRateLimit: description: Describes the actions to take on a rate limit event type: object properties: headers: description: The Headers to be added to the HTTP response on a rate limit event type: object properties: add: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier set: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false status: description: The HTTP status code to be set on a rate limit event type: integer format: int32 x-speakeasy-param-computed: false ratelimitOnRequest: description: Defines rate limit based on request content type: array items: properties: kind: description: 'Kind defines type of rate limit config. Possible options: OnHeader.' type: string enum: - OnHeader x-speakeasy-param-computed: false limits: description: Limits defines limit configuration. type: array items: properties: requestRate: description: Defines how many requests are allowed per interval. type: object properties: interval: description: 'The interval the number of units is accounted for. Only 1s, 1m, 1h or 24h can be configured.' type: string x-speakeasy-param-computed: false num: description: |- Number of units per interval (depending on usage it can be a number of requests, or a number of connections). type: integer format: int32 x-speakeasy-param-computed: false required: - interval - num x-speakeasy-param-computed: false value: description: Value of the request element on which rate limit should apply. E.g. header value. type: string x-speakeasy-param-computed: false required: - value type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier name: description: Name of the request element on which rate limit should apply. E.g. header name. type: string x-speakeasy-param-computed: false required: - kind - limits - name type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier requestRate: description: Defines how many requests are allowed per interval. type: object properties: interval: description: 'The interval the number of units is accounted for. Only 1s, 1m, 1h or 24h can be configured.' type: string x-speakeasy-param-computed: false num: description: |- Number of units per interval (depending on usage it can be a number of requests, or a number of connections). type: integer format: int32 x-speakeasy-param-computed: false required: - interval - num x-speakeasy-param-computed: false x-speakeasy-param-computed: false mode: description: |- Mode defines rate limit behavior when limits are reached. Possible options: Limit and Shadow. Setting Shadow will not block over the limit requests but will update metrics. This is useful for testing rate limit configuration. type: string enum: - Limit - Shadow x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - backend - http x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of clients. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined inplace. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false to: description: To list makes a match between clients and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of clients referenced in 'targetRef' type: object properties: backend: description: Backend defines location of rate limit backend service. type: object properties: rateLimitService: type: object properties: limitOnServiceFail: description: LimitOnServiceFail will pass limit requests if ratelimit service is not reachable. type: boolean x-speakeasy-param-computed: false timeout: description: Timeout for rate limit request made form Data Plane Proxy to rate limit service. type: string x-speakeasy-param-computed: false url: description: Url defines address of rate limit service. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false required: - rateLimitService x-speakeasy-param-computed: false http: type: object properties: disabled: description: Define if rate limiting should be disabled. type: boolean x-speakeasy-param-computed: false onRateLimit: description: Describes the actions to take on a rate limit event type: object properties: headers: description: The Headers to be added to the HTTP response on a rate limit event type: object properties: add: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier set: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false status: description: The HTTP status code to be set on a rate limit event type: integer format: int32 x-speakeasy-param-computed: false ratelimitOnRequest: description: Defines rate limit based on request content type: array items: properties: kind: description: 'Kind defines type of rate limit config. Possible options: OnHeader.' type: string enum: - OnHeader x-speakeasy-param-computed: false limits: description: Limits defines limit configuration. type: array items: properties: requestRate: description: Defines how many requests are allowed per interval. type: object properties: interval: description: 'The interval the number of units is accounted for. Only 1s, 1m, 1h or 24h can be configured.' type: string x-speakeasy-param-computed: false num: description: |- Number of units per interval (depending on usage it can be a number of requests, or a number of connections). type: integer format: int32 x-speakeasy-param-computed: false required: - interval - num x-speakeasy-param-computed: false value: description: Value of the request element on which rate limit should apply. E.g. header value. type: string x-speakeasy-param-computed: false required: - value type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier name: description: Name of the request element on which rate limit should apply. E.g. header name. type: string x-speakeasy-param-computed: false required: - kind - limits - name type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier requestRate: description: Defines how many requests are allowed per interval. type: object properties: interval: description: 'The interval the number of units is accounted for. Only 1s, 1m, 1h or 24h can be configured.' type: string x-speakeasy-param-computed: false num: description: |- Number of units per interval (depending on usage it can be a number of requests, or a number of connections). type: integer format: int32 x-speakeasy-param-computed: false required: - interval - num x-speakeasy-param-computed: false x-speakeasy-param-computed: false mode: description: |- Mode defines rate limit behavior when limits are reached. Possible options: Limit and Shadow. Setting Shadow will not block over the limit requests but will update metrics. This is useful for testing rate limit configuration. type: string enum: - Limit - Shadow x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - backend - http x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of clients. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshOPAItem: description: MeshOPA type: object properties: type: description: the type of the resource type: string enum: - MeshOPA x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mopa_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshOPA resource. type: object properties: default: type: object properties: agentConfig: description: AgentConfig defines bootstrap OPA agent configuration. type: object properties: inline: description: Data source is inline bytes. type: string format: byte x-speakeasy-param-computed: false inlineString: description: Data source is inline string` type: string x-speakeasy-param-computed: false secret: description: Data source is a secret with given Secret key. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false appendPolicies: description: Policies define OPA policies that will be applied on OPA Agent. type: array items: properties: ignoreDecision: description: 'If true, then policy won''t be taken into account when making a decision.' type: boolean x-speakeasy-param-computed: false rego: description: 'OPA Policy written in Rego. Available values: secret, inline, inlineString.' type: object properties: inline: description: Data source is inline bytes. type: string format: byte x-speakeasy-param-computed: false inlineString: description: Data source is inline string` type: string x-speakeasy-param-computed: false secret: description: Data source is a secret with given Secret key. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false required: - rego type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier authConfig: description: AuthConfig are configurations specific to the filter. type: object properties: onAgentFailure: description: |- OnAgentFailure either 'allow' or 'deny' (default to deny) whether to allow requests when the authorization agent failed. type: string enum: - Allow - Deny x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow requestBody: description: |- RequestBody configuration to apply on the request body sent to the authorization agent (if absent, the body is not sent). properties: maxSize: description: |- MaxSize defines the maximum payload size sent to authorization agent. If the payload is larger it will be truncated and there will be a header `x-envoy-auth-partial-body: true`. If it is set to 0 no body will be sent to the agent. type: integer format: int32 x-speakeasy-param-computed: false sendRawBody: description: SendRawBody enable sending raw body instead of the body encoded into UTF-8 type: boolean x-speakeasy-param-computed: false type: object x-speakeasy-param-computed: false statusOnError: description: |- StatusOnError is the http status to return when there's a connection failure between the dataplane and the authorization agent type: integer format: int32 x-speakeasy-param-computed: false timeout: description: Timeout for the single gRPC request from Envoy to OPA Agent. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined inplace. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec AccessRoleItem: type: object properties: creationTime: description: Time at which the resource was created type: string format: date-time readOnly: true x-speakeasy-param-suppress-computed-diff: true labels: type: object additionalProperties: type: string x-speakeasy-param-computed: false modificationTime: description: Time at which the resource was updated type: string format: date-time readOnly: true x-speakeasy-param-suppress-computed-diff: true name: type: string x-speakeasy-param-computed: false rules: type: array items: properties: access: type: array items: oneOf: - type: string - type: integer default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier mesh: type: string x-speakeasy-param-computed: false names: type: array items: type: string default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier types: type: array items: type: string default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier when: type: array items: properties: destinations: type: object properties: match: description: 'Tags to match, can be used for both source and destinations' type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false dpToken: type: object properties: tags: type: array items: properties: name: type: string x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false type: object default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false from: type: object properties: targetRef: type: object properties: kind: type: string x-speakeasy-param-computed: false mesh: type: string x-speakeasy-param-computed: false name: type: string x-speakeasy-param-computed: false tags: type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false selectors: type: object properties: match: description: 'Tags to match, can be used for both source and destinations' type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false sources: type: object properties: match: description: 'Tags to match, can be used for both source and destinations' type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: type: object properties: kind: type: string x-speakeasy-param-computed: false mesh: type: string x-speakeasy-param-computed: false name: type: string x-speakeasy-param-computed: false tags: type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false to: type: object properties: targetRef: type: object properties: kind: type: string x-speakeasy-param-computed: false mesh: type: string x-speakeasy-param-computed: false name: type: string x-speakeasy-param-computed: false tags: type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false type: object default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier type: object default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier type: type: string x-speakeasy-param-computed: false required: - type - name AccessRoleBindingItem: type: object properties: creationTime: description: Time at which the resource was created type: string format: date-time readOnly: true x-speakeasy-param-suppress-computed-diff: true labels: type: object additionalProperties: type: string x-speakeasy-param-computed: false modificationTime: description: Time at which the resource was updated type: string format: date-time readOnly: true x-speakeasy-param-suppress-computed-diff: true name: type: string x-speakeasy-param-computed: false roles: type: array items: type: string default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier subjects: type: array items: properties: name: type: string x-speakeasy-param-computed: false type: type: string x-speakeasy-param-computed: false type: object default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier type: type: string x-speakeasy-param-computed: false required: - type - name AccessAuditItem: type: object properties: creationTime: description: Time at which the resource was created type: string format: date-time readOnly: true x-speakeasy-param-suppress-computed-diff: true labels: type: object additionalProperties: type: string x-speakeasy-param-computed: false modificationTime: description: Time at which the resource was updated type: string format: date-time readOnly: true x-speakeasy-param-suppress-computed-diff: true name: type: string x-speakeasy-param-computed: false rules: type: array items: properties: access: type: array items: oneOf: - type: string - type: integer default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier accessAll: type: boolean x-speakeasy-param-computed: false mesh: type: string x-speakeasy-param-computed: false types: type: array items: type: string default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier type: object default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier type: type: string x-speakeasy-param-computed: false required: - type - name MeshControlPlaneFeatures: type: array items: $ref: '#/components/schemas/MeshControlPlaneFeature' MeshControlPlaneFeatureHostnameGenerationCreation: properties: enabled: type: boolean required: - enabled MeshControlPlaneFeatureMeshCreation: properties: enabled: type: boolean required: - enabled MeshControlPlaneFeature: description: | Features to be enabled in the control plane. Currently only defaults are supported. type: object properties: type: type: string enum: - MeshCreation - HostnameGeneratorCreation x-speakeasy-unknown-values: allow hostnameGeneratorCreation: $ref: '#/components/schemas/MeshControlPlaneFeatureHostnameGenerationCreation' meshCreation: $ref: '#/components/schemas/MeshControlPlaneFeatureMeshCreation' required: - type MeshControlPlaneLabels: description: Labels to facilitate tagged search on control planes. Keys must be of length 1-63 characters. type: object example: test: 'true' additionalProperties: type: string pattern: '^[a-z0-9A-Z]{1}([a-z0-9A-Z\-\.\_]*[a-z0-9A-Z]+)?$' minLength: 1 maxLength: 63 nullable: true maxProperties: 10 nullable: true title: Labels MeshControlPlaneNonNullableLabels: description: Labels to facilitate tagged search on control planes. Keys must be of length 1-63 characters. type: object example: test: 'true' additionalProperties: type: string pattern: '^[a-z0-9A-Z]{1}([a-z0-9A-Z\-\.\_]*[a-z0-9A-Z]+)?$' minLength: 1 maxLength: 63 maxProperties: 10 nullable: true title: Labels MeshControlPlane: description: a control plane type: object properties: id: description: ID of the control plane. type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a readOnly: true x-speakeasy-param-suppress-computed-diff: true name: $ref: '#/components/schemas/MeshControlPlaneName' description: $ref: '#/components/schemas/MeshControlPlaneDescription' labels: $ref: '#/components/schemas/MeshControlPlaneLabels' features: $ref: '#/components/schemas/MeshControlPlaneFeatures' version: $ref: '#/components/schemas/MeshControlPlaneVersion' created_at: type: string format: date-time example: '2023-01-11T02:30:42.227Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true updated_at: type: string format: date-time example: '2023-01-11T02:30:42.227Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - id - name - updated_at - created_at title: ControlPlane CreateMeshControlPlaneRequest: description: a payload to create a control plane type: object properties: name: $ref: '#/components/schemas/MeshControlPlaneName' description: $ref: '#/components/schemas/MeshControlPlaneDescription' features: $ref: '#/components/schemas/MeshControlPlaneFeatures' labels: $ref: '#/components/schemas/MeshControlPlaneLabels' version: $ref: '#/components/schemas/MeshControlPlaneVersion' additionalProperties: false required: - name title: CreateMeshControlPlaneRequest PutMeshControlPlaneRequest: description: a payload to update the whole control plane type: object properties: name: $ref: '#/components/schemas/MeshControlPlaneName' description: $ref: '#/components/schemas/MeshControlPlaneDescription' labels: $ref: '#/components/schemas/MeshControlPlaneNonNullableLabels' version: $ref: '#/components/schemas/MeshControlPlaneVersion' required: - name title: PutMeshControlPlaneRequest MeshControlPlaneName: description: The name of the control plane. type: string example: Test control plane maxLength: 100 minLength: 1 pattern: '^[a-z0-9A-Z]{1}.*$' MeshControlPlaneDescription: type: string example: A control plane to handle traffic on development environment. maxLength: 250 MeshControlPlaneVersion: description: 'The version of the control plane. Setting it propagates the change to the global control plane, and is the only way to move a control plane between versions.' type: string example: v3 default: v2 pattern: '^v[0-9]{1,9}$' x-internal: true MeshControlPlaneFilterParameters: type: object properties: name: description: 'Filter using **one** of the following operators: `eq`, `contains`' type: object additionalProperties: false properties: eq: description: The field exactly matches the provided value. type: string contains: description: The field contains the provided value. type: string labels: $ref: '#/components/schemas/LabelsFieldFilter' additionalProperties: false title: MeshControlPlaneFilterParameters CreateSecretPayload: type: object properties: secret: $ref: '#/components/schemas/ClientSecret' enabled: $ref: '#/components/schemas/SecretEnabled' UpdateSecretPayload: type: object properties: enabled: $ref: '#/components/schemas/SecretEnabled' ClientSecretItem: description: The client secret. The secret value is only returned when creating a new secret item. type: object properties: id: description: The ID of the client secret type: string format: uuid enabled: $ref: '#/components/schemas/SecretEnabled' secret: $ref: '#/components/schemas/ClientSecret' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - id - enabled - created_at - updated_at ResponseType: description: OAuth 2.0 response type type: string enum: - none - token - code - id_token x-speakeasy-unknown-values: allow ResponseTypes: description: List of OAuth 2.0 response types type: array items: $ref: '#/components/schemas/ResponseType' nullable: false GrantType: description: OAuth 2.0 grant type type: string enum: - authorization_code - implicit - client_credentials - refresh_token x-enum-dev: - authorization_code - refresh_token x-speakeasy-unknown-values: allow GrantTypes: description: List of OAuth 2.0 grant types type: array items: $ref: '#/components/schemas/GrantType' nullable: false uniqueItems: true RedirectURIs: description: 'The URIs that the client is allowed to redirect to after authentication in interactive flows. All redirect URIs must be absolute URIs, be secure (HTTPS), and must not include a fragment component.' type: array items: type: string format: uri nullable: false LoginURI: description: The URI of the login page where the user is redirected to authenticate in interactive flows. The login page must be secure (HTTPS). type: string format: uri default: null nullable: true x-speakeasy-param-computed: false TokenDuration: description: 'The duration of the minted token is valid for, in seconds' type: integer default: 300 maximum: 2592000 minimum: 60 RefreshTokenDuration: description: 'The duration of the minted refresh token is valid for, in seconds' type: integer default: 2592000 maximum: 157680000 minimum: 60 ClientAllowAllScopes: description: Specifies whether the client is allowed to request all scopes type: boolean default: false ClientAllowScopes: description: Specifies the scopes IDs that the client is allowed to request type: array items: type: string format: uuid nullable: false uniqueItems: true ClientId: description: The OAuth 2.0 client ID type: string example: kYa9iQFU5xPDSIUH9z1z maxLength: 36 minLength: 1 pattern: '[-_\w]+' readOnly: true x-speakeasy-param-suppress-computed-diff: true AuthServerName: description: The name of the auth server type: string minLength: 1 AuthServerDescription: description: The description of the auth server type: string Audience: description: The recipients that the tokens are intended for. This becomes the 'aud' claim in an access token type: string minLength: 1 UpdateAlgorithm: description: Algorithm used in the key signing process type: string enum: - RS256 - RS384 - RS512 - PS256 - PS384 - PS512 x-speakeasy-unknown-values: allow Algorithm: description: Algorithm used in the key signing process type: string default: RS256 enum: - RS256 - RS384 - RS512 - PS256 - PS384 - PS512 x-speakeasy-unknown-values: allow Issuer: description: The complete URL for the custom authorization server. This becomes the 'iss' claim in an access token. type: string TokenEndpointAuthMethod: description: Requested authentication method for OAuth 2.0 endpoints. type: string default: client_secret_post enum: - client_secret_post - none x-speakeasy-unknown-values: allow TrustedOrigins: description: A list or trusted origins to apply the CORS header on for the auth server type: array items: $ref: '#/components/schemas/TrustedOrigin' maxLength: 16 uniqueItems: true TrustedOrigin: description: A trusted origin for the auth server type: string format: uri example: 'https://example.com' DcrDefaultAccessTokenDuration: description: 'The default access token duration, in seconds, applied to DCR clients registered against this auth server' type: integer default: 300 maximum: 2592000 minimum: 60 UpdateDcrDefaultAccessTokenDuration: description: 'The default access token duration, in seconds, applied to DCR clients registered against this auth server' type: integer maximum: 2592000 minimum: 60 AuthServer: type: object properties: id: description: The ID of the auth server type: string format: uuid name: $ref: '#/components/schemas/AuthServerName' description: $ref: '#/components/schemas/AuthServerDescription' audience: $ref: '#/components/schemas/Audience' signing_algorithm: $ref: '#/components/schemas/Algorithm' issuer: $ref: '#/components/schemas/Issuer' metadata_uri: description: The URI of the metadata document for the auth server type: string format: uri jwks_uri: description: The URI of the JWKS endpoint for the auth server type: string format: uri readOnly: true x-speakeasy-param-suppress-computed-diff: true labels: $ref: '#/components/schemas/Labels' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' trusted_origins: $ref: '#/components/schemas/TrustedOrigins' dcr_default_access_token_duration: $ref: '#/components/schemas/DcrDefaultAccessTokenDuration' required: - id - name - description - audience - signing_algorithm - issuer - metadata_uri - labels - created_at - updated_at x-property-annotations: dcr_default_access_token_duration: - x-unstable - x-internal ClaimName: description: The name of the claim type: string minLength: 1 ClaimValue: description: Specifies the value of the claim. It may contain a static value or a dynamic (templated) value. Static values which are valid JSON will result in a JSON object in the token claims. type: string minLength: 1 UpdateClaimIncludeInToken: description: 'Specifies whether to include claim in the token. If the value is set to ''false'' for a claim, the client instead uses the access token to get claims from the ''/userinfo'' endpoint.' type: boolean ClaimIncludeInToken: description: 'Specifies whether to include claim in the token. If the value is set to ''false'' for a claim, the client instead uses the access token to get claims from the ''/userinfo'' endpoint.' type: boolean default: false UpdateClaimIncludeInAllScopes: description: 'Specifies whether to include the claim in all scopes. If the value is set to ''false'' for a claim, the claim is only included in the scopes that explicitly list it.' type: boolean ClaimIncludeInAllScopes: description: 'Specifies whether to include the claim in all scopes. If the value is set to ''false'' for a claim, the claim is only included in the scopes that explicitly list it.' type: boolean default: false ClaimIncludeInScopes: description: Specifies the scopes IDs in which the claim is included type: array items: type: string format: uuid nullable: false UpdateClaimEnabled: description: 'Specifies whether the claim is enabled. If the claim is not enabled, it will not be included in the token or the ''/userinfo'' endpoint.' type: boolean ClaimEnabled: description: 'Specifies whether the claim is enabled. If the claim is not enabled, it will not be included in the token or the ''/userinfo'' endpoint.' type: boolean default: true SecretEnabled: description: 'Specifies whether the secret is enabled. If the secret is not enabled, it will not be usable during authentication phase.' type: boolean default: true Claim: type: object properties: id: description: The ID of the claim type: string format: uuid name: $ref: '#/components/schemas/ClaimName' value: $ref: '#/components/schemas/ClaimValue' include_in_token: $ref: '#/components/schemas/ClaimIncludeInToken' include_in_all_scopes: $ref: '#/components/schemas/ClaimIncludeInAllScopes' include_in_scopes: $ref: '#/components/schemas/ClaimIncludeInScopes' enabled: $ref: '#/components/schemas/ClaimEnabled' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - id - name - value - include_in_token - include_in_all_scopes - include_in_scopes - enabled - created_at - updated_at ScopeName: description: The name of the scope type: string minLength: 1 ScopeDescription: description: Description of the scope type: string UpdateScopeDefault: description: 'Specifies whether the scope is included by default in access tokens without being explicitly requested by the client. If the scope is not allowed by the client, it will not be included in the access token.' type: boolean ScopeDefault: description: 'Specifies whether the scope is included by default in access tokens without being explicitly requested by the client. If the scope is not allowed by the client, it will not be included in the access token.' type: boolean default: false UpdateScopeIncludeInMetadata: description: Specifies whether to include the scope in the metadata document type: boolean ScopeIncludeInMetadata: description: Specifies whether to include the scope in the metadata document type: boolean default: false UpdateScopeEnabled: description: 'Specifies whether the scope is enabled. If the scope is not enabled, it cannot be requested by clients and will not be included in the access token.' type: boolean ScopeEnabled: description: 'Specifies whether the scope is enabled. If the scope is not enabled, it cannot be requested by clients and will not be included in the access token.' type: boolean default: true Scope: type: object properties: id: description: The ID of the scope type: string format: uuid name: $ref: '#/components/schemas/ScopeName' description: $ref: '#/components/schemas/ScopeDescription' default: $ref: '#/components/schemas/ScopeDefault' include_in_metadata: $ref: '#/components/schemas/ScopeIncludeInMetadata' enabled: $ref: '#/components/schemas/ScopeEnabled' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - id - name - description - default - include_in_metadata - enabled - created_at - updated_at ClientName: description: The name of the client type: string minLength: 1 Client: type: object properties: id: $ref: '#/components/schemas/ClientId' name: $ref: '#/components/schemas/ClientName' grant_types: $ref: '#/components/schemas/GrantTypes' redirect_uris: $ref: '#/components/schemas/RedirectURIs' login_uri: $ref: '#/components/schemas/LoginURI' access_token_duration: $ref: '#/components/schemas/TokenDuration' id_token_duration: $ref: '#/components/schemas/TokenDuration' refresh_token_duration: $ref: '#/components/schemas/RefreshTokenDuration' allow_all_scopes: $ref: '#/components/schemas/ClientAllowAllScopes' allow_scopes: $ref: '#/components/schemas/ClientAllowScopes' labels: $ref: '#/components/schemas/Labels' response_types: $ref: '#/components/schemas/ResponseTypes' token_endpoint_auth_method: $ref: '#/components/schemas/TokenEndpointAuthMethod' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - id - name - grant_types - redirect_uris - allow_all_scopes - allow_scopes - access_token_duration - id_token_duration - refresh_token_duration - labels - response_types - created_at - updated_at x-property-annotations: login_uri: - x-unstable refresh_token_duration: - x-unstable - x-internal CreatedClient: allOf: - $ref: '#/components/schemas/Client' - type: object properties: client_secret: description: The OAuth 2.0 client secret type: string example: YAzsyUlNZ5gNGeKS9H3VAdxVPzhPo4ae x-speakeasy-param-computed: true ClientSecret: description: The OAuth 2.0 client secret type: string example: YAzsyUlNZ5gNGeKS9H3VAdxVPzhPo4ae writeOnly: true x-speakeasy-param-sensitive: true x-speakeasy-terraform-plan-only: true AdvancedQuery: description: A query targeting the API usage analytics datasource. type: object properties: datasource: type: string enum: - api_usage metrics: $ref: '#/components/schemas/AdvancedMetrics' dimensions: description: List of attributes or entity types to group by. type: array items: type: string enum: - api - api_package - api_product - api_product_version - application - cache_status - consumer - control_plane - control_plane_group - country_code - data_plane_node - data_plane_node_version - gateway_service - portal - principal - realm - response_source - route - status_code - status_code_grouped - time - upstream_status_code - upstream_status_code_grouped x-speakeasy-unknown-values: allow example: - status_code_grouped default: null maxItems: 2 nullable: true x-speakeasy-param-computed: false filters: $ref: '#/components/schemas/AdvancedFilters' granularity: $ref: '#/components/schemas/Granularity' time_range: $ref: '#/components/schemas/TimeRange' limit: description: Limits the number of distinct metric groups to return. type: number default: 50 maximum: 1000 example: datasource: api_usage time_range: type: relative time_range: 24h tz: EST dimensions: - time - gateway_service filters: - operator: in field: control_plane value: - d5ac5d88-efed-4e10-9dfe-0b0a6646c219 granularity: hourly metrics: - request_count - response_latency_p99 additionalProperties: false required: - datasource LLMQuery: description: A query targeting the LLM usage analytics datasource. type: object properties: datasource: type: string enum: - llm_usage metrics: $ref: '#/components/schemas/LLMMetrics' dimensions: description: List of attributes or entity types to group by. type: array items: type: string enum: - control_plane - control_plane_group - gateway_service - consumer - application - route - ai_provider - ai_response_model - ai_request_model - llm_cache_status - llm_embeddings_provider - llm_embeddings_model - time - principal - realm - status_code - status_code_grouped - ai_plugin x-speakeasy-unknown-values: allow default: null maxItems: 2 nullable: true x-speakeasy-param-computed: false filters: $ref: '#/components/schemas/LLMFilters' granularity: $ref: '#/components/schemas/Granularity' time_range: $ref: '#/components/schemas/TimeRange' limit: description: Limits the number of distinct metric groups to return. type: number default: 50 maximum: 1000 example: datasource: llm_usage time_range: type: relative time_range: 24h tz: EST dimensions: - time - ai_plugin filters: - operator: in field: control_plane value: - d5ac5d88-efed-4e10-9dfe-0b0a6646c219 granularity: hourly metrics: - total_tokens additionalProperties: false required: - datasource AgenticQuery: description: A query targeting the agentic usage analytics datasource. type: object properties: datasource: type: string enum: - agentic_usage metrics: $ref: '#/components/schemas/AgenticMetrics' dimensions: description: List of attributes or entity types to group by. type: array items: type: string enum: - a2a_context_id - a2a_error - a2a_method - a2a_task_id - api - api_package - api_product - api_product_version - application - cache_status - consumer - control_plane - control_plane_group - country_code - data_plane_node - data_plane_node_version - gateway_service - mcp_error - mcp_method - mcp_session_id - mcp_tool_name - portal - principal - realm - response_source - route - status_code - status_code_grouped - time - upstream_status_code - upstream_status_code_grouped x-speakeasy-unknown-values: allow default: null maxItems: 2 nullable: true x-speakeasy-param-computed: false filters: $ref: '#/components/schemas/AgenticFilters' granularity: $ref: '#/components/schemas/Granularity' time_range: $ref: '#/components/schemas/TimeRange' limit: description: Limits the number of distinct metric groups to return. type: number default: 50 maximum: 1000 example: datasource: agentic_usage time_range: type: relative time_range: 24h tz: EST dimensions: - time - mcp_tool_name filters: - operator: in field: control_plane value: - d5ac5d88-efed-4e10-9dfe-0b0a6646c219 granularity: hourly metrics: - request_count additionalProperties: false required: - datasource ManagedCacheUsageQuery: description: | A query targeting the managed cache usage analytics datasource. Note: this datasource only retains data for the last 7 days. type: object properties: datasource: type: string enum: - managed_cache_usage metrics: $ref: '#/components/schemas/ManagedCacheUsageMetrics' dimensions: description: List of attributes or entity types to group by. type: array items: type: string enum: - control_plane - data_plane_group - managed_cache - network - provider - provider_region - time x-speakeasy-unknown-values: allow default: null maxItems: 2 nullable: true x-speakeasy-param-computed: false filters: $ref: '#/components/schemas/ManagedCacheUsageFilters' granularity: $ref: '#/components/schemas/Granularity' time_range: $ref: '#/components/schemas/TimeRange' limit: description: Limits the number of distinct metric groups to return. type: number default: 50 maximum: 1000 example: datasource: managed_cache_usage time_range: type: relative time_range: 24h tz: EST dimensions: - time - provider filters: - operator: in field: control_plane value: - d5ac5d88-efed-4e10-9dfe-0b0a6646c219 granularity: hourly metrics: - cache_memory_utilization_max additionalProperties: false required: - datasource PlatformQuery: description: A query targeting the platform usage analytics datasource. type: object properties: datasource: type: string enum: - platform_usage metrics: $ref: '#/components/schemas/PlatformMetrics' dimensions: description: List of attributes or entity types to group by. type: array items: type: string enum: - time - control_plane - gateway_service - realm - route - consumer - plugin - plugin_name - plugin_scope - data_plane_node_version - env - team - region - hostname x-speakeasy-unknown-values: allow default: null maxItems: 2 nullable: true x-speakeasy-param-computed: false filters: $ref: '#/components/schemas/PlatformFilters' granularity: $ref: '#/components/schemas/PlatformGranularity' time_range: $ref: '#/components/schemas/PlatformTimeRange' limit: description: Limits the number of distinct metric groups to return. type: number default: 50 maximum: 1000 example: datasource: platform_usage time_range: type: relative time_range: 30d dimensions: - time - control_plane granularity: daily metrics: - service_count - route_count additionalProperties: false required: - datasource PlatformTabularQuery: description: A query targeting tabular platform usage analytics data. type: object properties: datasource: type: string enum: - platform_usage entity: type: string default: null nullable: true x-speakeasy-param-computed: false columns: type: array items: type: string default: null minItems: 1 nullable: true x-speakeasy-param-computed: false filters: $ref: '#/components/schemas/PlatformFilters' cursor: type: string default: null nullable: true x-speakeasy-param-computed: false page_size: type: integer default: null nullable: true x-speakeasy-param-computed: false additionalProperties: false required: - datasource Tile: discriminator: propertyName: type mapping: chart: '#/components/schemas/ChartTile' oneOf: - $ref: '#/components/schemas/ChartTile' ChartTile: description: A tile that queries data and renders a visualization. type: object properties: layout: description: | Information about how the tile is placed on the dashboard. Examples: - a tile occupying the first half of the top row: `{ "position": { "col": 0, "row": 0 }, size: { "cols": 3, "rows": 1 } }` - a tile occupying the second half of the top row: `{ "position": { "col": 3, "row": 0 }, size: { "cols": 3, "rows": 1 } }` type: object example: position: col: 3 row: 0 size: cols: 3 rows: 1 additionalProperties: false properties: position: description: | Position of the tile in the dashboard's grid. Numbering starts at 0, so a tile in the upper left of the dashboard will be at column 0, row 0. type: object additionalProperties: false properties: col: type: integer maximum: 5 minimum: 0 row: type: integer minimum: 0 required: - col - row size: description: | Number of columns and rows the tile occupies. A dashboard always has 6 columns, but has as many rows as needed to accommodate the given tiles. type: object additionalProperties: false properties: cols: type: integer maximum: 6 minimum: 1 rows: type: integer minimum: 1 required: - cols - rows required: - position - size type: description: The type of tile. Chart tiles must have type 'chart'. type: string enum: - chart definition: $ref: '#/components/schemas/AnyChartTileDefinition' additionalProperties: false required: - layout - type - definition AnyChartTileDefinition: description: | The tile's definition, which consists of a query to fetch data and a visualization to render the data. Charts and tables expect certain query types to render properly. The documentation for the individual visualization types has more information. oneOf: - $ref: '#/components/schemas/ChartTileDefinition' - $ref: '#/components/schemas/TableChartTileDefinition' ChartTileDefinition: type: object properties: query: discriminator: propertyName: datasource mapping: api_usage: '#/components/schemas/AdvancedQuery' llm_usage: '#/components/schemas/LLMQuery' agentic_usage: '#/components/schemas/AgenticQuery' platform_usage: '#/components/schemas/PlatformQuery' managed_cache_usage: '#/components/schemas/ManagedCacheUsageQuery' oneOf: - $ref: '#/components/schemas/AdvancedQuery' - $ref: '#/components/schemas/LLMQuery' - $ref: '#/components/schemas/AgenticQuery' - $ref: '#/components/schemas/PlatformQuery' - $ref: '#/components/schemas/ManagedCacheUsageQuery' chart: $ref: '#/components/schemas/Chart' additionalProperties: false required: - query - chart x-speakeasy-name-override: ChartVisualization TableChartTileDefinition: type: object properties: query: discriminator: propertyName: datasource mapping: platform_usage: '#/components/schemas/PlatformTabularQuery' oneOf: - $ref: '#/components/schemas/PlatformTabularQuery' chart: $ref: '#/components/schemas/TableChart' additionalProperties: false required: - query - chart x-speakeasy-name-override: TableVisualization Dashboard: description: | A JSON object describing a dashboard. A dashboard is an array of tiles. All tiles are of type 'chart', which query data and render a visualization, either a chart or table. Dashboards have 6 columns and as many rows as necessary to display their tiles. type: object properties: tiles: description: 'The array of tiles. We currently support up to 102 tiles, which is 17 rows of 6x1 tiles.' type: array items: $ref: '#/components/schemas/Tile' maxLength: 102 minLength: 0 preset_filters: description: | An optional array of filters that are applied globally to all relevant tiles in the dashboard. Whether or not a preset filter applies to a tile depends on the filter's dimension. Some dimensions, like `control_plane`, are common to all datasources; other dimensions may only apply to one datasource. type: array items: $ref: '#/components/schemas/AllFilterItems' example: - operator: in field: control_plane value: - 00000000-0000-0000-0000-000000000000 - operator: in field: ai_request_model value: - request_model1 nullable: false additionalProperties: false required: - tiles DashboardUpdateRequest: type: object properties: name: description: | The dashboard name, which is displayed at the top of the dashboard and in lists. It does not need to be unique. type: string maxLength: 255 minLength: 1 definition: $ref: '#/components/schemas/Dashboard' labels: $ref: '#/components/schemas/Labels' required: - name - definition title: Dashboard Request DashboardResponse: type: object properties: name: description: | The dashboard name, which is displayed at the top of the dashboard and in lists. It does not need to be unique. type: string maxLength: 255 minLength: 1 definition: $ref: '#/components/schemas/Dashboard' labels: $ref: '#/components/schemas/Labels' id: $ref: '#/components/schemas/UUID' created_by: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - name - definition title: Dashboard Request AdvancedMetrics: description: | List of aggregated metrics to collect across the requested time span. If no metrics are specified, request_count will be computed by default. type: array items: type: string enum: - cache_hit_rate - error_rate - kong_internal_latency_average - kong_internal_latency_p50 - kong_internal_latency_p95 - kong_internal_latency_p99 - kong_latency_average - kong_latency_p50 - kong_latency_p95 - kong_latency_p99 - request_count - request_per_minute - request_size_average - request_size_p50 - request_size_p95 - request_size_p99 - request_size_sum - response_latency_average - response_latency_p50 - response_latency_p95 - response_latency_p99 - response_size_average - response_size_p50 - response_size_p95 - response_size_p99 - response_size_sum - upstream_latency_average - upstream_latency_p50 - upstream_latency_p95 - upstream_latency_p99 x-speakeasy-unknown-values: allow default: - request_count RequestsFilterType: description: 'The type of filter to apply. `in` filters will limit results to only the specified values, while `not_in` filters will exclude the specified values.' type: string enum: - in - not_in x-speakeasy-unknown-values: allow UnscopedUuid: type: string pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$' RequestsFilterTypeEmpty: description: The type of filter to apply. type: string enum: - empty - not_empty x-speakeasy-unknown-values: allow MetricsApiFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. type: array items: $ref: '#/components/schemas/UnscopedUuid' field: description: The field to filter. type: string enum: - api required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - api required: - operator - field title: Filter by api MetricsApiPackageFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. type: array items: $ref: '#/components/schemas/UnscopedUuid' field: description: The field to filter. type: string enum: - api_package required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - api_package required: - operator - field title: Filter by api_package MetricsApiProductFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. type: array items: $ref: '#/components/schemas/UnscopedUuid' field: description: The field to filter. type: string enum: - api_product required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - api_product required: - operator - field title: Filter by api_product MetricsApiProductVersionFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. type: array items: $ref: '#/components/schemas/UnscopedUuid' field: description: The field to filter. type: string enum: - api_product_version required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - api_product_version required: - operator - field title: Filter by api_product_version MetricsApplicationFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. type: array items: $ref: '#/components/schemas/UnscopedUuid' field: description: The field to filter. type: string enum: - application required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - application required: - operator - field title: Filter by application MetricsCacheStatusFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - cache_status required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - cache_status required: - operator - field title: Filter by cache_status ScopedUuid: type: string pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$' MetricsConsumerFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. Because gateway IDs are only unique within a given control plane, the filter values must be of the form `control_plane_id:field_id` or `control_plane_group_id:field_id` for data plane nodes within a control plane group. type: array items: $ref: '#/components/schemas/ScopedUuid' field: description: The field to filter. type: string enum: - consumer required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - consumer required: - operator - field title: Filter by consumer MetricsControlPlaneFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. type: array items: $ref: '#/components/schemas/UnscopedUuid' field: description: The field to filter. type: string enum: - control_plane required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - control_plane required: - operator - field title: Filter by control_plane MetricsControlPlaneGroupFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. type: array items: $ref: '#/components/schemas/UnscopedUuid' field: description: The field to filter. type: string enum: - control_plane_group required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - control_plane_group required: - operator - field title: Filter by control_plane_group MetricsCountryCodeFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - country_code required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - country_code required: - operator - field title: Filter by country_code MetricsDataPlaneNodeFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. Because gateway IDs are only unique within a given control plane, the filter values must be of the form `control_plane_id:field_id` or `control_plane_group_id:field_id` for data plane nodes within a control plane group. type: array items: $ref: '#/components/schemas/ScopedUuid' field: description: The field to filter. type: string enum: - data_plane_node required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - data_plane_node required: - operator - field title: Filter by data_plane_node MetricsDataPlaneNodeVersionFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - data_plane_node_version required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - data_plane_node_version required: - operator - field title: Filter by data_plane_node_version MetricsGatewayServiceFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. Because gateway IDs are only unique within a given control plane, the filter values must be of the form `control_plane_id:field_id` or `control_plane_group_id:field_id` for data plane nodes within a control plane group. type: array items: $ref: '#/components/schemas/ScopedUuid' field: description: The field to filter. type: string enum: - gateway_service required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - gateway_service required: - operator - field title: Filter by gateway_service MetricsPortalFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. type: array items: $ref: '#/components/schemas/UnscopedUuid' field: description: The field to filter. type: string enum: - portal required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - portal required: - operator - field title: Filter by portal MetricsPrincipalFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. type: array items: $ref: '#/components/schemas/UnscopedUuid' field: description: The field to filter. type: string enum: - principal required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - principal required: - operator - field title: Filter by principal MetricsRealmFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. type: array items: $ref: '#/components/schemas/UnscopedUuid' field: description: The field to filter. type: string enum: - realm required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - realm required: - operator - field title: Filter by realm MetricsResponseSourceFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - response_source required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - response_source required: - operator - field title: Filter by response_source MetricsRouteFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. Because gateway IDs are only unique within a given control plane, the filter values must be of the form `control_plane_id:field_id` or `control_plane_group_id:field_id` for data plane nodes within a control plane group. type: array items: $ref: '#/components/schemas/ScopedUuid' field: description: The field to filter. type: string enum: - route required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - route required: - operator - field title: Filter by route MetricsStatusCodeFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The codes to include in the results. type: array items: type: integer minimum: 0 maximum: 999 field: description: The field to filter. type: string enum: - status_code required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - status_code required: - operator - field title: Filter by status_code MetricsStatusCodeGroupedFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The code groups to include in the results. type: array items: type: string pattern: '^\d[xX][xX]$' field: description: The field to filter. type: string enum: - status_code_grouped required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - status_code_grouped required: - operator - field title: Filter by status_code_grouped MetricsUpstreamStatusCodeFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The codes to include in the results. type: array items: type: integer minimum: 0 maximum: 999 field: description: The field to filter. type: string enum: - upstream_status_code required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - upstream_status_code required: - operator - field title: Filter by upstream_status_code MetricsUpstreamStatusCodeGroupedFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The code groups to include in the results. type: array items: type: string pattern: '^\d[xX][xX]$' field: description: The field to filter. type: string enum: - upstream_status_code_grouped required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - upstream_status_code_grouped required: - operator - field title: Filter by upstream_status_code_grouped AdvancedFilters: description: A list of filters to apply to the query. type: array items: type: object properties: field: type: string enum: - api - api_package - api_product - api_product_version - application - cache_status - consumer - control_plane - control_plane_group - country_code - data_plane_node - data_plane_node_version - gateway_service - portal - principal - realm - response_source - route - status_code - status_code_grouped - upstream_status_code - upstream_status_code_grouped x-speakeasy-unknown-values: allow operator: type: string enum: - in - not_in - empty - not_empty x-speakeasy-unknown-values: allow value: x-speakeasy-type-override: any required: - field - operator Granularity: description: | Force time grouping into buckets of the specified duration. Only has an effect if "time" is in the "dimensions" list. The granularity of the result may be coarser than requested. The finest allowed granularity depends on the query's time range: data farther in the past may have coarser granularity. The exact result granularity will be reported in the response `meta.granularity_ms` field. If granularity is not specified and "time" is in the dimensions list, a default will be chosen based on the time range requested. Different relative times support different granularities: - 15m => tenSecondly, thirtySecondly, minutely - 1h => tenSecondly, thirtySecondly, minutely, fiveMinutely, tenMinutely - 6h => thirtySecondly, minutely, fiveMinutely, tenMinutely, thirtyMinutely, hourly - 12h => minutely, fiveMinutely, tenMinutely, thirtyMinutely, hourly - 24h => fiveMinutely, tenMinutely, thirtyMinutely, hourly - 7d => thirtyMinutely, hourly, twoHourly, twelveHourly, daily - 30d => hourly, twoHourly, twelveHourly, daily, weekly For special time ranges: - current_week, previous_week => thirtyMinutely, hourly, twoHourly, twelveHourly, daily - current_month, previous_month => hourly, twoHourly, twelveHourly, daily, weekly For absolute time ranges, daily will be used. type: string enum: - tenSecondly - thirtySecondly - minutely - fiveMinutely - tenMinutely - thirtyMinutely - hourly - twoHourly - twelveHourly - daily - weekly x-speakeasy-unknown-values: allow MetricsRelativeTimeRangeDtoV2: description: 'A duration representing a relative-to-now span of time. Generally the start time is floored to the requested granularity. Eg 7d from now, with 1day granularity initiated at 2024-01-08T17:11:00+05:00 will query for the time range from 2024-01-01T00:00:00+05:00 to 2024-01-08T17:11:00+05:00. The exact start and end timestamps are returned in the result query in the meta.start and meta.end fields. If the granularity for the previous query was 1hour, it would query a time range from 2024-01-01T17:00:00+05:00 to 2024-01-08T17:11:00+05:00.' type: object properties: tz: type: string default: Etc/UTC type: type: string enum: - relative time_range: type: string default: 1h enum: - 15m - 1h - 6h - 12h - 24h - 7d - 30d - current_week - current_month - previous_week - previous_month x-speakeasy-unknown-values: allow required: - type - time_range title: Relative time range MetricsAbsoluteTimeRangeDtoV2: description: A duration representing an exact start and end time. type: object properties: tz: type: string default: Etc/UTC type: type: string enum: - absolute start: type: string format: date-time default: null nullable: true x-speakeasy-param-computed: false end: type: string format: date-time default: null nullable: true x-speakeasy-param-computed: false required: - type title: Absolute time range TimeRange: description: The time range to query. default: type: relative time_range: 1h discriminator: propertyName: type mapping: relative: '#/components/schemas/MetricsRelativeTimeRangeDtoV2' absolute: '#/components/schemas/MetricsAbsoluteTimeRangeDtoV2' oneOf: - $ref: '#/components/schemas/MetricsRelativeTimeRangeDtoV2' - $ref: '#/components/schemas/MetricsAbsoluteTimeRangeDtoV2' LLMMetrics: description: List of aggregated metrics to collect across the requested time span. type: array items: type: string enum: - total_tokens - prompt_tokens - completion_tokens - ai_request_count - cost - error_rate - llm_cache_embeddings_latency_average - llm_cache_fetch_latency_average - llm_latency_average - llm_embeddings_tokens - llm_embeddings_cost x-speakeasy-unknown-values: allow default: - ai_request_count MetricsAiPluginFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - ai_plugin required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - ai_plugin required: - operator - field title: Filter by ai_plugin MetricsAiProviderFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - ai_provider required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - ai_provider required: - operator - field title: Filter by ai_provider MetricsAiRequestModelFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - ai_request_model required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - ai_request_model required: - operator - field title: Filter by ai_request_model MetricsAiResponseModelFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - ai_response_model required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - ai_response_model required: - operator - field title: Filter by ai_response_model MetricsLlmCacheStatusFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - llm_cache_status required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - llm_cache_status required: - operator - field title: Filter by llm_cache_status MetricsLlmEmbeddingsModelFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - llm_embeddings_model required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - llm_embeddings_model required: - operator - field title: Filter by llm_embeddings_model MetricsLlmEmbeddingsProviderFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - llm_embeddings_provider required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - llm_embeddings_provider required: - operator - field title: Filter by llm_embeddings_provider LLMFilters: description: A list of filters to apply to the query. type: array items: type: object properties: field: type: string enum: - ai_plugin - ai_provider - ai_request_model - ai_response_model - application - consumer - control_plane - control_plane_group - gateway_service - llm_cache_status - llm_embeddings_model - llm_embeddings_provider - principal - realm - route - status_code - status_code_grouped x-speakeasy-unknown-values: allow operator: type: string enum: - in - not_in - empty - not_empty x-speakeasy-unknown-values: allow value: x-speakeasy-type-override: any required: - field - operator AgenticMetrics: description: | List of aggregated metrics to collect across the requested time span. type: array items: type: string enum: - a2a_latency_average - a2a_response_size_sum - cache_hit_rate - error_rate - kong_internal_latency_average - kong_internal_latency_p50 - kong_internal_latency_p95 - kong_internal_latency_p99 - kong_latency_average - kong_latency_p50 - kong_latency_p95 - kong_latency_p99 - mcp_response_size_sum - request_count - request_per_minute - request_size_average - request_size_p50 - request_size_p95 - request_size_p99 - request_size_sum - response_latency_average - response_latency_p50 - response_latency_p95 - response_latency_p99 - response_size_average - response_size_p50 - response_size_p95 - response_size_p99 - response_size_sum - upstream_latency_average - upstream_latency_p50 - upstream_latency_p95 - upstream_latency_p99 x-speakeasy-unknown-values: allow default: - request_count MetricsA2aContextIdFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - a2a_context_id required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - a2a_context_id required: - operator - field title: Filter by a2a_context_id MetricsA2aErrorFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - a2a_error required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - a2a_error required: - operator - field title: Filter by a2a_error MetricsA2aMethodFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - a2a_method required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - a2a_method required: - operator - field title: Filter by a2a_method MetricsA2aTaskIdFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - a2a_task_id required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - a2a_task_id required: - operator - field title: Filter by a2a_task_id MetricsMcpErrorFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - mcp_error required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - mcp_error required: - operator - field title: Filter by mcp_error MetricsMcpMethodFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - mcp_method required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - mcp_method required: - operator - field title: Filter by mcp_method MetricsMcpSessionIdFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - mcp_session_id required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - mcp_session_id required: - operator - field title: Filter by mcp_session_id MetricsMcpToolNameFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - mcp_tool_name required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - mcp_tool_name required: - operator - field title: Filter by mcp_tool_name AgenticFilters: description: A list of filters to apply to the query. type: array items: type: object properties: field: type: string enum: - a2a_context_id - a2a_error - a2a_method - a2a_task_id - api - api_package - api_product - api_product_version - application - cache_status - consumer - control_plane - control_plane_group - country_code - data_plane_node - data_plane_node_version - gateway_service - mcp_error - mcp_method - mcp_session_id - mcp_tool_name - portal - principal - realm - response_source - route - status_code - status_code_grouped - upstream_status_code - upstream_status_code_grouped x-speakeasy-unknown-values: allow operator: type: string enum: - in - not_in - empty - not_empty x-speakeasy-unknown-values: allow value: x-speakeasy-type-override: any required: - field - operator PlatformMetrics: description: List of aggregated metrics to collect across the requested time span. type: array items: type: string enum: - control_plane_count - service_count - route_count - consumer_count - plugin_count - node_count x-speakeasy-unknown-values: allow default: - control_plane_count PlatformFilter: description: A filter to apply to a platform usage query. type: object properties: field: description: The field to filter. type: string enum: - control_plane - data_plane_node_version - env - gateway_service - hostname - plugin - plugin_name - plugin_scope - realm - region - route - team x-speakeasy-unknown-values: allow operator: type: string enum: - in - not_in x-speakeasy-unknown-values: allow value: description: The values to filter by. type: array items: type: string minItems: 1 required: - field - operator - value PlatformFilters: description: A list of filters to apply to the query. type: array items: $ref: '#/components/schemas/PlatformFilter' PlatformGranularity: description: | Force time grouping into buckets of the specified duration. Only has an effect if "time" is in the "dimensions" list. If granularity is not specified and "time" is in the dimensions list, a default will be chosen based on the time range requested. Different relative times support different granularities: - 24h => daily - 7d, current_week, previous_week => daily, weekly - 30d, current_month, previous_month => daily, weekly, monthly - 90d, 180d, 365d, current_quarter, previous_quarter => daily, weekly, monthly For absolute time ranges, daily will be used. Granularity values: - `daily`: Groups data into 24-hour buckets. - `weekly`: Groups data into 7-day buckets. - `monthly`: Groups data into calendar month buckets. type: string enum: - daily - weekly - monthly x-speakeasy-unknown-values: allow PlatformRelativeTimeRange: description: A duration representing a relative-to-now span of time for platform queries. type: object properties: tz: type: string default: Etc/UTC type: type: string enum: - relative time_range: type: string default: 30d enum: - 24h - 7d - 30d - 90d - 180d - 365d - current_week - current_month - current_quarter - previous_week - previous_month - previous_quarter x-speakeasy-unknown-values: allow required: - type - time_range title: Relative time range PlatformTimeRange: description: The time range to query for platform data. default: type: relative time_range: 30d discriminator: propertyName: type mapping: relative: '#/components/schemas/PlatformRelativeTimeRange' absolute: '#/components/schemas/MetricsAbsoluteTimeRangeDtoV2' oneOf: - $ref: '#/components/schemas/PlatformRelativeTimeRange' - $ref: '#/components/schemas/MetricsAbsoluteTimeRangeDtoV2' ManagedCacheUsageMetrics: description: List of aggregated metrics to collect across the requested time span. type: array items: type: string enum: - cache_eviction_rate - cache_expiration_rate - cache_items_average - cache_memory_utilization_max x-speakeasy-unknown-values: allow default: - cache_memory_utilization_max MetricsDataPlaneGroupFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. type: array items: $ref: '#/components/schemas/UnscopedUuid' field: description: The field to filter. type: string enum: - data_plane_group required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - data_plane_group required: - operator - field title: Filter by data_plane_group MetricsManagedCacheFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. type: array items: $ref: '#/components/schemas/UnscopedUuid' field: description: The field to filter. type: string enum: - managed_cache required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - managed_cache required: - operator - field title: Filter by managed_cache MetricsNetworkFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - network required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - network required: - operator - field title: Filter by network MetricsProviderFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - provider required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - provider required: - operator - field title: Filter by provider MetricsProviderRegionFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - provider_region required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - provider_region required: - operator - field title: Filter by provider_region ManagedCacheUsageFilters: description: A list of filters to apply to the query. type: array items: discriminator: propertyName: field mapping: control_plane: '#/components/schemas/MetricsControlPlaneFilterByField' data_plane_group: '#/components/schemas/MetricsDataPlaneGroupFilterByField' managed_cache: '#/components/schemas/MetricsManagedCacheFilterByField' network: '#/components/schemas/MetricsNetworkFilterByField' provider: '#/components/schemas/MetricsProviderFilterByField' provider_region: '#/components/schemas/MetricsProviderRegionFilterByField' oneOf: - $ref: '#/components/schemas/MetricsControlPlaneFilterByField' - $ref: '#/components/schemas/MetricsDataPlaneGroupFilterByField' - $ref: '#/components/schemas/MetricsManagedCacheFilterByField' - $ref: '#/components/schemas/MetricsNetworkFilterByField' - $ref: '#/components/schemas/MetricsProviderFilterByField' - $ref: '#/components/schemas/MetricsProviderRegionFilterByField' DonutChart: description: | A chart that can display one-dimensional data in a hollow, segmented circle. To use this chart, ensure that the query includes only one dimension (not `time`). type: object properties: chart_title: description: 'The title of the chart, which is displayed in the tile''s header.' type: string nullable: false type: type: string enum: - donut additionalProperties: false required: - type title: Donut chart TimeseriesChart: description: | A chart that can render timeseries data -- data from a query that has `time` as a dimension -- as lines or bars. This type of chart can support: - One or more metrics: `{ metrics: ["response_latency_p99", "response_latency_p95"], dimensions: ["time"] }` - One metric plus one non-time dimension: `{ metrics: ["request_count"], dimensions: ["time", "gateway_service"] }` Either way, ensure that `time` is in the list of query dimensions. type: object properties: chart_title: description: 'The title of the chart, which is displayed in the tile''s header.' type: string nullable: false type: type: string enum: - timeseries_line - timeseries_bar x-speakeasy-unknown-values: allow stacked: description: | Whether to stack the bars or lines (implicitly adding them together to form a total), or leave them independent from each other. type: boolean nullable: false additionalProperties: false required: - type title: Timeseries chart BarChart: description: | A chart that can display non-timeseries data as bars. This type of chart supports up to 2 dimensions (not `time`). To render a bar chart of timeseries data, use a `timeseries_bar` chart instead. type: object properties: chart_title: description: 'The title of the chart, which is displayed in the tile''s header.' type: string nullable: false type: type: string enum: - horizontal_bar - vertical_bar x-speakeasy-unknown-values: allow stacked: description: | Whether to stack the bars (implicitly adding them together to form a total), or leave them independent from each other. type: boolean nullable: false additionalProperties: false required: - type title: Bar chart TopNChart: description: | A chart that ranks dimension values by a metric and renders them as a table, showing the top results. This type of chart supports up to 3 dimensions. type: object properties: chart_title: description: 'The title of the chart, which is displayed in the tile''s header.' type: string nullable: false type: type: string enum: - top_n additionalProperties: false required: - type title: Top N chart SingleValueChart: description: A chart that can render a single number. This chart works with a single metric and no dimensions. type: object properties: chart_title: description: 'The title of the chart, which is displayed in the tile''s header.' type: string nullable: false type: type: string enum: - single_value decimal_points: description: 'The number of figures to render after the decimal. Most metrics only support up to 2 decimals, but some may support more.' type: number default: null nullable: true x-speakeasy-param-computed: false additionalProperties: false required: - type title: Single value chart ChoroplethMapChart: description: | A chart that displays data on a world map. Each region on the map is colored based on the metric value. This chart works only with the `api_usage` datasource and requires a single metric and a single dimension of `country_code`. No additional dimensions are supported. type: object properties: chart_title: description: 'The title of the chart, which is displayed in the tile''s header.' type: string nullable: false type: type: string enum: - choropleth_map additionalProperties: false required: - type title: Choropleth map chart Chart: description: The type of chart to render. discriminator: propertyName: type mapping: donut: '#/components/schemas/DonutChart' timeseries_line: '#/components/schemas/TimeseriesChart' timeseries_bar: '#/components/schemas/TimeseriesChart' horizontal_bar: '#/components/schemas/BarChart' vertical_bar: '#/components/schemas/BarChart' top_n: '#/components/schemas/TopNChart' single_value: '#/components/schemas/SingleValueChart' choropleth_map: '#/components/schemas/ChoroplethMapChart' oneOf: - $ref: '#/components/schemas/DonutChart' - $ref: '#/components/schemas/TimeseriesChart' - $ref: '#/components/schemas/BarChart' - $ref: '#/components/schemas/TopNChart' - $ref: '#/components/schemas/SingleValueChart' - $ref: '#/components/schemas/ChoroplethMapChart' TableChart: description: A table that displays tabular platform usage data. type: object properties: chart_title: description: 'The title of the chart, which is displayed in the tile''s header.' type: string nullable: false type: type: string enum: - table additionalProperties: false required: - type title: Table chart MetricsEnvFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - env required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - env required: - operator - field title: Filter by env MetricsHostnameFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - hostname required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - hostname required: - operator - field title: Filter by hostname MetricsRegionFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - region required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - region required: - operator - field title: Filter by region MetricsTeamFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - team required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - team required: - operator - field title: Filter by team AllFilterItems: type: object properties: field: type: string enum: - a2a_context_id - a2a_error - a2a_method - a2a_task_id - ai_plugin - ai_provider - ai_request_model - ai_response_model - api - api_package - api_product - api_product_version - application - cache_status - consumer - control_plane - control_plane_group - country_code - data_plane_group - data_plane_node - data_plane_node_version - env - gateway_service - hostname - llm_cache_status - llm_embeddings_model - llm_embeddings_provider - managed_cache - mcp_error - mcp_method - mcp_session_id - mcp_tool_name - network - portal - principal - provider - provider_region - realm - region - response_source - route - status_code - status_code_grouped - team - upstream_status_code - upstream_status_code_grouped x-speakeasy-unknown-values: allow operator: type: string enum: - in - not_in - empty - not_empty x-speakeasy-unknown-values: allow value: x-speakeasy-type-override: any required: - field - operator MaxPATExpirationPeriodDays: type: integer maximum: 365 minimum: 1 EventGatewayInfo: description: The gateway object contains information about a Konnect gateway. type: object properties: id: description: The gateway ID. type: string format: uuid example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 readOnly: true x-speakeasy-param-suppress-computed-diff: true name: $ref: '#/components/schemas/GatewayName' description: $ref: '#/components/schemas/GatewayDescription' labels: $ref: '#/components/schemas/Labels' created_at: description: An ISO-8604 timestamp representation of gateway creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true x-speakeasy-terraform-ignore: true updated_at: description: An ISO-8604 timestamp representation of gateway update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true x-speakeasy-terraform-ignore: true nodes_total: description: The total number of nodes associated with the Event Gateway. type: integer virtual_clusters_total: description: The total number of virtual clusters associated with the Event Gateway. type: integer min_runtime_version: $ref: '#/components/schemas/MinRuntimeVersion' version: description: | The version number of the event gateway. Every change to an entity under this gateway will modify the version. type: string example: v1.123 additionalProperties: false required: - id - name - created_at - updated_at - nodes_total - virtual_clusters_total - min_runtime_version - version EventGatewayListener: description: Listeners are used to expose virtual clusters to clients. type: object properties: id: description: The unique identifier of the listener. type: string format: uuid x-speakeasy-param-suppress-computed-diff: true name: description: The unique name of the listener. type: string maxLength: 255 minLength: 1 x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the listener. type: string default: '' maxLength: 512 addresses: $ref: '#/components/schemas/EventGatewayListenerAddresses' ports: $ref: '#/components/schemas/EventGatewayListenerPorts' labels: $ref: '#/components/schemas/Labels' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - id - name - addresses - ports - created_at - updated_at EventGatewayListenerAddresses: description: | Which address or addresses to listen on. `0.0.0.0` means all addresses on the host. `::` means all addresses on the host in IPv6. If `0.0.0.0` or `::` is used, there can't be other extra addresses defined. WARNING: there are use cases where listening on all addresses is insecure. So use this with caution. `localhost` means only the localhost ipv4 address. type: array items: type: string minLength: 1 minItems: 1 EventGatewayListenerPorts: description: | Which port or ports to listen on. There can be multiple ways to define ports: - as a single port, e.g. 9092 - as a range of ports, e.g. 9092-9094 It's possible to combine both, e.g. [9092, "9093-9095", 9096]. type: array items: $ref: '#/components/schemas/EventGatewayListenerPort' minItems: 1 EventGatewayListenerPort: description: A port or a range of ports in the format 9092 or 9092-9094. type: string pattern: '^(\d{1,5}|\d{1,5}-\d{1,5})$' VirtualCluster: description: A representation of a Kafka cluster that maps to a backend cluster. type: object properties: id: description: The unique identifier of the virtual cluster. type: string format: uuid x-speakeasy-param-suppress-computed-diff: true description: description: A human-readable description of the virtual cluster. type: string default: '' maxLength: 512 destination: $ref: '#/components/schemas/BackendClusterReference' authentication: $ref: '#/components/schemas/VirtualClusterAuthenticationSensitiveDataAwareSchemes' namespace: $ref: '#/components/schemas/VirtualClusterNamespace' topic_aliases: description: |- Topic aliases allow exposing backend topics under additional names. An alias creates a new entry point to the same physical data. The alias `topic` field references namespace-visible names (if namespace is configured). Aliases are independent of namespace and can be used without it. **Requires a minimum runtime version of `1.2`**. type: array items: $ref: '#/components/schemas/VirtualClusterTopicAlias' nullable: true x-min-runtime-version: '1.2' x-speakeasy-param-computed: false name: $ref: '#/components/schemas/VirtualClusterName' dns_label: $ref: '#/components/schemas/VirtualClusterDNSLabel' acl_mode: $ref: '#/components/schemas/VirtualClusterACLMode' labels: $ref: '#/components/schemas/Labels' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - id - name - dns_label - destination - authentication - acl_mode - created_at - updated_at VirtualClusterName: description: The name of the virtual cluster. type: string maxLength: 255 minLength: 1 x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' VirtualClusterReference: description: A reference to a virtual cluster. $ref: '#/components/schemas/VirtualClusterReferenceById' VirtualClusterReferenceById: description: Reference a virtual cluster by its unique identifier. type: object properties: id: description: The unique identifier of the virtual cluster. type: string format: uuid minLength: 1 required: - id VirtualClusterAuthenticationSensitiveDataAwareSchemes: description: | How to handle authentication from clients. It tries to authenticate with every rule sequentially one by one. It succeeds on the first match, and fails if no rule matches. type: array items: $ref: '#/components/schemas/VirtualClusterAuthenticationSensitiveDataAwareScheme' minItems: 1 VirtualClusterAuthenticationSchemes: description: | How to handle authentication from clients. It tries to authenticate with every rule sequentially one by one. It succeeds on the first match, and fails if no rule matches. type: array items: $ref: '#/components/schemas/VirtualClusterAuthenticationScheme' minItems: 1 VirtualClusterAuthenticationSensitiveDataAwareScheme: discriminator: propertyName: type mapping: anonymous: '#/components/schemas/VirtualClusterAuthenticationAnonymous' sasl_plain: '#/components/schemas/VirtualClusterAuthenticationSaslPlainSensitiveDataAware' sasl_scram: '#/components/schemas/VirtualClusterAuthenticationSaslScram' oauth_bearer: '#/components/schemas/VirtualClusterAuthenticationOauthBearer' client_certificate: '#/components/schemas/VirtualClusterAuthenticationClientCertificate' oneOf: - $ref: '#/components/schemas/VirtualClusterAuthenticationAnonymous' - $ref: '#/components/schemas/VirtualClusterAuthenticationSaslPlainSensitiveDataAware' - $ref: '#/components/schemas/VirtualClusterAuthenticationSaslScram' - $ref: '#/components/schemas/VirtualClusterAuthenticationOauthBearer' - $ref: '#/components/schemas/VirtualClusterAuthenticationClientCertificate' VirtualClusterAuthenticationScheme: discriminator: propertyName: type mapping: anonymous: '#/components/schemas/VirtualClusterAuthenticationAnonymous' sasl_plain: '#/components/schemas/VirtualClusterAuthenticationSaslPlain' sasl_scram: '#/components/schemas/VirtualClusterAuthenticationSaslScram' oauth_bearer: '#/components/schemas/VirtualClusterAuthenticationOauthBearer' client_certificate: '#/components/schemas/VirtualClusterAuthenticationClientCertificate' oneOf: - $ref: '#/components/schemas/VirtualClusterAuthenticationAnonymous' - $ref: '#/components/schemas/VirtualClusterAuthenticationSaslPlain' - $ref: '#/components/schemas/VirtualClusterAuthenticationSaslScram' - $ref: '#/components/schemas/VirtualClusterAuthenticationOauthBearer' - $ref: '#/components/schemas/VirtualClusterAuthenticationClientCertificate' VirtualClusterAuthenticationAnonymous: type: object properties: type: type: string const: anonymous required: - type VirtualClusterAuthenticationClientCertificate: description: |- Client certificate (mTLS) authentication scheme for the virtual cluster. **Requires a minimum runtime version of `1.1`**. type: object properties: type: type: string const: client_certificate fetch_kong_identity_principal: $ref: '#/components/schemas/FetchKongIdentityPrincipal' example: type: client_certificate additionalProperties: false required: - type x-min-runtime-version: '1.1' x-speakeasy-param-computed: false TLSTrustBundle: description: |- A TLS trust bundle defines a set of trusted certificate authorities (CAs) used for client certificate verification during mutual TLS (mTLS). Trust bundles are referenced by TLS listener policies to determine which client certificates are accepted. **Requires a minimum runtime version of `1.1`**. type: object properties: id: description: The unique identifier of the TLS trust bundle. type: string format: uuid readOnly: true x-speakeasy-param-suppress-computed-diff: true name: $ref: '#/components/schemas/TLSTrustBundleName' description: description: A human-readable description of the TLS trust bundle. type: string default: '' maxLength: 512 config: $ref: '#/components/schemas/TLSTrustBundleConfig' labels: $ref: '#/components/schemas/Labels' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - id - name - config - created_at - updated_at x-min-runtime-version: '1.1' x-speakeasy-param-computed: false TLSTrustBundleName: description: The unique name of the TLS trust bundle. type: string maxLength: 255 minLength: 1 x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' TLSTrustBundleConfig: type: object properties: trusted_ca: description: | PEM-encoded list of trusted CA certificates used to verify client certificates. Can be a literal PEM string or a vault reference. type: string minLength: 1 x-expression: type: string fields: - vault required: - trusted_ca TLSTrustBundleReference: description: | A reference to a TLS trust bundle resource. Either `id` or `name` must be provided. Following changes to the trust bundle name won't affect the reference, as the system will create the entities relationship by `id`. $ref: '#/components/schemas/TLSTrustBundleReferenceById' TLSTrustBundleReferenceById: type: object properties: id: description: The unique identifier of the TLS trust bundle. type: string format: uuid minLength: 1 required: - id VirtualClusterAuthenticationSaslPlainSensitiveDataAware: description: SASL/PLAIN authentication scheme for the virtual cluster. type: object properties: type: type: string const: sasl_plain mediation: description: The mediation type for SASL/PLAIN authentication. type: string enum: - passthrough - terminate x-speakeasy-unknown-values: allow principals: description: 'List of principals to be able to authenticate with, used with `terminate` mediation.' type: array items: $ref: '#/components/schemas/VirtualClusterAuthenticationPrincipalSensitiveDataAware' default: null nullable: true x-speakeasy-param-computed: false fetch_kong_identity_principal: $ref: '#/components/schemas/FetchKongIdentityPrincipal' additionalProperties: false required: - type - mediation VirtualClusterAuthenticationSaslPlain: description: | SASL/PLAIN authentication scheme for the virtual cluster containing principals with username and password. type: object properties: type: type: string const: sasl_plain mediation: description: The mediation type for SASL/PLAIN authentication. type: string enum: - passthrough - terminate x-speakeasy-unknown-values: allow principals: description: 'List of principals to be able to authenticate with, used with `terminate` mediation.' type: array items: $ref: '#/components/schemas/VirtualClusterAuthenticationPrincipal' default: null minItems: 1 nullable: true x-speakeasy-param-computed: false fetch_kong_identity_principal: $ref: '#/components/schemas/FetchKongIdentityPrincipal' additionalProperties: false required: - type - mediation VirtualClusterAuthenticationPrincipalSensitiveDataAware: description: A principal for authentication. type: object properties: username: $ref: '#/components/schemas/GatewaySecretReferenceOrLiteral' password: $ref: '#/components/schemas/GatewaySecret' required: - username VirtualClusterAuthenticationPrincipal: description: A principal for authentication containing username and password. type: object properties: username: $ref: '#/components/schemas/GatewaySecretReferenceOrLiteral' password: $ref: '#/components/schemas/GatewaySecret' required: - username - password VirtualClusterAuthenticationJWKS: description: JSON Web Key Set configuration for verifying token signatures. type: object properties: endpoint: description: URL for JWKS endpoint. type: string format: uri minLength: 1 timeout: description: Total time from establishing connection to receive a response from JWKS endpoint. type: string default: 10s cache_expiration: description: Duration after which the gateway will fetch and cache JWKS. type: string default: 1h required: - endpoint VirtualClusterAuthenticationClaimsMapping: description: Maps JWT claims in the case when sub and scope are presented as different claims in your JWT token. type: object properties: sub: description: Maps the subject claim. type: string default: null minLength: 1 nullable: true x-speakeasy-param-computed: false scope: description: Maps the scope claim. type: string default: null minLength: 1 nullable: true x-speakeasy-param-computed: false VirtualClusterAuthenticationSaslScram: description: SASL/SCRAM authentication scheme for the virtual cluster. type: object properties: type: type: string const: sasl_scram algorithm: description: The algorithm used for SASL/SCRAM authentication. type: string enum: - sha256 - sha512 x-speakeasy-unknown-values: allow fetch_kong_identity_principal: $ref: '#/components/schemas/FetchKongIdentityPrincipal' additionalProperties: false required: - type - algorithm VirtualClusterAuthenticationOauthBearer: description: Oauth Bearer authentication scheme for the virtual cluster. type: object properties: type: type: string const: oauth_bearer mediation: description: | Methods to mediate authentication: * passthrough - pass authentication from the client through proxy to the backend cluster without any kind of validation * validate_forward - pass authentication from the client through proxy to the backend cluster. Proxy does the validation before forwarding it to the client. * terminate - terminate authentication at the proxy level and originate authentication to the backend cluster using the configuration defined at BackendCluster's authentication. SASL auth is not originated if authentication on the backend_cluster is not configured. type: string enum: - passthrough - validate_forward - terminate x-speakeasy-unknown-values: allow claims_mapping: $ref: '#/components/schemas/VirtualClusterAuthenticationClaimsMapping' jwks: $ref: '#/components/schemas/VirtualClusterAuthenticationJWKS' validate: $ref: '#/components/schemas/VirtualClusterAuthenticationValidate' fetch_kong_identity_principal: $ref: '#/components/schemas/FetchKongIdentityPrincipalOauthBearer' additionalProperties: false required: - type - mediation VirtualClusterAuthenticationValidate: description: Validation rules. type: object properties: audiences: description: List of expected audience values. One of them has to match the audience claim in the token. type: array items: $ref: '#/components/schemas/VirtualClusterAuthenticationAudience' default: null minItems: 1 nullable: true x-speakeasy-param-computed: false issuer: description: Expected token issuer in the token. type: string default: null minLength: 1 nullable: true x-speakeasy-param-computed: false VirtualClusterAuthenticationAudience: type: object properties: name: type: string minLength: 1 required: - name FetchKongIdentityPrincipal: description: |- Fetches principal metadata from Kong Identity after successful authentication. The principal is looked up by a custom key matched against the authenticated identity. **Requires a minimum runtime version of `1.2`**. type: object properties: directory: description: Kong Identity directory to use for principal lookup. type: string minLength: 1 fetch_by: $ref: '#/components/schemas/FetchKongIdentityPrincipalFetchBy' failure_mode: $ref: '#/components/schemas/FetchKongIdentityPrincipalFailureMode' required: - directory - fetch_by - failure_mode x-min-runtime-version: '1.2' x-speakeasy-param-computed: false FetchKongIdentityPrincipalOauthBearer: description: |- Fetches principal metadata from Kong Identity after successful OAUTHBEARER authentication. The principal is looked up by the iss and sub claims from the JWT token. **Requires a minimum runtime version of `1.2`**. type: object properties: directory: description: Kong Identity directory to use for principal lookup. type: string minLength: 1 failure_mode: $ref: '#/components/schemas/FetchKongIdentityPrincipalFailureMode' required: - directory - failure_mode x-min-runtime-version: '1.2' x-speakeasy-param-computed: false FetchKongIdentityPrincipalFetchBy: description: |- Defines how to look up the principal in Kong Identity. **Requires a minimum runtime version of `1.2`**. type: object properties: key: description: | The metadata key in Kong Identity to match the authenticated identity against. Value for the lookup is a `username` in case of `sasl_plain` or `sasl_scram`. In case of `client_certificate` it's a principal mapped by the listener TLSServer policy. type: string minLength: 1 required: - key x-min-runtime-version: '1.2' x-speakeasy-param-computed: false FetchKongIdentityPrincipalFailureMode: description: |- Behavior when the Kong Identity principal lookup fails. * `error` - fail the authentication if the principal lookup fails. * `ignore` - proceed without principal metadata if the lookup fails. **Requires a minimum runtime version of `1.2`**. type: string enum: - error - ignore x-min-runtime-version: '1.2' x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow VirtualClusterDNSLabel: description: |- The DNS label used in the bootstrap server URL to identify the virtual cluster when using SNI routing. The format follows the RFC1035: 1-63 chars, lowercase alphanumeric or '-', must start and end with an alphanumeric character. type: string example: vcluster-1 maxLength: 63 minLength: 1 pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$' VirtualClusterACLMode: description: | Configures whether or not ACL policies are enforced on the gateway. - `enforce_on_gateway` means the gateway enforces its own ACL policies for this virtual cluster and does not forward ACL-related commands to the backend cluster. Note that if there are no ACL policies configured, all access is denied. - `passthrough` tells the gateway to forward all ACL-related commands. type: string enum: - enforce_on_gateway - passthrough x-speakeasy-unknown-values: allow BackendCluster: description: The Kafka cluster. type: object properties: id: description: The unique identifier of the backend cluster. type: string format: uuid readOnly: true x-speakeasy-param-suppress-computed-diff: true name: $ref: '#/components/schemas/BackendClusterName' description: description: A human-readable description of the backend cluster. type: string default: '' maxLength: 512 authentication: $ref: '#/components/schemas/BackendClusterAuthenticationSensitiveDataAwareScheme' insecure_allow_anonymous_virtual_cluster_auth: description: | If true, virtual clusters can have allow anonymous authentication and use this backend cluster. This setting is not recommended for production use as it may create privilege escalation vulnerabilities. type: boolean default: false bootstrap_servers: $ref: '#/components/schemas/BootstrapServers' tls: $ref: '#/components/schemas/BackendClusterTLS' metadata_update_interval_seconds: $ref: '#/components/schemas/BackendMetadataUpdateIntervalSeconds' labels: $ref: '#/components/schemas/Labels' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - id - name - authentication - bootstrap_servers - tls - created_at - updated_at BackendClusterName: description: The unique name of the backend cluster. type: string maxLength: 255 minLength: 1 x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' BackendClusterReference: description: The backend cluster associated with the virtual cluster. type: object properties: id: description: The unique identifier of the backend cluster. type: string format: uuid name: $ref: '#/components/schemas/BackendClusterName' additionalProperties: false required: - id - name BackendClusterReferenceModify: description: | The backend cluster associated with the virtual cluster. Either `id` or `name` must be provided. Following changes to the backend cluster name won't affect the reference, as the system will create the entities relationship by `id`. properties: id: description: The unique identifier of the backend cluster. type: string format: uuid BootstrapServers: description: 'A list of cluster bootstrap servers in the format address:port.' type: array items: type: string description: 'Endpoint in address:port format.' pattern: '^(([a-zA-Z0-9\.\-]+)|\[([a-fA-F0-9:]+)\]):\d+$' minLength: 1 minItems: 1 BackendClusterTLS: type: object properties: enabled: description: 'If true, TLS is enabled for connections to this backend cluster. If false, TLS is explicitly disabled.' type: boolean insecure_skip_verify: description: 'If true, skip certificate verification. It''s not secure to use for production.' type: boolean default: false ca_bundle: $ref: '#/components/schemas/GatewaySecretReferenceOrLiteral' tls_versions: description: List of supported TLS versions. type: array items: type: string enum: - tls12 - tls13 x-speakeasy-unknown-values: allow default: - tls12 - tls13 client_identity: description: |- Client mTLS configuration. **Requires a minimum runtime version of `1.1`**. type: object properties: certificate: $ref: '#/components/schemas/GatewaySecretReferenceOrLiteral' key: $ref: '#/components/schemas/GatewaySecret' required: - certificate - key x-min-runtime-version: '1.1' x-speakeasy-param-computed: false required: - enabled BackendMetadataUpdateIntervalSeconds: description: The interval at which metadata is updated in seconds. type: integer default: 60 maximum: 43200 minimum: 1 BackendClusterAuthenticationScheme: discriminator: propertyName: type mapping: anonymous: '#/components/schemas/BackendClusterAuthenticationAnonymous' sasl_plain: '#/components/schemas/BackendClusterAuthenticationSaslPlain' sasl_scram: '#/components/schemas/BackendClusterAuthenticationSaslScram' sasl_aws_iam: '#/components/schemas/BackendClusterAuthenticationSaslAwsIam' oneOf: - $ref: '#/components/schemas/BackendClusterAuthenticationAnonymous' - $ref: '#/components/schemas/BackendClusterAuthenticationSaslPlain' - $ref: '#/components/schemas/BackendClusterAuthenticationSaslScram' - $ref: '#/components/schemas/BackendClusterAuthenticationSaslAwsIam' BackendClusterAuthenticationSensitiveDataAwareScheme: discriminator: propertyName: type mapping: anonymous: '#/components/schemas/BackendClusterAuthenticationAnonymous' sasl_plain: '#/components/schemas/BackendClusterAuthenticationSaslPlainSensitiveDataAware' sasl_scram: '#/components/schemas/BackendClusterAuthenticationSaslScramSensitiveDataAware' sasl_aws_iam: '#/components/schemas/BackendClusterAuthenticationSaslAwsIam' oneOf: - $ref: '#/components/schemas/BackendClusterAuthenticationAnonymous' - $ref: '#/components/schemas/BackendClusterAuthenticationSaslPlainSensitiveDataAware' - $ref: '#/components/schemas/BackendClusterAuthenticationSaslScramSensitiveDataAware' - $ref: '#/components/schemas/BackendClusterAuthenticationSaslAwsIam' BackendClusterAuthenticationAnonymous: description: Anonymous authentication scheme for the backend cluster. type: object properties: type: description: The type of authentication scheme. type: string const: anonymous additionalProperties: false required: - type BackendClusterAuthenticationSaslPlainSensitiveDataAware: description: | SASL/PLAIN authentication scheme for the backend cluster without requiring sensitive password data. type: object properties: type: type: string const: sasl_plain username: $ref: '#/components/schemas/GatewaySecretReferenceOrLiteral' password: $ref: '#/components/schemas/GatewaySecret' additionalProperties: false required: - type - username BackendClusterAuthenticationSaslPlain: description: SASL/PLAIN authentication scheme for the backend cluster. type: object properties: type: type: string const: sasl_plain username: $ref: '#/components/schemas/GatewaySecretReferenceOrLiteral' password: $ref: '#/components/schemas/GatewaySecret' additionalProperties: false required: - type - username - password BackendClusterAuthenticationSaslScramSensitiveDataAware: description: | SASL/SCRAM authentication scheme for the backend cluster without requiring sensitive password data. type: object properties: type: type: string const: sasl_scram algorithm: description: The algorithm used for SASL/SCRAM authentication. type: string enum: - sha256 - sha512 x-speakeasy-unknown-values: allow username: $ref: '#/components/schemas/GatewaySecretReferenceOrLiteral' password: $ref: '#/components/schemas/GatewaySecret' additionalProperties: false required: - type - username - algorithm BackendClusterAuthenticationSaslScram: description: SASL/SCRAM authentication scheme for the backend cluster. type: object properties: type: type: string const: sasl_scram algorithm: description: The algorithm used for SASL/SCRAM authentication. type: string enum: - sha256 - sha512 x-speakeasy-unknown-values: allow username: $ref: '#/components/schemas/GatewaySecretReferenceOrLiteral' password: $ref: '#/components/schemas/GatewaySecret' additionalProperties: false required: - type - username - algorithm - password BackendClusterAuthenticationSaslAwsIam: description: |- AWS IAM-based OAUTHBEARER authentication scheme for the backend cluster, for example when connecting to Amazon MSK with IAM authentication. **Requires a minimum runtime version of `1.3`**. type: object properties: type: type: string const: sasl_aws_iam sasl_aws_iam: type: object discriminator: propertyName: type mapping: default_provider_chain: '#/components/schemas/BackendClusterAuthenticationSaslAwsIamDefaultProviderChain' assume_role: '#/components/schemas/BackendClusterAuthenticationSaslAwsIamAssumeRole' oneOf: - $ref: '#/components/schemas/BackendClusterAuthenticationSaslAwsIamDefaultProviderChain' - $ref: '#/components/schemas/BackendClusterAuthenticationSaslAwsIamAssumeRole' example: type: sasl_aws_iam sasl_aws_iam: type: default_provider_chain additionalProperties: false required: - type - sasl_aws_iam x-internal: true x-min-runtime-version: '1.3' x-speakeasy-param-computed: false x-unstable: true BackendClusterAuthenticationSaslAwsIamDefaultProviderChain: description: |- Configures whether to authenticate using credentials obtained from the AWS default credentials provider chain **Requires a minimum runtime version of `1.3`**. type: object properties: type: type: string const: default_provider_chain additionalProperties: false required: - type x-internal: true x-min-runtime-version: '1.3' x-speakeasy-param-computed: false x-unstable: true BackendClusterAuthenticationSaslAwsIamAssumeRole: description: |- Configures whether to authenticate using credentials obtained by first assuming a role, using the AWS default credentials provider chain **Requires a minimum runtime version of `1.3`**. type: object properties: type: type: string const: assume_role assume_role: description: Configuration for assuming an IAM role. Required when `type` is `assume_role`. type: object properties: arn: description: | The [ARN](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns) of the IAM role to assume, formatted as `arn:aws:iam::<account-id>:role/<role-name>`. type: string example: 'arn:aws:iam::123456789012:role/example-role' maxLength: 2048 minLength: 10 pattern: '^arn:aws(-[a-z-]+)?:iam:.+' session_name: description: | The session name to attach to the assumed role session. The value becomes part of the assumed role user ARN, queryable as `arn:aws:sts::<account-id>:assumed-role/<role-name>/<session-name>`. type: string default: null nullable: true x-speakeasy-param-computed: false required: - arn additionalProperties: false required: - type - assume_role x-internal: true x-min-runtime-version: '1.3' x-speakeasy-param-computed: false x-unstable: true EventGatewayVaultType: description: The type of the vault. type: string enum: - env - konnect x-enum-varnames: - EventGatewayVaultTypeEnv - EventGatewayVaultTypeKonnect x-speakeasy-unknown-values: allow EventGatewayVault: type: object properties: id: description: The unique identifier of the vault. type: string format: uuid discriminator: propertyName: type mapping: env: '#/components/schemas/EventGatewayEnvVault' konnect: '#/components/schemas/EventGatewayKonnectVault' oneOf: - $ref: '#/components/schemas/EventGatewayEnvVault' - $ref: '#/components/schemas/EventGatewayKonnectVault' required: - id EventGatewayBaseVault: description: Base properties of a vault. type: object properties: name: description: The name of the vault. type: string maxLength: 255 minLength: 1 pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.'']*[\p{L}\p{N}]$' x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' type: $ref: '#/components/schemas/EventGatewayVaultType' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' description: description: A human-readable description of the vault. type: string default: '' maxLength: 512 labels: $ref: '#/components/schemas/Labels' required: - name - type - created_at - updated_at EventGatewayEnvVault: allOf: - $ref: '#/components/schemas/EventGatewayBaseVault' - type: object description: An environment vault. required: - config - type properties: type: type: string const: env x-go-type: EventGatewayVaultType config: description: The configuration of the environment vault. type: object properties: prefix: description: The optional prefix for environment variables. type: string example: KONG_ required: - prefix EventGatewayKonnectVault: allOf: - $ref: '#/components/schemas/EventGatewayBaseVault' - type: object description: A konnect vault. required: - type properties: type: type: string const: konnect x-go-type: EventGatewayVaultType EventGatewayModifyVault: description: The typed schema of the vault to modify it. discriminator: propertyName: type mapping: env: '#/components/schemas/EventGatewayEnvVault' konnect: '#/components/schemas/EventGatewayKonnectVault' oneOf: - $ref: '#/components/schemas/EventGatewayEnvVault' - $ref: '#/components/schemas/EventGatewayKonnectVault' SchemaRegistry: description: A schema registry that contains schemas. type: object properties: name: description: The unique name of the schema registry. type: string maxLength: 255 minLength: 1 x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description. type: string maxLength: 512 x-speakeasy-param-computed: true type: description: The type of the schema registry. type: string config: description: The configuration of the schema registry. type: object default: null nullable: true x-speakeasy-param-computed: false labels: $ref: '#/components/schemas/Labels' id: description: The unique identifier of the schema registry. type: string format: uuid created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - name - type - id - created_at - updated_at SchemaRegistryConfluentSensitiveDataAware: description: A Confluent schema registry. type: object properties: name: description: The unique name of the schema registry. type: string maxLength: 255 minLength: 1 x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description. type: string maxLength: 512 x-speakeasy-param-computed: true type: description: The type of the schema registry. type: string const: confluent config: description: The configuration of the schema registry. type: object $ref: '#/components/schemas/SchemaRegistryConfluentConfigSensitiveDataAware' labels: $ref: '#/components/schemas/Labels' required: - name - type - config SchemaRegistryConfluent: description: A Confluent schema registry. type: object properties: name: description: The unique name of the schema registry. type: string maxLength: 255 minLength: 1 x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description. type: string maxLength: 512 x-speakeasy-param-computed: true type: description: The type of the schema registry. type: string const: confluent config: description: The configuration of the schema registry. type: object $ref: '#/components/schemas/SchemaRegistryConfluentConfig' labels: $ref: '#/components/schemas/Labels' required: - name - type - config SchemaRegistryConfluentConfigSensitiveDataAware: description: | The configuration of [Confluent Schema Registry](https://github.com/confluentinc/schema-registry) type: object properties: schema_type: description: The format of the message. type: string enum: - avro - json x-speakeasy-unknown-values: allow endpoint: description: The endpoint of the Confluent schema registry. type: string format: uri minLength: 1 timeout_seconds: description: | Total time in seconds from establishing connection to receive a response from schema registry. type: integer default: 10 minimum: 1 authentication: $ref: '#/components/schemas/SchemaRegistryAuthenticationSensitiveDataAwareScheme' required: - schema_type - endpoint SchemaRegistryConfluentConfig: description: | The configuration of [Confluent Schema Registry](https://github.com/confluentinc/schema-registry) type: object properties: schema_type: description: The format of the message. type: string enum: - avro - json x-speakeasy-unknown-values: allow endpoint: description: The endpoint of the Confluent schema registry. type: string format: uri minLength: 1 timeout_seconds: description: | Total time in seconds from establishing connection to receive a response from schema registry. type: integer default: 10 minimum: 1 authentication: $ref: '#/components/schemas/SchemaRegistryAuthenticationScheme' required: - schema_type - endpoint SchemaRegistryAuthenticationSensitiveDataAwareScheme: description: The authentication configuration for the schema registry. discriminator: propertyName: type mapping: basic: '#/components/schemas/SchemaRegistryAuthenticationBasicSensitiveDataAware' oneOf: - $ref: '#/components/schemas/SchemaRegistryAuthenticationBasicSensitiveDataAware' SchemaRegistryAuthenticationScheme: description: The authentication configuration for the schema registry. discriminator: propertyName: type mapping: basic: '#/components/schemas/SchemaRegistryAuthenticationBasic' oneOf: - $ref: '#/components/schemas/SchemaRegistryAuthenticationBasic' SchemaRegistryAuthenticationBasicSensitiveDataAware: type: object properties: type: type: string const: basic username: $ref: '#/components/schemas/GatewaySecretReferenceOrLiteral' password: $ref: '#/components/schemas/GatewaySecret' required: - type - username SchemaRegistryAuthenticationBasic: description: Basic authentication scheme for the schema registry with username and password. type: object properties: type: type: string const: basic username: $ref: '#/components/schemas/GatewaySecretReferenceOrLiteral' password: $ref: '#/components/schemas/GatewaySecret' required: - type - username - password SchemaRegistryReference: description: A reference to a schema Registry. $ref: '#/components/schemas/SchemaRegistryReferenceById' SchemaRegistryReferenceById: type: object properties: id: description: The unique identifier of the schema registry. type: string format: uuid minLength: 1 required: - id SchemaRegistryCreate: description: The typed schema of the schema registry to create it. discriminator: propertyName: type mapping: confluent: '#/components/schemas/SchemaRegistryConfluent' oneOf: - $ref: '#/components/schemas/SchemaRegistryConfluent' SchemaRegistryUpdate: description: The typed schema of the schema registry to modify it. discriminator: propertyName: type mapping: confluent: '#/components/schemas/SchemaRegistryConfluentSensitiveDataAware' oneOf: - $ref: '#/components/schemas/SchemaRegistryConfluentSensitiveDataAware' EventGatewayPolicy: description: A policy associated with an Event Gateway. type: object properties: type: description: The type name of the policy. type: string maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' id: description: The unique identifier of the policy. type: string format: uuid config: description: The configuration of the policy. type: object default: null nullable: true x-speakeasy-param-computed: false created_at: $ref: '#/components/schemas/CreatedAt' parent_policy_id: description: 'The unique identifier of the parent policy, if any.' type: string format: uuid default: null nullable: true x-speakeasy-param-computed: false updated_at: $ref: '#/components/schemas/UpdatedAt' condition: description: A string containing the boolean expression that determines whether the policy is applied. type: string default: '' maxLength: 1000 x-expression: type: boolean fields: [] required: - type - id - created_at - updated_at EventGatewayListenerPolicy: description: A policy associated with an Event Gateway. type: object properties: type: description: The type name of the policy. type: string maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' id: description: The unique identifier of the policy. type: string format: uuid config: description: The configuration of the policy. type: object created_at: $ref: '#/components/schemas/CreatedAt' parent_policy_id: description: 'The unique identifier of the parent policy, if any.' type: string format: uuid default: null nullable: true x-speakeasy-param-computed: false updated_at: $ref: '#/components/schemas/UpdatedAt' required: - type - id - created_at - updated_at - config EventGatewayTLSListenerSensitiveDataAwarePolicy: description: | The TLS Server policy defines the certificates and keys used by the gateway server when the client connects to the gateway over TLS. While it is possible to have multiple TLS policies on a listener, only one can be active at a time. type: object properties: type: description: The type name of the policy. type: string const: tls_server maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the policy. type: object $ref: '#/components/schemas/EventGatewayTLSListenerPolicyConfigSensitiveDataAware' required: - type - config EventGatewayTLSListenerPolicy: description: | The TLS Server policy defines the certificates and keys used by the gateway server when the client connects to the gateway over TLS. While it is possible to have multiple TLS policies on a listener, only one can be active at a time. type: object properties: type: description: The type name of the policy. type: string const: tls_server maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the policy. type: object $ref: '#/components/schemas/EventGatewayTLSListenerPolicyConfig' required: - type - config title: TLS Listener EventGatewayTLSListenerPolicyConfigSensitiveDataAware: type: object properties: certificates: type: array items: $ref: '#/components/schemas/TLSCertificateSensitiveDataAware' maxItems: 1 minItems: 1 versions: $ref: '#/components/schemas/TLSVersionRange' allow_plaintext: description: | If false, only TLS connections are allowed. If true, both TLS and plaintext connections are allowed. type: boolean default: false client_authentication: description: |- Configures mutual TLS (mTLS) client certificate verification. When set, the gateway requests or requires clients to present a certificate during the TLS handshake. **Requires a minimum runtime version of `1.1`**. type: object properties: mode: description: | * required - Reject TLS connections without a valid client certificate. * requested - Request a client certificate during the TLS handshake, but allow connections without one (falls back to other configured authentication methods). If a certificate is presented but cannot be verified, the connection is closed. type: string enum: - required - requested x-speakeasy-unknown-values: allow tls_trust_bundles: description: | TLS trust bundles contain CA certificate bundles used to verify client certificates. All bundles are merged into a single trust store; a client certificate is accepted if it chains to any trusted CA across all bundles. type: array items: $ref: '#/components/schemas/TLSTrustBundleReference' minItems: 1 principal_mapping: description: |- An expression that extracts a principal identifier from a verified client certificate. This expression must evaluate to a string. **Requires a minimum runtime version of `1.1`**. type: string example: '${context.certificate.subject[''CN''] ? context.certificate.subject[''CN''] : context.certificate.sans.uri[0]}' x-expression: type: string fields: - name: context.certificate.serialNumber type: string description: The string serial number of the certificate - name: context.certificate.subject type: object description: | A map of the subject distinguished name. A distinguished name as described by RFC 4514 is represented as a map with each key being the attribute type and the value being the attribute value. For example: * `certificate.subject['CN']` is the common name * `certificate.subject['O']` is the organization - name: context.certificate.issuer type: object description: | A map of the issuer distinguished name. A distinguished name as described by RFC 4514 is represented as a map with each key being the attribute type and the value being the attribute value. For example: * `certificate.issuer['CN']` is the common name * `certificate.issuer['O']` is the organization - name: context.certificate.sans.dns type: array items: type: string description: An array of the DNS Subject Alternative Names from the certificate. - name: context.certificate.sans.uri type: array items: type: string description: An array of the URI Subject Alternative Names from the certificate. x-min-runtime-version: '1.1' x-speakeasy-param-computed: false required: - mode - tls_trust_bundles x-min-runtime-version: '1.1' x-speakeasy-param-computed: false required: - certificates EventGatewayTLSListenerPolicyConfig: type: object properties: certificates: type: array items: $ref: '#/components/schemas/TLSCertificate' maxItems: 1 minItems: 1 versions: $ref: '#/components/schemas/TLSVersionRange' allow_plaintext: description: | If false, only TLS connections are allowed. If true, both TLS and plaintext connections are allowed. type: boolean default: false client_authentication: description: |- Configures mutual TLS (mTLS) client certificate verification. When set, the gateway requests or requires clients to present a certificate during the TLS handshake. **Requires a minimum runtime version of `1.1`**. type: object properties: mode: description: | * required - Reject TLS connections without a valid client certificate. * requested - Request a client certificate during the TLS handshake, but allow connections without one (falls back to other configured authentication methods). If a certificate is presented but cannot be verified, the connection is closed. type: string enum: - required - requested x-speakeasy-unknown-values: allow tls_trust_bundles: description: | TLS trust bundles contain CA certificate bundles used to verify client certificates. All bundles are merged into a single trust store; a client certificate is accepted if it chains to any trusted CA across all bundles. type: array items: $ref: '#/components/schemas/TLSTrustBundleReference' minItems: 1 principal_mapping: description: |- An expression that extracts a principal identifier from a verified client certificate. This expression must evaluate to a string. **Requires a minimum runtime version of `1.1`**. type: string example: '${context.certificate.subject[''CN''] ? context.certificate.subject[''CN''] : context.certificate.sans.uri[0]}' x-expression: type: string fields: - name: context.certificate.serialNumber type: string description: The string serial number of the certificate - name: context.certificate.subject type: object description: | A map of the subject distinguished name. A distinguished name as described by RFC 4514 is represented as a map with each key being the attribute type and the value being the attribute value. For example: * `certificate.subject['CN']` is the common name * `certificate.subject['O']` is the organization - name: context.certificate.issuer type: object description: | A map of the issuer distinguished name. A distinguished name as described by RFC 4514 is represented as a map with each key being the attribute type and the value being the attribute value. For example: * `certificate.issuer['CN']` is the common name * `certificate.issuer['O']` is the organization - name: context.certificate.sans.dns type: array items: type: string description: An array of the DNS Subject Alternative Names from the certificate. - name: context.certificate.sans.uri type: array items: type: string description: An array of the URI Subject Alternative Names from the certificate. x-min-runtime-version: '1.1' x-speakeasy-param-computed: false required: - mode - tls_trust_bundles x-min-runtime-version: '1.1' x-speakeasy-param-computed: false required: - certificates TLSCertificateSensitiveDataAware: description: A TLS certificate and its associated private key. type: object properties: certificate: $ref: '#/components/schemas/GatewaySecretReferenceOrLiteral' key: $ref: '#/components/schemas/GatewaySecret' required: - certificate TLSCertificate: description: A TLS certificate and its associated private key. type: object properties: certificate: $ref: '#/components/schemas/GatewaySecretReferenceOrLiteral' key: $ref: '#/components/schemas/GatewaySecret' required: - certificate - key TLSVersionRange: description: A range of TLS versions. type: object properties: min: description: Minimum TLS version to use. type: string default: TLSv1.2 enum: - TLSv1.2 - TLSv1.3 x-speakeasy-unknown-values: allow max: description: Maximum TLS version to use. type: string default: TLSv1.3 enum: - TLSv1.2 - TLSv1.3 x-speakeasy-unknown-values: allow default: min: TLSv1.2 max: TLSv1.3 ForwardToVirtualClusterPolicy: description: | Forwards requests to virtual clusters configured with port routing or SNI routing. While there can be multiple of these policies configured on a listener, there can only be one instance of `port_mapping`. When multiple policies are configured, the first one that matches the connection is used. If no policy matches, the connection is rejected. When using `port_mapping`, there must be a mapping port for each broker on the backend cluster see `ForwardToClusterBySNIConfig` for more details. type: object properties: type: description: The type name of the policy. type: string const: forward_to_virtual_cluster maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the policy. type: object discriminator: propertyName: type mapping: port_mapping: '#/components/schemas/ForwardToClusterByPortMappingConfig' sni: '#/components/schemas/ForwardToClusterBySNIConfig' oneOf: - $ref: '#/components/schemas/ForwardToClusterBySNIConfig' - $ref: '#/components/schemas/ForwardToClusterByPortMappingConfig' required: - type - config title: Forward to Virtual Cluster ForwardToClusterByPortMappingConfig: description: | The configuration to forward request to `destination` and rewrite ports accordingly. All broker ids must fit in the range of ports defined in the listener, if it doesn't the metadata request will return an error. For example with ports: [9000, "9092-9094", "9100"] and `bootstrap_port: at_start` and brokers with ids 1, 2, 3, 4 we will map: bootstrap to 9000 broker 1 to 9001, broker 2 to 9002, broker 3 to 9003, and broker 4 to 9004 and fail the metadata request as these ports are not open. However, with the same configuration but with brokers with ids: 92,93,94,100 we will map: bootstrap to 9000, broker 92 to 9092, broker 93 to 9093, broker 94 to 9094, and broker 100 to 9100. In most cases users should use a single range `["9090-9094"] ` and `bootstrap_port: at_start` and connect with `<host>:9090` as bootstrap server. Being able to use multiple ranges is only useful when when dealing with gaps in broker ids. It is strongly discouraged to use port mapping in production. type: object properties: type: type: string const: port_mapping destination: $ref: '#/components/schemas/VirtualClusterReference' advertised_host: description: 'Virtual brokers are advertised to clients using this host. Any kind of host supported by kafka can be used. If not defined, it''s listen_address. If listen_address is `0.0.0.0` it''s the destination IP of the TCP connection.' type: string pattern: '^[a-z0-9](?:[a-z0-9\-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9\-]{0,61}[a-z0-9])?)*$' bootstrap_port: description: | If set to `at_start`, the first port will be used as a bootstrap port. It provides a stable endpoint to use as the bootstrap server for clients, regardless of broker IDs in the cluster. Additionally, it offsets all ports by one, so for example, if there are 3 brokers (id=1, id=2, id=3) then we will use 4 ports: 9092 (bootstrap), 9093 (id=1), 9094 (id=2), 9095 (id=3) With `none` we will use 3 ports: 9092 (id=1), 9093 (id=2), 9094 (id=3). type: string default: at_start enum: - none - at_start x-speakeasy-unknown-values: allow min_broker_id: description: The lowest broker node ID in the cluster. type: integer default: 0 additionalProperties: false required: - type - destination - advertised_host ForwardToClusterBySNIConfig: description: | The configuration to forward requests to virtual clusters configured with SNI routing. type: object properties: type: type: string const: sni sni_suffix: description: | Optional suffix for TLS SNI validation. This suffix is concatenated with the virtual cluster "dns.label" label to form the base name for the SNI. If not provided, the virtual cluster "dns.label" label alone is used as the base name for the SNI. For example with sni_suffix: `.example.com` and virtual cluster "dns.label" label: `my-cluster`, the SNI suffix for it is `my-cluster.example.com`. If "dns.label" label is absent on the virtual cluster, the traffic won't be routed there. The bootstrap host is `bootstrap.my-cluster.example.com` and then each broker is addressable at `broker-0.my-cluster.example.com`, `broker-1.my-cluster.example.com`, etc. This means that your deployment needs to have a wildcard certificate for the domain and a DNS resolver that routes `*.my-cluster.example.com` to the proxy. The accepted format is a DNS subdomain starting with either `.` or `-`. For example, `-keg.example.com`, `.keg.example.com`, `.namespace.svc.cluster.local`, and `.localhost` are all valid, while `keg.example.com` is not. type: string example: .example.com nullable: false pattern: '^[\.-]([a-z0-9]([a-z0-9-]*[a-z0-9])?\.)*([a-z0-9-]*[a-z0-9])$' advertised_port: description: | Virtual brokers are advertised to clients with this port instead of listen_port. Useful when proxy is behind loadbalancer listening on different port. type: integer maximum: 65535 minimum: 1 nullable: false broker_host_format: description: |- Configures DNS names assigned to brokers in virtual clusters. - `per_cluster_suffix` is the default and allocates one level in the hierarchy for virtual clusters: `broker-{node_id}.{virtual_cluster}.{sni_suffix}` - `shared_suffix` puts all brokers from every virtual clusters into the same level: `broker-{node_id}-{virtual_cluster}.{sni_suffix}`. This makes it easier to manage certificates for this listener. **Requires a minimum runtime version of `1.1`**. type: object properties: type: type: string default: per_cluster_suffix enum: - per_cluster_suffix - shared_suffix x-speakeasy-unknown-values: allow required: - type x-min-runtime-version: '1.1' x-speakeasy-param-computed: false additionalProperties: false required: - type EventGatewayEncryptPolicy: description: Encrypts Kafka records or keys using AES_256_GCM. Keys are therefore 256 bits long. type: object properties: type: description: The type name of the policy. type: string const: encrypt maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the policy. type: object $ref: '#/components/schemas/EventGatewayEncryptConfig' condition: description: A string containing the boolean expression that determines whether the policy is applied. type: string example: 'context.topic.name.endsWith("my_suffix") && record.headers["x-flag"] == "a-value"' default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.topic.name type: string description: The name of the topic. - name: record.headers type: object description: An associative array of header key value pairs. required: - type - config title: Encrypt EventGatewayEncryptConfig: description: The configuration of the encrypt policy. type: object properties: failure_mode: $ref: '#/components/schemas/EncryptionFailureMode' part_of_record: description: Describes the parts of a record to encrypt. type: array items: $ref: '#/components/schemas/EncryptionRecordPart' minItems: 1 encryption_key: $ref: '#/components/schemas/EncryptionKey' required: - failure_mode - part_of_record - encryption_key EventGatewayParsedRecordEncryptFieldsPolicy: description: |- Encrypts fields of parsed Kafka records using AES_256_GCM. Keys are therefore 256 bits long. Note this policy can only be used as a child of a `EventGatewayProduceSchemaValidationPolicy` policy. **Requires a minimum runtime version of `1.2`**. type: object properties: type: description: The type name of the policy. type: string const: encrypt_fields maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the policy. type: object $ref: '#/components/schemas/EventGatewayParsedRecordEncryptFieldsConfig' condition: description: | A string containing the boolean expression that determines whether the policy is applied. When the policy is applied as a child policy of schema_validation, the expression can also reference `record.value` fields. type: string example: record.value.content.foo.bar == "a-value" default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.topic.name type: string description: The name of the topic. - name: record.headers type: object description: An associative array of header key value pairs. - name: record.value.validated type: boolean description: Indicates whether the record value was successfully validated. - name: record.value.content type: object description: The content of the record value. - name: record.value.schema type: object x-min-runtime-version: '1.2' description: |- Registry-supplied schema metadata for the record value. Populated when the value was validated by a Confluent schema registry. Fields: `id` (uint), `version` (uint, when returned by the registry), `format` ("avro"|"json"), and either `avro.{name, namespace}` or `json.{title, id}`. Sub-fields are absent when not applicable; use `has()` to test presence. Registry `metadata` (tags and properties) is available from runtime 1.3 via `record.value.schema.metadata`. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false - name: record.value.schema.metadata type: object x-min-runtime-version: '1.3' description: |- Confluent schema-registry metadata for the record value. Present (as empty maps) whenever `record.value.schema` is present. Fields: * `properties` (`map` of `string` to `string`) - Confluent `metadata.properties`; empty map when the registry omits it. * `tags` (`map` of `string` to list of `string`) - keyed by tag, value is the list of Confluent schema paths (e.g. `io.confluent.field.<name>`) carrying that tag; empty map when the registry omits it. **Requires a minimum runtime version of `1.3`**. x-unstable: true x-internal: true x-speakeasy-param-computed: false - name: record.key.schema type: object x-min-runtime-version: '1.2' description: |- Same shape as `record.value.schema`, populated when the record key has schema_validation configured. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false - name: record.key.schema.metadata type: object x-min-runtime-version: '1.3' description: |- Same shape as `record.value.schema.metadata`, populated when the record key has schema_validation configured. **Requires a minimum runtime version of `1.3`**. x-unstable: true x-internal: true x-speakeasy-param-computed: false required: - type - config title: Encrypt Parsed Record x-min-runtime-version: '1.2' x-speakeasy-param-computed: false EventGatewayParsedRecordEncryptFieldsPolicyCreate: description: |- Encrypts fields of parsed Kafka records using AES_256_GCM. Keys are therefore 256 bits long. Note this policy can only be used as a child of a `EventGatewayProduceSchemaValidationPolicy` policy. **Requires a minimum runtime version of `1.2`**. type: object properties: type: description: The type name of the policy. type: string const: encrypt_fields maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the policy. type: object $ref: '#/components/schemas/EventGatewayParsedRecordEncryptFieldsConfig' condition: description: | A string containing the boolean expression that determines whether the policy is applied. When the policy is applied as a child policy of schema_validation, the expression can also reference `record.value` fields. type: string example: record.value.content.foo.bar == "a-value" default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.topic.name type: string description: The name of the topic. - name: record.headers type: object description: An associative array of header key value pairs. - name: record.value.validated type: boolean description: Indicates whether the record value was successfully validated. - name: record.value.content type: object description: The content of the record value. - name: record.value.schema type: object x-min-runtime-version: '1.2' description: |- Registry-supplied schema metadata for the record value. Populated when the value was validated by a Confluent schema registry. Fields: `id` (uint), `version` (uint, when returned by the registry), `format` ("avro"|"json"), and either `avro.{name, namespace}` or `json.{title, id}`. Sub-fields are absent when not applicable; use `has()` to test presence. Registry `metadata` (tags and properties) is available from runtime 1.3 via `record.value.schema.metadata`. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false - name: record.value.schema.metadata type: object x-min-runtime-version: '1.3' description: |- Confluent schema-registry metadata for the record value. Present (as empty maps) whenever `record.value.schema` is present. Fields: * `properties` (`map` of `string` to `string`) - Confluent `metadata.properties`; empty map when the registry omits it. * `tags` (`map` of `string` to list of `string`) - keyed by tag, value is the list of Confluent schema paths (e.g. `io.confluent.field.<name>`) carrying that tag; empty map when the registry omits it. **Requires a minimum runtime version of `1.3`**. x-unstable: true x-internal: true x-speakeasy-param-computed: false - name: record.key.schema type: object x-min-runtime-version: '1.2' description: |- Same shape as `record.value.schema`, populated when the record key has schema_validation configured. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false - name: record.key.schema.metadata type: object x-min-runtime-version: '1.3' description: |- Same shape as `record.value.schema.metadata`, populated when the record key has schema_validation configured. **Requires a minimum runtime version of `1.3`**. x-unstable: true x-internal: true x-speakeasy-param-computed: false parent_policy_id: description: The unique identifier of the parent schema validation policy. type: string format: uuid required: - type - config - parent_policy_id title: Encrypt Parsed Record Fields x-min-runtime-version: '1.2' x-speakeasy-param-computed: false EventGatewayParsedRecordEncryptFieldsConfig: description: The configuration of the encrypt parsed record policy. type: object properties: failure_mode: $ref: '#/components/schemas/ProduceFailureMode' encrypt_fields: description: Selects which fields to encrypt and with what keys. type: array items: $ref: '#/components/schemas/EventGatewayParsedRecordEncryptionSelector' maxItems: 256 minItems: 1 required: - failure_mode - encrypt_fields EventGatewayParsedRecordEncryptionSelector: description: Selects fields of a parsed record for encryption and defines what key to encrypt them with. type: object properties: encryption_key: $ref: '#/components/schemas/EncryptionKey' paths: $ref: '#/components/schemas/EventGatewayParsedRecordFieldPathsArray' required: - paths - encryption_key EventGatewayParsedRecordFieldPathsArray: type: array items: type: object required: - match properties: match: description: | A field selector. It can select nested fields and array entries. Currently supported are exact matches. type: string example: 'someObject.someArray[1].fieldName' maxItems: 50 minItems: 1 EventGatewayDecryptPolicy: description: Decrypts Kafka records or keys using AES_256_GCM. Keys are therefore 256 bits long. type: object properties: type: description: The type name of the policy. type: string const: decrypt maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the policy. type: object $ref: '#/components/schemas/EventGatewayDecryptPolicyConfig' condition: description: A string containing the boolean expression that determines whether the policy is applied. type: string example: 'context.topic.name.endsWith("my_suffix") && record.headers["x-flag"] == "a-value"' default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.topic.name type: string description: The name of the topic. - name: record.headers type: object description: An associative array of header key value pairs. required: - type - config title: Decrypt EventGatewayDecryptPolicyConfig: description: The configuration of the decrypt policy. type: object properties: failure_mode: $ref: '#/components/schemas/EncryptionFailureMode' key_sources: description: Describes how to find a symmetric key for decryption. type: array items: $ref: '#/components/schemas/EventGatewayKeySource' minItems: 1 part_of_record: description: Describes the parts of a record to decrypt. type: array items: $ref: '#/components/schemas/DecryptionRecordPart' minItems: 1 required: - failure_mode - key_sources - part_of_record EventGatewayParsedRecordDecryptFieldsPolicy: description: |- Decrypts fields of parsed Kafka records using AES_256_GCM. Keys are therefore 256 bits long. Note this policy can only be used as a child of a `EventGatewayConsumeSchemaValidationPolicy` policy. **Requires a minimum runtime version of `1.2`**. type: object properties: type: description: The type name of the policy. type: string const: decrypt_fields maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the policy. type: object $ref: '#/components/schemas/EventGatewayParsedRecordDecryptFieldsConfig' condition: description: | A string containing the boolean expression that determines whether the policy is applied. When the policy is applied as a child policy of schema_validation, the expression can also reference `record.value` fields. type: string example: record.value.content.foo.bar == "a-value" default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.topic.name type: string description: The name of the topic. - name: record.headers type: object description: An associative array of header key value pairs. - name: record.value.validated type: boolean description: Indicates whether the record value was successfully validated. - name: record.value.content type: object description: The content of the record value. - name: record.value.schema type: object x-min-runtime-version: '1.2' description: |- Registry-supplied schema metadata for the record value. Populated when the value was validated by a Confluent schema registry. Fields: `id` (uint), `version` (uint, when returned by the registry), `format` ("avro"|"json"), and either `avro.{name, namespace}` or `json.{title, id}`. Sub-fields are absent when not applicable; use `has()` to test presence. Registry `metadata` (tags and properties) is available from runtime 1.3 via `record.value.schema.metadata`. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false - name: record.value.schema.metadata type: object x-min-runtime-version: '1.3' description: |- Confluent schema-registry metadata for the record value. Present (as empty maps) whenever `record.value.schema` is present. Fields: * `properties` (`map` of `string` to `string`) - Confluent `metadata.properties`; empty map when the registry omits it. * `tags` (`map` of `string` to list of `string`) - keyed by tag, value is the list of Confluent schema paths (e.g. `io.confluent.field.<name>`) carrying that tag; empty map when the registry omits it. **Requires a minimum runtime version of `1.3`**. x-unstable: true x-internal: true x-speakeasy-param-computed: false - name: record.key.schema type: object x-min-runtime-version: '1.2' description: |- Same shape as `record.value.schema`, populated when the record key has schema_validation configured. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false - name: record.key.schema.metadata type: object x-min-runtime-version: '1.3' description: |- Same shape as `record.value.schema.metadata`, populated when the record key has schema_validation configured. **Requires a minimum runtime version of `1.3`**. x-unstable: true x-internal: true x-speakeasy-param-computed: false required: - type - config title: Decrypt Parsed Record Fields x-min-runtime-version: '1.2' x-speakeasy-param-computed: false EventGatewayParsedRecordDecryptFieldsPolicyCreate: description: |- Decrypts fields of parsed Kafka records using AES_256_GCM. Keys are therefore 256 bits long. Note this policy can only be used as a child of a `EventGatewayConsumeSchemaValidationPolicy` policy. **Requires a minimum runtime version of `1.2`**. type: object properties: type: description: The type name of the policy. type: string const: decrypt_fields maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the policy. type: object $ref: '#/components/schemas/EventGatewayParsedRecordDecryptFieldsConfig' condition: description: | A string containing the boolean expression that determines whether the policy is applied. When the policy is applied as a child policy of schema_validation, the expression can also reference `record.value` fields. type: string example: record.value.content.foo.bar == "a-value" default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.topic.name type: string description: The name of the topic. - name: record.headers type: object description: An associative array of header key value pairs. - name: record.value.validated type: boolean description: Indicates whether the record value was successfully validated. - name: record.value.content type: object description: The content of the record value. - name: record.value.schema type: object x-min-runtime-version: '1.2' description: |- Registry-supplied schema metadata for the record value. Populated when the value was validated by a Confluent schema registry. Fields: `id` (uint), `version` (uint, when returned by the registry), `format` ("avro"|"json"), and either `avro.{name, namespace}` or `json.{title, id}`. Sub-fields are absent when not applicable; use `has()` to test presence. Registry `metadata` (tags and properties) is available from runtime 1.3 via `record.value.schema.metadata`. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false - name: record.value.schema.metadata type: object x-min-runtime-version: '1.3' description: |- Confluent schema-registry metadata for the record value. Present (as empty maps) whenever `record.value.schema` is present. Fields: * `properties` (`map` of `string` to `string`) - Confluent `metadata.properties`; empty map when the registry omits it. * `tags` (`map` of `string` to list of `string`) - keyed by tag, value is the list of Confluent schema paths (e.g. `io.confluent.field.<name>`) carrying that tag; empty map when the registry omits it. **Requires a minimum runtime version of `1.3`**. x-unstable: true x-internal: true x-speakeasy-param-computed: false - name: record.key.schema type: object x-min-runtime-version: '1.2' description: |- Same shape as `record.value.schema`, populated when the record key has schema_validation configured. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false - name: record.key.schema.metadata type: object x-min-runtime-version: '1.3' description: |- Same shape as `record.value.schema.metadata`, populated when the record key has schema_validation configured. **Requires a minimum runtime version of `1.3`**. x-unstable: true x-internal: true x-speakeasy-param-computed: false parent_policy_id: description: The unique identifier of the parent schema validation policy. type: string format: uuid required: - type - config - parent_policy_id title: Decrypt Parsed Record Fields x-min-runtime-version: '1.2' x-speakeasy-param-computed: false EventGatewayParsedRecordDecryptFieldsConfig: description: The configuration of the decrypt parsed record fields policy. type: object properties: failure_mode: $ref: '#/components/schemas/ConsumeFailureMode' key_sources: description: Describes how to find a symmetric key for decryption. type: array items: $ref: '#/components/schemas/EventGatewayKeySource' minItems: 1 decrypt_fields: $ref: '#/components/schemas/EventGatewayParsedRecordDecryptionSelector' required: - failure_mode - key_sources - decrypt_fields EventGatewayParsedRecordDecryptionSelector: description: Selects fields of a parsed record for decryption. type: object properties: paths: $ref: '#/components/schemas/EventGatewayParsedRecordFieldPathsArray' required: - paths EventGatewayModifyHeadersPolicy: description: A policy that modifies headers for requests. type: object properties: type: description: The type name of the policy. type: string const: modify_headers maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the modify headers policy. type: object properties: actions: description: Actions are run in sequential order and act on individual headers. type: array items: $ref: '#/components/schemas/EventGatewayModifyHeaderAction' default: null minItems: 1 nullable: true x-speakeasy-param-computed: false condition: description: | A string containing the boolean expression that determines whether the policy is applied. When the policy is applied as a child policy of schema_validation, the expression can also reference `record.value` fields. type: string example: record.value.content.foo.bar == "a-value" default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.topic.name type: string description: The name of the topic. - name: record.headers type: object description: An associative array of header key value pairs. - name: record.value.validated type: boolean description: Indicates whether the record value was successfully validated. - name: record.value.content type: object description: The content of the record value. - name: record.value.schema type: object x-min-runtime-version: '1.2' description: |- Registry-supplied schema metadata for the record value. Populated when the value was validated by a Confluent schema registry. Fields: `id` (uint), `version` (uint, when returned by the registry), `format` ("avro"|"json"), and either `avro.{name, namespace}` or `json.{title, id}`. Sub-fields are absent when not applicable; use `has()` to test presence. Registry `metadata` (tags and properties) is available from runtime 1.3 via `record.value.schema.metadata`. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false - name: record.value.schema.metadata type: object x-min-runtime-version: '1.3' description: |- Confluent schema-registry metadata for the record value. Present (as empty maps) whenever `record.value.schema` is present. Fields: * `properties` (`map` of `string` to `string`) - Confluent `metadata.properties`; empty map when the registry omits it. * `tags` (`map` of `string` to list of `string`) - keyed by tag, value is the list of Confluent schema paths (e.g. `io.confluent.field.<name>`) carrying that tag; empty map when the registry omits it. **Requires a minimum runtime version of `1.3`**. x-unstable: true x-internal: true x-speakeasy-param-computed: false - name: record.key.schema type: object x-min-runtime-version: '1.2' description: |- Same shape as `record.value.schema`, populated when the record key has schema_validation configured. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false - name: record.key.schema.metadata type: object x-min-runtime-version: '1.3' description: |- Same shape as `record.value.schema.metadata`, populated when the record key has schema_validation configured. **Requires a minimum runtime version of `1.3`**. x-unstable: true x-internal: true x-speakeasy-param-computed: false required: - type - config title: Modify Headers EventGatewayModifyHeadersPolicyCreate: description: A policy that modifies headers for requests. type: object properties: type: description: The type name of the policy. type: string const: modify_headers maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the modify headers policy. type: object properties: actions: description: Actions are run in sequential order and act on individual headers. type: array items: $ref: '#/components/schemas/EventGatewayModifyHeaderAction' default: null minItems: 1 nullable: true x-speakeasy-param-computed: false condition: description: | A string containing the boolean expression that determines whether the policy is applied. When the policy is applied as a child policy of schema_validation, the expression can also reference `record.value` fields. type: string example: record.value.content.foo.bar == "a-value" default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.topic.name type: string description: The name of the topic. - name: record.headers type: object description: An associative array of header key value pairs. - name: record.value.validated type: boolean description: Indicates whether the record value was successfully validated. - name: record.value.content type: object description: The content of the record value. - name: record.value.schema type: object x-min-runtime-version: '1.2' description: |- Registry-supplied schema metadata for the record value. Populated when the value was validated by a Confluent schema registry. Fields: `id` (uint), `version` (uint, when returned by the registry), `format` ("avro"|"json"), and either `avro.{name, namespace}` or `json.{title, id}`. Sub-fields are absent when not applicable; use `has()` to test presence. Registry `metadata` (tags and properties) is available from runtime 1.3 via `record.value.schema.metadata`. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false - name: record.value.schema.metadata type: object x-min-runtime-version: '1.3' description: |- Confluent schema-registry metadata for the record value. Present (as empty maps) whenever `record.value.schema` is present. Fields: * `properties` (`map` of `string` to `string`) - Confluent `metadata.properties`; empty map when the registry omits it. * `tags` (`map` of `string` to list of `string`) - keyed by tag, value is the list of Confluent schema paths (e.g. `io.confluent.field.<name>`) carrying that tag; empty map when the registry omits it. **Requires a minimum runtime version of `1.3`**. x-unstable: true x-internal: true x-speakeasy-param-computed: false - name: record.key.schema type: object x-min-runtime-version: '1.2' description: |- Same shape as `record.value.schema`, populated when the record key has schema_validation configured. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false - name: record.key.schema.metadata type: object x-min-runtime-version: '1.3' description: |- Same shape as `record.value.schema.metadata`, populated when the record key has schema_validation configured. **Requires a minimum runtime version of `1.3`**. x-unstable: true x-internal: true x-speakeasy-param-computed: false parent_policy_id: description: 'The unique identifier of the parent schema validation policy, if any.' type: string format: uuid nullable: false required: - type - config title: Modify headers EventGatewaySkipRecordPolicy: description: A policy that skips processing of a record. type: object properties: type: description: The type name of the policy. type: string const: skip_record maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' condition: description: | A string containing the boolean expression that determines whether the policy is applied. When the policy is applied as a child policy of schema_validation, the expression can also reference `record.value` fields. type: string example: record.value.content.foo.bar == "a-value" default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.topic.name type: string description: The name of the topic. - name: record.headers type: object description: An associative array of header key value pairs. - name: record.value.validated type: boolean description: Indicates whether the record value was successfully validated. - name: record.value.content type: object description: The content of the record value. - name: record.value.schema type: object x-min-runtime-version: '1.2' description: |- Registry-supplied schema metadata for the record value. Populated when the value was validated by a Confluent schema registry. Fields: `id` (uint), `version` (uint, when returned by the registry), `format` ("avro"|"json"), and either `avro.{name, namespace}` or `json.{title, id}`. Sub-fields are absent when not applicable; use `has()` to test presence. Registry `metadata` (tags and properties) is available from runtime 1.3 via `record.value.schema.metadata`. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false - name: record.value.schema.metadata type: object x-min-runtime-version: '1.3' description: |- Confluent schema-registry metadata for the record value. Present (as empty maps) whenever `record.value.schema` is present. Fields: * `properties` (`map` of `string` to `string`) - Confluent `metadata.properties`; empty map when the registry omits it. * `tags` (`map` of `string` to list of `string`) - keyed by tag, value is the list of Confluent schema paths (e.g. `io.confluent.field.<name>`) carrying that tag; empty map when the registry omits it. **Requires a minimum runtime version of `1.3`**. x-unstable: true x-internal: true x-speakeasy-param-computed: false - name: record.key.schema type: object x-min-runtime-version: '1.2' description: |- Same shape as `record.value.schema`, populated when the record key has schema_validation configured. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false - name: record.key.schema.metadata type: object x-min-runtime-version: '1.3' description: |- Same shape as `record.value.schema.metadata`, populated when the record key has schema_validation configured. **Requires a minimum runtime version of `1.3`**. x-unstable: true x-internal: true x-speakeasy-param-computed: false required: - type EventGatewaySkipRecordPolicyCreate: description: A policy that skips processing of a record. type: object properties: type: description: The type name of the policy. type: string const: skip_record maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' condition: description: | A string containing the boolean expression that determines whether the policy is applied. When the policy is applied as a child policy of schema_validation, the expression can also reference `record.value` fields. type: string example: record.value.content.foo.bar == "a-value" default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.topic.name type: string description: The name of the topic. - name: record.headers type: object description: An associative array of header key value pairs. - name: record.value.validated type: boolean description: Indicates whether the record value was successfully validated. - name: record.value.content type: object description: The content of the record value. - name: record.value.schema type: object x-min-runtime-version: '1.2' description: |- Registry-supplied schema metadata for the record value. Populated when the value was validated by a Confluent schema registry. Fields: `id` (uint), `version` (uint, when returned by the registry), `format` ("avro"|"json"), and either `avro.{name, namespace}` or `json.{title, id}`. Sub-fields are absent when not applicable; use `has()` to test presence. Registry `metadata` (tags and properties) is available from runtime 1.3 via `record.value.schema.metadata`. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false - name: record.value.schema.metadata type: object x-min-runtime-version: '1.3' description: |- Confluent schema-registry metadata for the record value. Present (as empty maps) whenever `record.value.schema` is present. Fields: * `properties` (`map` of `string` to `string`) - Confluent `metadata.properties`; empty map when the registry omits it. * `tags` (`map` of `string` to list of `string`) - keyed by tag, value is the list of Confluent schema paths (e.g. `io.confluent.field.<name>`) carrying that tag; empty map when the registry omits it. **Requires a minimum runtime version of `1.3`**. x-unstable: true x-internal: true x-speakeasy-param-computed: false - name: record.key.schema type: object x-min-runtime-version: '1.2' description: |- Same shape as `record.value.schema`, populated when the record key has schema_validation configured. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false - name: record.key.schema.metadata type: object x-min-runtime-version: '1.3' description: |- Same shape as `record.value.schema.metadata`, populated when the record key has schema_validation configured. **Requires a minimum runtime version of `1.3`**. x-unstable: true x-internal: true x-speakeasy-param-computed: false parent_policy_id: description: 'The unique identifier of the parent schema validation policy, if any.' type: string format: uuid nullable: false required: - type title: Skip Record EventGatewayModifyHeaderAction: description: An action that modifies a header. discriminator: propertyName: op mapping: remove: '#/components/schemas/EventGatewayModifyHeaderRemoveAction' set: '#/components/schemas/EventGatewayModifyHeaderSetAction' oneOf: - $ref: '#/components/schemas/EventGatewayModifyHeaderRemoveAction' - $ref: '#/components/schemas/EventGatewayModifyHeaderSetAction' EventGatewayModifyHeaderRemoveAction: description: An action that removes a header by key. type: object properties: op: type: string const: remove key: description: The key of the header to remove. type: string required: - op - key EventGatewayModifyHeaderSetAction: description: An action that sets a header key and value. type: object properties: op: type: string const: set key: description: The key of the header to set. type: string value: description: The value of the header to set. type: string required: - op - key - value EventGatewayConsumeSchemaValidationPolicy: description: A policy that validates consume messages against a schema registry. type: object properties: type: description: The type name of the policy. type: string const: schema_validation maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the policy. type: object $ref: '#/components/schemas/EventGatewayConsumeSchemaValidationPolicyConfig' condition: description: A string containing the boolean expression that determines whether the policy is applied. type: string example: 'context.topic.name.endsWith("my_suffix") && record.headers["x-flag"] == "a-value"' default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.topic.name type: string description: The name of the topic. - name: record.headers type: object description: An associative array of header key value pairs. required: - type - config title: Schema Validation EventGatewayConsumeSchemaValidationPolicyConfig: description: The configuration of the consume schema validation policy. discriminator: propertyName: type mapping: confluent_schema_registry: '#/components/schemas/EventGatewayConsumeSchemaValidationPolicySchemaRegistryConfig' json: '#/components/schemas/EventGatewayConsumeSchemaValidationPolicyJsonConfig' oneOf: - $ref: '#/components/schemas/EventGatewayConsumeSchemaValidationPolicySchemaRegistryConfig' - $ref: '#/components/schemas/EventGatewayConsumeSchemaValidationPolicyJsonConfig' EventGatewayConsumeSchemaValidationPolicyJsonConfig: description: The configuration of the consume schema validation policy when using JSON parsing without schema. type: object properties: schema_registry: $ref: '#/components/schemas/SchemaRegistryReference' failure_mode: $ref: '#/components/schemas/ConsumeFailureMode' validate_key: description: |- If true, validate the record key. **Requires a minimum runtime version of `1.2`**. type: boolean x-min-runtime-version: '1.2' x-speakeasy-param-computed: false validate_value: description: |- If true, validate the record value. **Requires a minimum runtime version of `1.2`**. type: boolean x-min-runtime-version: '1.2' x-speakeasy-param-computed: false key_validation_action: $ref: '#/components/schemas/ConsumeKeyValidationAction' value_validation_action: $ref: '#/components/schemas/ConsumeValueValidationAction' type: type: string const: json required: - type EventGatewayConsumeSchemaValidationPolicySchemaRegistryConfig: description: The configuration of the consume schema validation policy when using a schema registry. type: object properties: schema_registry: $ref: '#/components/schemas/SchemaRegistryReference' failure_mode: $ref: '#/components/schemas/ConsumeFailureMode' validate_key: description: |- If true, validate the record key. **Requires a minimum runtime version of `1.2`**. type: boolean x-min-runtime-version: '1.2' x-speakeasy-param-computed: false validate_value: description: |- If true, validate the record value. **Requires a minimum runtime version of `1.2`**. type: boolean x-min-runtime-version: '1.2' x-speakeasy-param-computed: false key_validation_action: $ref: '#/components/schemas/ConsumeKeyValidationAction' value_validation_action: $ref: '#/components/schemas/ConsumeValueValidationAction' type: type: string const: confluent_schema_registry required: - type EventGatewayProduceSchemaValidationPolicy: description: A policy that validates produce messages against a schema registry. type: object properties: type: description: The type name of the policy. type: string const: schema_validation maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the policy. type: object $ref: '#/components/schemas/EventGatewayProduceSchemaValidationPolicyConfig' condition: description: A string containing the boolean expression that determines whether the policy is applied. type: string example: 'context.topic.name.endsWith("my_suffix") && record.headers["x-flag"] == "a-value"' default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.topic.name type: string description: The name of the topic. - name: record.headers type: object description: An associative array of header key value pairs. required: - type - config title: Schema Validation EventGatewayProduceSchemaValidationPolicyConfig: description: The configuration of the produce schema validation policy. discriminator: propertyName: type mapping: confluent_schema_registry: '#/components/schemas/EventGatewayProduceSchemaValidationPolicySchemaRegistryConfig' json: '#/components/schemas/EventGatewayProduceSchemaValidationPolicyJsonConfig' oneOf: - $ref: '#/components/schemas/EventGatewayProduceSchemaValidationPolicySchemaRegistryConfig' - $ref: '#/components/schemas/EventGatewayProduceSchemaValidationPolicyJsonConfig' EventGatewayProduceSchemaValidationPolicyJsonConfig: description: The configuration of the produce schema validation policy when using JSON parsing without schema. type: object properties: schema_registry: $ref: '#/components/schemas/SchemaRegistryReference' failure_mode: $ref: '#/components/schemas/ProduceFailureMode' validate_key: description: |- If true, validate the record key. **Requires a minimum runtime version of `1.2`**. type: boolean x-min-runtime-version: '1.2' x-speakeasy-param-computed: false validate_value: description: |- If true, validate the record value. **Requires a minimum runtime version of `1.2`**. type: boolean x-min-runtime-version: '1.2' x-speakeasy-param-computed: false key_validation_action: $ref: '#/components/schemas/ProduceKeyValidationAction' value_validation_action: $ref: '#/components/schemas/ProduceValueValidationAction' type: type: string const: json required: - type EventGatewayProduceSchemaValidationPolicySchemaRegistryConfig: description: The configuration of the produce schema validation policy when using a schema registry. type: object properties: schema_registry: $ref: '#/components/schemas/SchemaRegistryReference' failure_mode: $ref: '#/components/schemas/ProduceFailureMode' validate_key: description: |- If true, validate the record key. **Requires a minimum runtime version of `1.2`**. type: boolean x-min-runtime-version: '1.2' x-speakeasy-param-computed: false validate_value: description: |- If true, validate the record value. **Requires a minimum runtime version of `1.2`**. type: boolean x-min-runtime-version: '1.2' x-speakeasy-param-computed: false key_validation_action: $ref: '#/components/schemas/ProduceKeyValidationAction' value_validation_action: $ref: '#/components/schemas/ProduceValueValidationAction' type: type: string const: confluent_schema_registry required: - type EventGatewayACLsPolicy: description: Apply Kafka ACLs to virtual cluster traffic. type: object properties: type: description: The type name of the policy. type: string const: acls maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the policy. type: object $ref: '#/components/schemas/EventGatewayACLPolicyConfig' condition: description: A string containing the boolean expression that determines whether the policy is applied. type: string example: context.auth.principal.name == "this-user" default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. required: - type - config title: ACL EventGatewayACLPolicyConfig: description: Apply ACLs to virtual cluster traffic. type: object properties: rules: description: Every ACL rule in this list applies independently. type: array items: $ref: '#/components/schemas/EventGatewayACLRule' minItems: 1 required: - rules EventGatewayACLRule: description: A Kafka ACL rule to apply to virtual cluster traffic type: object properties: resource_type: description: This rule applies to access only for type of resource type: string enum: - topic - group - transactional_id - cluster x-speakeasy-unknown-values: allow action: description: How to handle the request if the rule matches type: string enum: - allow - deny x-speakeasy-unknown-values: allow operations: description: Types of Kafka operations to match against. Note that not every operation can apply to every resource type. type: array items: $ref: '#/components/schemas/EventGatewayACLOperation' resource_names: description: 'If any of these entries match, the resource name matches for this rule. A maximum of 50 entries are allowed.' type: array items: $ref: '#/components/schemas/EventGatewayACLResourceName' required: - resource_type - action - operations - resource_names EventGatewayACLOperation: description: An Event Gateway operation to match against in an ACL rule. type: object properties: name: type: string enum: - all - alter - alter_configs - create - delete - describe - describe_configs - idempotent_write - read - write x-speakeasy-unknown-values: allow required: - name EventGatewayACLResourceName: description: An Event Gateway resource name to match against in an ACL rule. type: object properties: match: description: | Currently supported are exact matches and globs. All `*` characters are interpreted as globs, i.e. they match zero or more of any character. type: string format: glob required: - match EventGatewayKeySource: description: | A key source that describes how to find a symmetric key for encryption or decryption. It can be an AWS KMS key source that uses a KMS to find a symmetric key, or a static key source that uses a static symmetric key provided as secrets. discriminator: propertyName: type mapping: aws: '#/components/schemas/EventGatewayAWSKeySource' static: '#/components/schemas/EventGatewayStaticKeySource' oneOf: - $ref: '#/components/schemas/EventGatewayAWSKeySource' - $ref: '#/components/schemas/EventGatewayStaticKeySource' EventGatewayAWSKeySource: description: | A key source that uses an AWS KMS to find a symmetric key. Load KMS credentials from the environment. See [aws docs](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/credproviders.html#credproviders-default-credentials-provider-chain) for more information about how credential retrieval. type: object properties: type: type: string const: aws additionalProperties: false required: - type EventGatewayStaticKeySource: description: | A key source that uses static symmetric keys. type: object properties: type: type: string const: static additionalProperties: false required: - type EncryptionFailureMode: description: | Describes how to handle failing encryption or decryption. Use `error` if the record should be rejected if encryption or decryption fails. Use `passthrough` to ignore encryption or decryption failure and continue proxying the record. type: string enum: - error - passthrough x-speakeasy-unknown-values: allow ProduceFailureMode: description: |- Describes how to handle a failure in a policy applied to produced records. * `reject` - rejects the record batch. * `passthrough` - passes the record silently to the backend cluster even though policy execution failed. * `mark` - passes the record to the backend cluster but marks it with a `kong/policy-failure-<id>` header whose value is the reason for the policy failure (truncated to 512 characters). **Requires a minimum runtime version of `1.2`**. type: string enum: - reject - passthrough - mark x-min-runtime-version: '1.2' x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow ConsumeFailureMode: description: |- Describes how to handle a failure in a policy applied to consumed records. * `error` - the batch is not delivered to the client. Use sparingly: erroring on a batch causes clients to get stuck on the problematic offset and requires manual intervention to skip it. * `skip` - the record is not delivered to the client. * `passthrough` - passes the record to the client even though policy execution failed. * `mark` - passes the record to the client but marks it with a `kong/policy-failure-<id>` header whose value is the reason for the policy failure (truncated to 512 characters). **Requires a minimum runtime version of `1.2`**. type: string enum: - error - skip - passthrough - mark x-min-runtime-version: '1.2' x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow EncryptionRecordPart: description: | * key - encrypt the record key * value - encrypt the record value type: string enum: - key - value x-speakeasy-unknown-values: allow DecryptionRecordPart: description: | * key - decrypt the record key * value - decrypt the record value type: string enum: - key - value x-speakeasy-unknown-values: allow EncryptionKey: description: | The key to use for encryption. discriminator: propertyName: type mapping: aws: '#/components/schemas/EncryptionKeyAWS' static: '#/components/schemas/EncryptionKeyStatic' oneOf: - $ref: '#/components/schemas/EncryptionKeyAWS' - $ref: '#/components/schemas/EncryptionKeyStatic' EncryptionKeyAWS: description: | The AWS KMS key to use for encryption. type: object properties: type: type: string const: aws arn: description: The AWS KMS key ARN. type: string maxLength: 2048 minLength: 10 pattern: '^arn:aws:kms:.+' example: type: aws arn: 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' required: - type - arn EncryptionKeyStatic: description: | A static encryption key. type: object properties: type: type: string const: static key: $ref: '#/components/schemas/EncryptionKeyStaticReference' required: - type - key EncryptionKeyStaticReference: description: | A static encryption key reference, either by ID or by value. $ref: '#/components/schemas/EncryptionKeyStaticReferenceById' EncryptionKeyStaticReferenceById: description: A static encryption key reference by ID. type: object properties: id: description: The ID of the static key defined in the key source. type: string format: uuid minLength: 1 required: - id ConsumeKeyValidationAction: description: | Deprecated. Use `failure_mode`. Defines a behavior when record key is not valid. * mark - marks a record with kong/server header and client ID value to help to identify the clients violating schema. * skip - skips delivering a record. type: string deprecated: true enum: - mark - skip x-speakeasy-unknown-values: allow ConsumeValueValidationAction: description: | Deprecated. Use `failure_mode`. Defines a behavior when record value is not valid. * mark - marks a record with kong/server header and client ID value to help to identify the clients violating schema. * skip - skips delivering a record. type: string deprecated: true enum: - mark - skip x-speakeasy-unknown-values: allow ProduceKeyValidationAction: description: | Defines a behavior when record key is not valid. * reject - rejects a batch for topic partition. Only available for produce. * mark - marks a record with kong/server header and client ID value to help to identify the clients violating schema. type: string enum: - reject - mark x-speakeasy-unknown-values: allow ProduceValueValidationAction: description: | Defines a behavior when record value is not valid. * reject - rejects a batch for topic partition. Only available for produce. * mark - marks a record with kong/server header and client ID value to help to identify the clients violating schema. type: string enum: - reject - mark x-speakeasy-unknown-values: allow EventGatewayDataPlaneCertificate: description: A dataplane certificate. type: object properties: id: description: The unique identifier of the certificate. type: string format: uuid certificate: description: JSON escaped string of the certificate. type: string name: description: The name to identify of the certificate. type: string default: null maxLength: 255 minLength: 1 nullable: true x-speakeasy-param-computed: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A description of the certificate. type: string default: null nullable: true x-speakeasy-param-computed: false created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' metadata: $ref: '#/components/schemas/CertificateMetadata' required: - id - certificate - created_at - updated_at CertificateMetadata: description: Metadata extracted from a certificate. type: object properties: issuer: description: The issuer of the certificate. type: string default: null nullable: true x-speakeasy-param-computed: false subject: description: The subject of the certificate. type: string default: null nullable: true x-speakeasy-param-computed: false key_usages: description: The key usages of the certificate. type: array items: type: string default: null nullable: true x-speakeasy-param-computed: false expiry: description: The expiry date of the certificate as a unix timestamp. type: integer format: int64 default: null nullable: true x-speakeasy-param-computed: false san_names: description: The Subject Alternative Names (SAN) of the certificate. type: array items: type: string default: null nullable: true x-speakeasy-param-computed: false dns_names: description: The DNS names in the certificate SAN. type: array items: type: string default: null nullable: true x-speakeasy-param-computed: false email_addresses: description: The email addresses in the certificate SAN. type: array items: type: string default: null nullable: true x-speakeasy-param-computed: false ip_addresses: description: The IP addresses in the certificate SAN. type: array items: type: string default: null nullable: true x-speakeasy-param-computed: false uris: description: The URIs in the certificate SAN. type: array items: type: string format: uri default: null nullable: true x-speakeasy-param-computed: false sha256_fingerprint: description: The SHA-256 fingerprint of the certificate. type: string default: null nullable: true x-speakeasy-param-computed: false VirtualClusterNamespace: description: | Namespace allows to implement multitenancy using a single backend cluster. It allows to either hide or enforce a static prefix on resources (topics, consumer group IDs, transaction IDs). type: object properties: mode: description: | * hide_prefix - the configured prefix is hidden from clients for topics and IDs when reading. Created resources are written with the prefix on the backend cluster. * enforce_prefix - the configured prefix remains visible to clients. Created resources must include the prefix or the request will fail. type: string enum: - hide_prefix - enforce_prefix x-speakeasy-unknown-values: allow prefix: description: | The namespace is differentiated by this chosen prefix. For example, if the prefix is set to "analytics_" the topic named "analytics_user_clicks" is available to the clients of the virtual cluster. Topics without the prefix will be ignored unless added via `additional.topics`. type: string minLength: 1 additional: $ref: '#/components/schemas/VirtualClusterNamespaceAdditionalProperties' required: - mode - prefix x-speakeasy-param-computed: false VirtualClusterNamespaceAdditionalProperties: type: object properties: topics: description: | Additional backend topics to expose even if they don't match the namespace prefix. The topics are not affected by the hide/enforce prefix mode. If the client tries to create a topic that matches this list, the request is rejected. type: array items: $ref: '#/components/schemas/VirtualClusterNamespaceTopicSelector' nullable: false consumer_groups: description: | Consumer group IDs to expose even if they don't start with the namespace prefix. type: array items: $ref: '#/components/schemas/VirtualClusterNamespaceIdSelector' nullable: false x-speakeasy-param-computed: false VirtualClusterTopicAlias: description: |- A topic alias maps an alias name to a namespace-visible topic name. Clients can produce to, consume from, and discover the topic under the alias name. The original topic name remains accessible. **Requires a minimum runtime version of `1.2`**. type: object properties: alias: description: The client-visible topic name. type: string minLength: 1 topic: description: The namespace-visible topic name this alias resolves to. type: string minLength: 1 condition: description: | CEL expression evaluated against the connection's auth context. If omitted or empty, the alias is active for all connections. type: string default: '' x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.auth.token.claims type: object description: 'All claims from the JWT token. Only populated for sasl_oauth_bearer authentication. Claims can be strings, numbers, booleans, arrays or nested JSON objects.' conflict: $ref: '#/components/schemas/VirtualClusterTopicAliasConflict' required: - alias - topic x-min-runtime-version: '1.2' x-speakeasy-param-computed: false VirtualClusterTopicAliasConflict: description: | How to handle conflicts where an alias shadows a physical topic. * warn - activate the alias but log a warning and set the conflict metric to 1. * ignore - activate the alias silently. type: string default: warn enum: - warn - ignore x-enum-varnames: - VirtualClusterTopicAliasConflictWarn - VirtualClusterTopicAliasConflictIgnore x-speakeasy-unknown-values: allow VirtualClusterNamespaceTopicSelector: type: object discriminator: propertyName: type mapping: glob: '#/components/schemas/VirtualClusterNamespaceTopicSelectorGlob' exact_list: '#/components/schemas/VirtualClusterNamespaceTopicSelectorExactList' oneOf: - $ref: '#/components/schemas/VirtualClusterNamespaceTopicSelectorGlob' - $ref: '#/components/schemas/VirtualClusterNamespaceTopicSelectorExactList' required: - type VirtualClusterNamespaceTopicSelectorGlob: type: object properties: type: type: string const: glob glob: description: 'Expose any backend topic that matches this glob pattern (e.g., `operations_data_*`).' type: string format: glob minLength: 1 pattern: '^[A-Za-z0-9._?*-]+$' conflict: description: | How to inform the user about conflicts where multiple backend topics would map to the same virtual topic name. * warn - log in the Event Gateway logs. Additionally, it sets knep_namespace_topic_conflict to 1. * ignore - do not do anything. It does not cause knep_namespace_topic_conflict metric to be set to 1. type: string default: warn enum: - warn - ignore x-speakeasy-unknown-values: allow required: - type - glob VirtualClusterNamespaceTopicSelectorExactList: type: object properties: type: type: string const: exact_list exact_list: description: Explicit allow-list of backend topic names. type: array items: $ref: '#/components/schemas/NamespaceExactAllowListItem' default: null minItems: 1 nullable: true x-speakeasy-param-computed: false conflict: description: | How to inform the user about conflicts where multiple backend topics would map to the same virtual topic name. * warn - log in the Event Gateway logs. Additionally, it sets knep_namespace_topic_conflict to 1. * ignore - do not do anything. It does not cause knep_namespace_topic_conflict metric to be set to 1. type: string default: warn enum: - warn - ignore x-speakeasy-unknown-values: allow required: - type NamespaceExactAllowListItem: type: object properties: backend: type: string minLength: 1 required: - backend VirtualClusterNamespaceIdSelector: type: object discriminator: propertyName: type mapping: glob: '#/components/schemas/VirtualClusterNamespaceIdSelectorGlob' exact_list: '#/components/schemas/VirtualClusterNamespaceIdSelectorExactList' oneOf: - $ref: '#/components/schemas/VirtualClusterNamespaceIdSelectorGlob' - $ref: '#/components/schemas/VirtualClusterNamespaceIdSelectorExactList' required: - type VirtualClusterNamespaceIdSelectorGlob: type: object properties: type: type: string const: glob glob: description: 'Expose any id that matches this glob pattern (e.g., `my_id_*`).' type: string format: glob minLength: 1 pattern: '^[A-Za-z0-9._?*-]+$' required: - type - glob VirtualClusterNamespaceIdSelectorExactList: type: object properties: type: type: string const: exact_list exact_list: type: array items: type: object required: - value properties: value: type: string minLength: 1 default: null minItems: 1 nullable: true x-speakeasy-param-computed: false required: - type EventGatewayStaticKey: description: | A symmetric key with its secret value. type: object properties: name: description: The unique name of the static key. type: string maxLength: 255 minLength: 1 x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the static key. type: string default: '' maxLength: 512 labels: $ref: '#/components/schemas/Labels' id: description: The unique identifier of the static key. type: string format: uuid value: $ref: '#/components/schemas/GatewaySecret' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - name - id - created_at - updated_at EventGatewayStaticKeyCreate: description: | A symmetric key with its secret value for creation. type: object properties: name: description: The unique name of the static key. type: string maxLength: 255 minLength: 1 x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the static key. type: string default: '' maxLength: 512 labels: $ref: '#/components/schemas/Labels' value: $ref: '#/components/schemas/GatewaySecret' required: - name - value GatewayName: description: The name of the Gateway. type: string maxLength: 255 minLength: 1 x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' GatewayDescription: description: A human-readable description of the Gateway. type: string maxLength: 512 MinRuntimeVersion: description: | The minimum runtime version supported by the API. This is the lowest version of the data plane release that can be used with the entity model. When not specified, the minimum runtime version will be pinned to the latest available release. type: string example: '1.1' pattern: ^\d+\.\d+$ CreateGatewayRequest: description: The request schema for the create gateway request. type: object properties: name: $ref: '#/components/schemas/GatewayName' description: $ref: '#/components/schemas/GatewayDescription' min_runtime_version: $ref: '#/components/schemas/MinRuntimeVersion' labels: $ref: '#/components/schemas/Labels' additionalProperties: false required: - name title: CreateGatewayRequest MinRuntimeVersionUpdate: description: | The minimum runtime version supported by the API. This is the lowest version of the data plane release that can be used with the entity model. When not specified, the minimum runtime version will not be updated. type: string example: '1.1' pattern: ^\d+\.\d+$ UpdateGatewayRequest: description: The request schema for the update gateway request. type: object properties: name: $ref: '#/components/schemas/GatewayName' description: $ref: '#/components/schemas/GatewayDescription' min_runtime_version: $ref: '#/components/schemas/MinRuntimeVersionUpdate' labels: $ref: '#/components/schemas/Labels' additionalProperties: false title: UpdateGatewayRequest GatewaySecretReferenceOrLiteral: description: | A literal value or a reference to an existing secret as a template string expression. The value is stored and returned by the API as-is, not treated as sensitive information. type: string minLength: 1 x-expression: type: string fields: - vault GatewaySecret: description: | A sensitive value containing the secret or a reference to a secret as a template string expression. If the value is provided as plain text, it is encrypted at rest and omitted from API responses. If provided as an expression, the expression itself is stored and returned by the API. type: string example: '${vault.env[''MY_ENV_VAR'']}' minLength: 1 x-expression: type: string fields: - vault x-sensitive: true ControlPlaneGeo: description: | Geographic region of the control plane. Supported values: - `us` — United States - `eu` — Europe - `au` — Australia - `me` — Middle East - `in` — India - `sg` — Singapore type: string enum: - us - eu - au - me - in - sg title: Control-Plane Geo x-speakeasy-unknown-values: allow ProviderName: description: Name of cloud provider. type: string example: aws enum: - aws - azure - gcp title: Provider Name x-enum-internal: [] x-speakeasy-unknown-values: allow AddOnId: type: string format: uuid example: 550e8400-e29b-41d4-a716-446655440000 readOnly: true x-speakeasy-param-suppress-computed-diff: true AddOnConfigResponse: description: Configuration object for different types of add-ons. type: object oneOf: - $ref: '#/components/schemas/ManagedCacheAddOnConfigResponse' title: AddOnConfigResponse ManagedCacheAddOnConfigResponse: description: Configuration for managed cache add-on. type: object properties: kind: description: Type of add-on configuration. type: string const: managed-cache.v0 capacity_config: $ref: '#/components/schemas/ManagedCacheCapacityConfig' data_plane_groups: description: List of data-plane groups where the managed cache is deployed. type: array items: $ref: '#/components/schemas/ManagedCacheAddOnDataPlaneGroup' readOnly: true x-speakeasy-param-suppress-computed-diff: true state_metadata: description: | Metadata describing the state of the managed cache add-on. type: object additionalProperties: false properties: cache_config_id: description: Reference to cache configuration for this add-on. type: string format: uuid example: edaf40f9-9fb0-4ffe-bb74-4e763a6bd471 cache_server_name: description: Env vault path to cache server name. type: string example: '{vault://env/ADDON_MANAGED_CACHE_SERVER_NAME}' cache_host: description: Env vault path to cache hostname. type: string example: '{vault://env/ADDON_MANAGED_CACHE_HOST}' cache_port: description: Env vault path to cache port. type: string example: '{vault://env/ADDON_MANAGED_CACHE_PORT}' cache_username: description: Env vault path to cache username. type: string example: '{vault://env/ADDON_MANAGED_CACHE_USERNAME}' cloud_authentication: description: | Metadata describing the cloud authentication details for managed cache add-on. type: object additionalProperties: false properties: auth_provider: description: Env vault path to cache auth provider. type: string example: '{vault://env/ADDON_MANAGED_CACHE_AUTH_PROVIDER}' aws_cache_name: description: Env vault path to aws cache name. type: string example: '{vault://env/ADDON_MANAGED_CACHE_AWS_CACHE_NAME}' aws_region: description: Env vault path to aws region. type: string example: '{vault://env/ADDON_MANAGED_CACHE_AWS_REGION}' aws_assume_role_arn: description: Env vault path to aws assume role arn. type: string example: '{vault://env/ADDON_MANAGED_CACHE_AWS_ASSUME_ROLE_ARN}' azure_tenant_id: description: Env vault path to azure tenant id. type: string example: '{vault://env/ADDON_MANAGED_CACHE_AZURE_TENANT_ID}' readOnly: true x-speakeasy-param-suppress-computed-diff: true additionalProperties: false required: - kind - capacity_config - data_plane_groups - state_metadata title: ManagedCacheAddOnConfigResponse ManagedCacheAddOnDataPlaneGroup: description: Object that describes a data-plane group where managed cache add-on is deployed. type: object properties: id: description: ID of the data-plane group. type: string format: uuid example: 1150820b-c69f-4a2a-b9be-bbcdbc5cd618 cloud_gateway_network_id: description: Network ID this data-plane group is attached to. type: string format: uuid example: 36ae63d3-efd1-4bec-b246-62aa5d3f5695 provider: $ref: '#/components/schemas/ProviderName' region: description: Region of cloud provider the data-plane group is deployed to. type: string example: us-east-1 state: description: | The current state of the managed cache add-on in the data-plane group. Possible values: - `initializing` - The add-on is in the process of being initialized/updated and is setting up necessary resources for this data-plane group. - `ready` - The add-on is fully operational for this data-plane group. - `error` - The add-on is in an error state, and is not operational for this data-plane group. - `terminating` - The add-on is in the process of being deleted for this data-plane group. type: string enum: - initializing - ready - error - terminating x-speakeasy-unknown-values: allow state_metadata: description: | Metadata describing the state of the managed cache add-on in the data-plane group. type: object additionalProperties: false properties: error_reason: description: | Reason why the managed cache add-on may be in an error state, reported from backing infrastructure. type: string example: | Failed to create managed cache add-on due to invalid configuration. additionalProperties: false readOnly: true required: - id - cloud_gateway_network_id - provider - region - state - state_metadata title: ManagedCacheAddOnDataPlaneGroup x-speakeasy-param-suppress-computed-diff: true AddOnState: description: | The current state of the add-on. Possible values: - `initializing` - The add-on is in the process of being initialized/updated. - `ready` - The add-on is fully operational. - `terminating` - The add-on is in the process of being deleted. type: string enum: - initializing - ready - terminating readOnly: true title: Add-On State x-speakeasy-param-suppress-computed-diff: true x-speakeasy-unknown-values: allow AddOnResponse: description: Object containing information about an add-on. type: object properties: id: $ref: '#/components/schemas/AddOnId' name: $ref: '#/components/schemas/AddOnName' owner: $ref: '#/components/schemas/AddOnOwner' config: $ref: '#/components/schemas/AddOnConfigResponse' entity_version: description: 'Monotonically-increasing version count of the add-on, to indicate the order of updates to the add-on.' type: integer example: 1 readOnly: true x-speakeasy-param-suppress-computed-diff: true state: $ref: '#/components/schemas/AddOnState' created_at: description: RFC-3339 timestamp representation of add-on creation date. type: string format: date-time example: '2025-08-26T06:56:41Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true updated_at: description: RFC-3339 timestamp representation of add-on update date. type: string format: date-time example: '2025-08-26T06:56:41Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true additionalProperties: false required: - id - name - owner - config - entity_version - state - created_at - updated_at title: AddOnResponse CreateAddOnRequest: description: Request schema for creating an add-on. type: object properties: name: $ref: '#/components/schemas/AddOnName' owner: $ref: '#/components/schemas/AddOnOwner' config: $ref: '#/components/schemas/CreateAddOnConfig' additionalProperties: false required: - name - owner - config title: CreateAddOnRequest AddOnName: description: Unique human-readable name of the add-on. type: string example: my-add-on maxLength: 70 minLength: 1 title: AddOnName AddOnOwner: description: Owner for the add-on. type: object oneOf: - $ref: '#/components/schemas/ControlPlaneAddOnOwner' - $ref: '#/components/schemas/ControlPlaneGroupAddOnOwner' title: AddOnOwner ControlPlaneAddOnOwner: description: Control Plane is the owner for the add-on. type: object properties: kind: description: Type of owner for the add-on. type: string const: control-plane control_plane_id: description: ID of the control-plane that owns this add-on. type: string format: uuid example: 123e4567-e89b-12d3-a456-426614174000 control_plane_geo: $ref: '#/components/schemas/ControlPlaneGeo' additionalProperties: false required: - kind - control_plane_id - control_plane_geo title: ControlPlaneAddOnOwner x-speakeasy-name-override: control_plane ControlPlaneGroupAddOnOwner: description: Control Plane Group is the owner for the add-on. type: object properties: kind: description: Type of owner for the add-on. type: string const: control-plane-group control_plane_group_id: description: ID of the control-plane group that owns this add-on. type: string format: uuid example: 123e4567-e89b-12d3-a456-426614174000 control_plane_group_geo: $ref: '#/components/schemas/ControlPlaneGeo' additionalProperties: false required: - kind - control_plane_group_id - control_plane_group_geo title: ControlPlaneGroupAddOnOwner x-speakeasy-name-override: control_plane_group CreateAddOnConfig: description: Configuration for creating different types of add-ons. type: object oneOf: - $ref: '#/components/schemas/CreateManagedCacheAddOnConfig' title: CreateAddOnConfig CreateManagedCacheAddOnConfig: description: Configuration for creating a managed cache add-on. type: object properties: kind: description: Type of add-on configuration. type: string const: managed-cache.v0 capacity_config: $ref: '#/components/schemas/ManagedCacheCapacityConfig' additionalProperties: false required: - kind - capacity_config title: CreateManagedCacheAddOnConfig x-speakeasy-name-override: managed_cache UpdateAddOnRequest: description: Request body for updating an add-on. type: object properties: config: $ref: '#/components/schemas/UpdateAddOnConfig' additionalProperties: false required: - config title: UpdateAddOnRequest UpdateAddOnConfig: description: Configuration for updating different types of add-ons. type: object oneOf: - $ref: '#/components/schemas/UpdateManagedCacheAddOnConfig' title: UpdateAddOnConfig UpdateManagedCacheAddOnConfig: description: Configuration for updating a managed cache add-on. type: object properties: kind: description: Type of add-on configuration. type: string const: managed-cache.v0 capacity_config: $ref: '#/components/schemas/ManagedCacheCapacityConfig' additionalProperties: false required: - kind - capacity_config title: UpdateManagedCacheAddOnConfig x-speakeasy-name-override: managed_cache ManagedCacheCapacityConfig: description: Configuration for managed cache capacity and performance characteristics. type: object oneOf: - $ref: '#/components/schemas/TieredCapacityConfig' title: ManagedCacheCapacityConfig TieredCapacityConfig: description: Capacity tiers with pre-configured size and performance characteristics. type: object properties: kind: description: Type of capacity configuration. type: string const: tiered tier: description: | Capacity tier that determines both cache size and performance characteristics: - micro: ~0.5 GiB capacity - small: ~1 GiB capacity - medium: ~3 GiB capacity - large: ~6 GiB capacity - xlarge: ~12 GiB capacity - 2xlarge: ~25 GiB capacity - 4xlarge: ~52 GiB capacity - 8xlarge: ~100 GiB capacity - 12xlarge: ~150 GiB capacity - 16xlarge: ~200 GiB capacity - 24xlarge: ~300 GiB capacity type: string enum: - micro - small - medium - large - xlarge - 2xlarge - 4xlarge - 8xlarge - 12xlarge - 16xlarge - 24xlarge x-speakeasy-unknown-values: allow example: kind: tiered tier: small additionalProperties: false required: - kind - tier title: TieredCapacityConfig x-speakeasy-name-override: Tiered KongIdentityAllowedControlPlanes: description: | List of control plane IDs authorized to make authentication requests to this directory. Maximum of 32 control planes can be specified. Use allow_all_control_planes for unrestricted access. type: array items: type: string format: uuid uniqueItems: true minItems: 0 maxItems: 32 default: [] nullable: false KongIdentityAllowAllControlPlanes: description: | When set to true, all control planes within the organization can make authentication requests to this directory. This overrides the allowed_control_planes list. Defaults to false for security. type: boolean default: false nullable: false DirectoryName: description: | Human-readable name of the directory, used to identify the organizational boundary. A directory name is unique within the organization. type: string maxLength: 255 minLength: 1 pattern: '^[a-z0-9-_]+$' DirectoryDescription: description: | Optional description providing additional context about the directory's purpose or usage. type: string maxLength: 255 CreateDirectoryBody: type: object properties: name: $ref: '#/components/schemas/DirectoryName' description: $ref: '#/components/schemas/DirectoryDescription' allowed_control_planes: $ref: '#/components/schemas/KongIdentityAllowedControlPlanes' allow_all_control_planes: $ref: '#/components/schemas/KongIdentityAllowAllControlPlanes' ttl_secs: $ref: '#/components/schemas/DirectoryTTLSecs' negative_ttl_secs: $ref: '#/components/schemas/DirectoryNegativeTTLSecs' labels: $ref: '#/components/schemas/Labels' managed_by: $ref: '#/components/schemas/ManagedBy' vault_enabled: $ref: '#/components/schemas/DirectoryVaultEnabled' additionalProperties: false required: - name x-property-annotations: ttl_secs: - x-internal - x-unstable negative_ttl_secs: - x-internal - x-unstable vault_enabled: - x-internal - x-unstable ReplaceDirectoryBody: type: object properties: name: $ref: '#/components/schemas/DirectoryName' description: $ref: '#/components/schemas/DirectoryDescription' allowed_control_planes: $ref: '#/components/schemas/KongIdentityAllowedControlPlanes' allow_all_control_planes: $ref: '#/components/schemas/KongIdentityAllowAllControlPlanes' ttl_secs: $ref: '#/components/schemas/DirectoryTTLSecs' negative_ttl_secs: $ref: '#/components/schemas/DirectoryNegativeTTLSecs' labels: $ref: '#/components/schemas/Labels' managed_by: $ref: '#/components/schemas/ManagedBy' vault_enabled: $ref: '#/components/schemas/DirectoryVaultEnabled' additionalProperties: false required: - name x-property-annotations: ttl_secs: - x-internal - x-unstable negative_ttl_secs: - x-internal - x-unstable vault_enabled: - x-internal - x-unstable DirectoryVaultEnabled: description: | Set to enabled to enable the Token Vault for this directory. Defaults to disabled when omitted. type: boolean DirectoryTTLSecs: description: | The time in seconds that a principal will be cached in memory on a running Gateway if it is successfully authenticated from this directory. Maximum is 86400 seconds (24 hours). type: integer default: 600 maximum: 86400 minimum: 300 DirectoryNegativeTTLSecs: description: | If a running Gateway triggers a lookup for a principal that cannot be authenticated in this directory, a `negative_ttl_secs` is set. The Gateway will not try to look up the principal in Konnect for `negative_ttl_secs` seconds. A principal will be cached for `negative_ttl_secs` if it does not exist in the directory, or if the provided credentials are invalid. Maximum is 86400 seconds (24 hours). type: integer default: 600 maximum: 86400 minimum: 300 KongDirectory: description: | A directory represents an organizational boundary for grouping principals and managing their identities. Directories are region-specific and can control which control planes have authentication access. type: object properties: id: $ref: '#/components/schemas/UUID' name: $ref: '#/components/schemas/DirectoryName' description: $ref: '#/components/schemas/DirectoryDescription' allowed_control_planes: $ref: '#/components/schemas/KongIdentityAllowedControlPlanes' allow_all_control_planes: $ref: '#/components/schemas/KongIdentityAllowAllControlPlanes' ttl_secs: $ref: '#/components/schemas/DirectoryTTLSecs' negative_ttl_secs: $ref: '#/components/schemas/DirectoryNegativeTTLSecs' labels: $ref: '#/components/schemas/Labels' managed_by: $ref: '#/components/schemas/ManagedBy' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' vault_enabled: $ref: '#/components/schemas/DirectoryVaultEnabled' required: - id - name - description - labels - allowed_control_planes - allow_all_control_planes - ttl_secs - negative_ttl_secs - managed_by - created_at - updated_at x-property-annotations: ttl_secs: - x-internal - x-unstable negative_ttl_secs: - x-internal - x-unstable vault_enabled: - x-internal - x-unstable ManagedBy: description: | Stores information about what manages this entity, such as the tool or system responsible for its lifecycle (for example, `terraform`). Keys must be 1–63 characters long and start with an alphanumeric character. type: object example: owner: terraform additionalProperties: type: string pattern: '^[a-z0-9A-Z]{1}([a-z0-9A-Z-._]*[a-z0-9A-Z]+)?$' minLength: 1 maxLength: 63 maxProperties: 5 title: ManagedBy AIGatewayEntityIdentifier: description: 'Identifier for an AI Gateway entity. In some cases, this may be the entity name or ID.' type: string example: my-entity-name maxLength: 256 minLength: 1 pattern: '^[A-Za-z0-9._:-]{1,256}$' AIGatewayVaultName: description: An immutable user-defined identifier for this resource. type: string example: my-awesome-vault maxLength: 255 minLength: 2 pattern: '^[a-z][a-z0-9-]*[a-z0-9]+$' AIGatewayConfigStoreName: description: An immutable user-defined identifier for this resource. type: string example: my-config-store maxLength: 255 minLength: 2 pattern: '^[a-z][a-z0-9-]*[a-z0-9]+$' AIGatewayProxyURL: description: Proxy URL associated with reaching the data-planes connected to a control-plane. type: object properties: host: description: Hostname of the proxy URL. type: string port: description: Port of the proxy URL. type: integer protocol: description: Protocol of the proxy URL. type: string example: host: example.com port: 443 protocol: https additionalProperties: false required: - host - port - protocol CreateAIGatewayRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: display_name: description: The display name for this AI Gateway. type: string example: My AI Gateway maxLength: 256 minLength: 1 name: description: The name for this AI Gateway. This value is immutable after creation. type: string example: my-ai-gateway maxLength: 256 minLength: 1 pattern: '^[0-9a-z-]+$' description: description: The description of the AI Gateway. type: string example: An AI Gateway for my organization. maxLength: 1024 x-speakeasy-param-computed: false proxy_urls: description: Array of proxy URLs associated with reaching the data-planes connected to a control-plane. type: array items: $ref: '#/components/schemas/AIGatewayProxyURL' format: set nullable: false labels: $ref: '#/components/schemas/PublicLabels' additionalProperties: false required: - display_name - name x-unstable: true UpdateAIGatewayRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: display_name: description: The display name for this AI Gateway. type: string example: My AI Gateway maxLength: 256 minLength: 1 name: description: The name for this AI Gateway. This value is immutable after creation. type: string example: my-ai-gateway maxLength: 256 minLength: 1 pattern: '^[0-9a-z-]+$' description: description: The description of the AI Gateway. type: string example: An AI Gateway for my organization. maxLength: 1024 x-speakeasy-param-computed: false proxy_urls: description: Array of proxy URLs associated with reaching the data-planes connected to a control-plane. type: array items: $ref: '#/components/schemas/AIGatewayProxyURL' format: set nullable: false labels: $ref: '#/components/schemas/PublicLabels' additionalProperties: false required: - display_name - name x-unstable: true AIGateway: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: display_name: description: The display name for this AI Gateway. type: string example: My AI Gateway maxLength: 256 minLength: 1 name: description: The name for this AI Gateway. This value is immutable after creation. type: string example: my-ai-gateway maxLength: 256 minLength: 1 pattern: '^[0-9a-z-]+$' description: description: The description of the AI Gateway. type: string example: An AI Gateway for my organization. maxLength: 1024 x-speakeasy-param-computed: false proxy_urls: description: Array of proxy URLs associated with reaching the data-planes connected to a control-plane. type: array items: $ref: '#/components/schemas/AIGatewayProxyURL' format: set nullable: false labels: $ref: '#/components/schemas/PublicLabels' id: $ref: '#/components/schemas/UUID' endpoints: description: Object containing AI Gateway access endpoints. type: object additionalProperties: false properties: configuration: description: Configuration Endpoint. type: string format: url example: 'https://acfe5f253f.cp.konghq.com' readOnly: true x-speakeasy-param-suppress-computed-diff: true telemetry: description: Telemetry Endpoint. type: string format: url example: 'https://acfe5f253f.tp0.konghq.com' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - configuration - telemetry config_version: description: | The version identification of the latest configuration of the gateway. Any change to an entity under this gateway can result in a new version. The config_version is generated in the control plane and used to verify if an AI Gateway node configuration is up to date. type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - display_name - name - id - endpoints - created_at - updated_at x-unstable: true CreateAIGatewayDataPlaneCertificateRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: cert: description: JSON escaped string of the certificate. type: string title: description: A human-readable name for the certificate. type: string maxLength: 256 minLength: 1 description: description: An optional description of the certificate. type: string maxLength: 1024 nullable: false additionalProperties: false required: - cert - title x-unstable: true AIGatewayDataPlaneClientCertificate: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: cert: description: JSON escaped string of the certificate. type: string title: description: A human-readable name for the certificate. type: string maxLength: 256 minLength: 1 description: description: An optional description of the certificate. type: string maxLength: 1024 nullable: false id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' metadata: description: Metadata extracted from the certificate. type: object additionalProperties: false properties: subject: description: The certificate subject. type: string issuer: description: The certificate issuer. type: string san_names: description: Subject alternative names (deprecated). type: array items: type: string deprecated: true expiry: description: Unix timestamp of certificate expiry. type: integer format: int64 key_usages: description: Key usage types for the certificate. type: array items: type: string snis: description: Server Name Indications associated with the certificate. type: array items: type: string dns_names: description: DNS subject alternative names. type: array items: type: string email_addresses: description: Email subject alternative names. type: array items: type: string ip_addresses: description: IP subject alternative names. type: array items: type: string uris: description: URI subject alternative names. type: array items: type: string is_ca: description: Whether the certificate is a CA certificate. type: boolean readOnly: true x-speakeasy-param-suppress-computed-diff: true additionalProperties: false required: - cert - title - id - created_at - updated_at x-unstable: true AIGatewayModelModel: description: Configuration for proxying synchronous requests/responses to/from an AI Gateway model using generative APIs. type: object properties: display_name: description: The display name for this model instance. type: string example: My GPT 5 model maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this model, used as a stable human-readable reference. This value is immutable after creation. example: my-gpt-5-model allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true enabled: description: Whether the model is enabled. type: boolean example: true default: true access: $ref: '#/components/schemas/AIGatewayModelAccess' formats: description: List of request/response formats supported by this model. type: array items: $ref: '#/components/schemas/AIGatewayModelFormat' maxItems: 1 minItems: 1 targets: description: One or more backend models that this model entry routes to. type: array items: $ref: '#/components/schemas/AIGatewayTarget' minItems: 1 policies: $ref: '#/components/schemas/AIGatewayPolicyReferences' labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' type: type: string const: model config: $ref: '#/components/schemas/AIGatewayModelModelConfig' capabilities: description: List of AI capabilities enabled for this model. type: array items: type: string enum: - generate - agentic - realtime - embeddings - image - audio/speech - audio/transcription - audio/translation - video - rerank x-speakeasy-unknown-values: allow minItems: 1 required: - display_name - name - formats - targets - type - config - capabilities x-unstable: true AIGatewayModelAPI: description: Configuration for proxying asynchronous requests/responses to/from an AI Gateway model using the files and batches APIs. type: object properties: display_name: description: The display name for this model instance. type: string example: My GPT 5 model maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this model, used as a stable human-readable reference. This value is immutable after creation. example: my-gpt-5-model allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true enabled: description: Whether the model is enabled. type: boolean example: true default: true access: $ref: '#/components/schemas/AIGatewayModelAccess' formats: description: List of request/response formats supported by this model. type: array items: $ref: '#/components/schemas/AIGatewayModelFormat' maxItems: 1 minItems: 1 targets: description: One or more backend models that this model entry routes to. type: array items: $ref: '#/components/schemas/AIGatewayTarget' minItems: 1 policies: $ref: '#/components/schemas/AIGatewayPolicyReferences' labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' type: type: string const: api config: $ref: '#/components/schemas/AIGatewayModelAPIConfig' capabilities: description: List of AI capabilities enabled for this API model. type: array items: type: string enum: - batches - files x-speakeasy-unknown-values: allow required: - display_name - name - formats - targets - type - config - capabilities x-unstable: true CreateAIGatewayModelRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an AI Gateway model. discriminator: propertyName: type mapping: api: '#/components/schemas/AIGatewayModelAPI' model: '#/components/schemas/AIGatewayModelModel' oneOf: - $ref: '#/components/schemas/AIGatewayModelAPI' - $ref: '#/components/schemas/AIGatewayModelModel' x-unstable: true UpdateAIGatewayModelRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an AI Gateway model. discriminator: propertyName: type mapping: api: '#/components/schemas/AIGatewayModelAPI' model: '#/components/schemas/AIGatewayModelModel' oneOf: - $ref: '#/components/schemas/AIGatewayModelAPI' - $ref: '#/components/schemas/AIGatewayModelModel' x-unstable: true AIGatewayModel: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an AI Gateway model. type: object properties: id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' discriminator: propertyName: type mapping: api: '#/components/schemas/AIGatewayModelAPI' model: '#/components/schemas/AIGatewayModelModel' oneOf: - $ref: '#/components/schemas/AIGatewayModelAPI' - $ref: '#/components/schemas/AIGatewayModelModel' required: - id - created_at - updated_at x-unstable: true AIGatewayModelModelConfig: description: 'Routing, logging, and load balancing configuration for the model.' type: object properties: route: $ref: '#/components/schemas/AIGatewayModelRouteConfig' logging: $ref: '#/components/schemas/AIGatewayLoggingConfig' response_streaming: type: string default: allow enum: - allow - always - deny x-speakeasy-unknown-values: allow max_request_body_size: description: Maximum size of request body to parse. Set to 0 for unlimited. type: integer default: 8388608 model: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object default: name_header: true additionalProperties: false properties: name_header: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Display the model name selected in the X-Kong-LLM-Model response header type: boolean default: true x-unstable: true x-unstable: true balancer: $ref: '#/components/schemas/AIGatewayModelBalancerConfig' proxy: $ref: '#/components/schemas/AIGatewayProxyConfig' additionalProperties: false required: - route AIGatewayModelAPIConfig: description: 'Routing, logging, and load balancing configuration for the model.' type: object properties: route: $ref: '#/components/schemas/AIGatewayModelRouteConfig' logging: $ref: '#/components/schemas/AIGatewayLoggingConfig' response_streaming: type: string default: allow enum: - allow - always - deny x-speakeasy-unknown-values: allow max_request_body_size: description: Maximum size of request body to parse. Set to 0 for unlimited. type: integer default: 8388608 balancer: $ref: '#/components/schemas/AIGatewayModelBalancerConfig' proxy: $ref: '#/components/schemas/AIGatewayProxyConfig' additionalProperties: false required: - route AIGatewayModelRouteConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an AI Gateway route. type: object properties: 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 example: version: - v1 - v2 additionalProperties: true x-speakeasy-param-computed: 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 example: foo.example.com x-speakeasy-param-computed: false 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 methods: description: A list of HTTP methods that match this route. type: array items: type: string x-speakeasy-param-computed: true paths: description: A list of paths that match this route. type: array items: type: string x-speakeasy-param-computed: 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 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: type: string default: - http - https 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 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 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 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 tags: description: An optional set of strings associated with the route for grouping and filtering. type: array items: type: string x-speakeasy-param-computed: true model: $ref: '#/components/schemas/AIGatewayModelSelectorConfig' additionalProperties: false x-unstable: true AIGatewayModelSelectorConfig: description: | Configuration for overriding routing to this model using a selector. When no selector location is set, the format default selector is used. When values are not set, the model name is used as the selector value. type: object properties: body_param: description: The body property name to match for routing. type: string example: model minLength: 1 x-speakeasy-param-computed: false header_param: description: The header property name to match for routing. type: string example: x-model minLength: 1 x-speakeasy-param-computed: false path_param: description: | The name of the regex capture group defined in the route path for routing. type: string example: model_name minLength: 1 x-speakeasy-param-computed: false values: description: | An optional model alias. When omitted, the model name is used. When no selector location is configured, the format default selector is used. type: array items: type: string minLength: 1 maxItems: 1 minItems: 1 x-speakeasy-param-computed: true additionalProperties: false title: AIGatewayModelSelectorConfig AIGatewayModelBalancerConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for a model's load balancer when multiple target models are configured. discriminator: propertyName: algorithm mapping: consistent-hashing: '#/components/schemas/AIGatewayModelBalancerConsistentHashingConfig' least-connections: '#/components/schemas/AIGatewayModelBalancerLeastConnectionsConfig' lowest-latency: '#/components/schemas/AIGatewayModelBalancerLowestLatencyConfig' lowest-usage: '#/components/schemas/AIGatewayModelBalancerLowestUsageConfig' priority: '#/components/schemas/AIGatewayModelBalancerPriorityConfig' round-robin: '#/components/schemas/AIGatewayModelBalancerRoundRobinConfig' semantic: '#/components/schemas/AIGatewayModelBalancerSemanticConfig' oneOf: - $ref: '#/components/schemas/AIGatewayModelBalancerConsistentHashingConfig' - $ref: '#/components/schemas/AIGatewayModelBalancerLeastConnectionsConfig' - $ref: '#/components/schemas/AIGatewayModelBalancerLowestLatencyConfig' - $ref: '#/components/schemas/AIGatewayModelBalancerLowestUsageConfig' - $ref: '#/components/schemas/AIGatewayModelBalancerPriorityConfig' - $ref: '#/components/schemas/AIGatewayModelBalancerRoundRobinConfig' - $ref: '#/components/schemas/AIGatewayModelBalancerSemanticConfig' x-unstable: true AIGatewayModelBalancerConsistentHashingConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: connect_timeout: type: integer default: 60000 maximum: 2147483646 minimum: 1 fail_timeout: description: The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`. type: integer default: 10000 maximum: 2147483646 minimum: 1 failover_criteria: description: 'Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream' type: array items: type: string enum: - error - http_403 - http_404 - http_429 - http_500 - http_502 - http_503 - http_504 - invalid_header - non_idempotent - timeout x-speakeasy-unknown-values: allow default: - error - timeout max_fails: description: 'Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.' type: integer default: 0 maximum: 32767 minimum: 0 read_timeout: type: integer default: 60000 maximum: 2147483646 minimum: 1 retries: description: The number of retries to execute upon failure to proxy. type: integer default: 5 maximum: 32767 minimum: 0 slots: description: The number of slots in the load balancer algorithm. type: integer default: 10000 maximum: 65536 minimum: 10 write_timeout: type: integer default: 60000 maximum: 2147483646 minimum: 1 algorithm: type: string const: consistent-hashing hash_on_header: description: The header to use for consistent-hashing. type: string default: X-Kong-LLM-Request-ID additionalProperties: false required: - algorithm x-unstable: true AIGatewayModelBalancerLeastConnectionsConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: connect_timeout: type: integer default: 60000 maximum: 2147483646 minimum: 1 fail_timeout: description: The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`. type: integer default: 10000 maximum: 2147483646 minimum: 1 failover_criteria: description: 'Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream' type: array items: type: string enum: - error - http_403 - http_404 - http_429 - http_500 - http_502 - http_503 - http_504 - invalid_header - non_idempotent - timeout x-speakeasy-unknown-values: allow default: - error - timeout max_fails: description: 'Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.' type: integer default: 0 maximum: 32767 minimum: 0 read_timeout: type: integer default: 60000 maximum: 2147483646 minimum: 1 retries: description: The number of retries to execute upon failure to proxy. type: integer default: 5 maximum: 32767 minimum: 0 slots: description: The number of slots in the load balancer algorithm. type: integer default: 10000 maximum: 65536 minimum: 10 write_timeout: type: integer default: 60000 maximum: 2147483646 minimum: 1 algorithm: type: string const: least-connections additionalProperties: false required: - algorithm x-unstable: true AIGatewayModelBalancerLowestLatencyConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: connect_timeout: type: integer default: 60000 maximum: 2147483646 minimum: 1 fail_timeout: description: The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`. type: integer default: 10000 maximum: 2147483646 minimum: 1 failover_criteria: description: 'Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream' type: array items: type: string enum: - error - http_403 - http_404 - http_429 - http_500 - http_502 - http_503 - http_504 - invalid_header - non_idempotent - timeout x-speakeasy-unknown-values: allow default: - error - timeout max_fails: description: 'Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.' type: integer default: 0 maximum: 32767 minimum: 0 read_timeout: type: integer default: 60000 maximum: 2147483646 minimum: 1 retries: description: The number of retries to execute upon failure to proxy. type: integer default: 5 maximum: 32767 minimum: 0 slots: description: The number of slots in the load balancer algorithm. type: integer default: 10000 maximum: 65536 minimum: 10 write_timeout: type: integer default: 60000 maximum: 2147483646 minimum: 1 algorithm: type: string const: lowest-latency latency_strategy: description: 'What metrics to use for latency. Available values are: `tpot` (time-per-output-token) and `e2e`.' type: string default: tpot enum: - e2e - tpot x-speakeasy-unknown-values: allow additionalProperties: false required: - algorithm - latency_strategy x-unstable: true AIGatewayModelBalancerLowestUsageConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: connect_timeout: type: integer default: 60000 maximum: 2147483646 minimum: 1 fail_timeout: description: The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`. type: integer default: 10000 maximum: 2147483646 minimum: 1 failover_criteria: description: 'Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream' type: array items: type: string enum: - error - http_403 - http_404 - http_429 - http_500 - http_502 - http_503 - http_504 - invalid_header - non_idempotent - timeout x-speakeasy-unknown-values: allow default: - error - timeout max_fails: description: 'Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.' type: integer default: 0 maximum: 32767 minimum: 0 read_timeout: type: integer default: 60000 maximum: 2147483646 minimum: 1 retries: description: The number of retries to execute upon failure to proxy. type: integer default: 5 maximum: 32767 minimum: 0 slots: description: The number of slots in the load balancer algorithm. type: integer default: 10000 maximum: 65536 minimum: 10 write_timeout: type: integer default: 60000 maximum: 2147483646 minimum: 1 algorithm: type: string const: lowest-usage tokens_count_strategy: description: Methodology to use for token usage calculation. type: string default: total-tokens enum: - completion-tokens - cost - llm-accuracy - prompt-tokens - total-tokens x-speakeasy-unknown-values: allow additionalProperties: false required: - algorithm - tokens_count_strategy x-unstable: true AIGatewayModelBalancerPriorityConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: connect_timeout: type: integer default: 60000 maximum: 2147483646 minimum: 1 fail_timeout: description: The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`. type: integer default: 10000 maximum: 2147483646 minimum: 1 failover_criteria: description: 'Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream' type: array items: type: string enum: - error - http_403 - http_404 - http_429 - http_500 - http_502 - http_503 - http_504 - invalid_header - non_idempotent - timeout x-speakeasy-unknown-values: allow default: - error - timeout max_fails: description: 'Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.' type: integer default: 0 maximum: 32767 minimum: 0 read_timeout: type: integer default: 60000 maximum: 2147483646 minimum: 1 retries: description: The number of retries to execute upon failure to proxy. type: integer default: 5 maximum: 32767 minimum: 0 slots: description: The number of slots in the load balancer algorithm. type: integer default: 10000 maximum: 65536 minimum: 10 write_timeout: type: integer default: 60000 maximum: 2147483646 minimum: 1 algorithm: type: string const: priority additionalProperties: false required: - algorithm x-unstable: true AIGatewayModelBalancerRoundRobinConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: connect_timeout: type: integer default: 60000 maximum: 2147483646 minimum: 1 fail_timeout: description: The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`. type: integer default: 10000 maximum: 2147483646 minimum: 1 failover_criteria: description: 'Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream' type: array items: type: string enum: - error - http_403 - http_404 - http_429 - http_500 - http_502 - http_503 - http_504 - invalid_header - non_idempotent - timeout x-speakeasy-unknown-values: allow default: - error - timeout max_fails: description: 'Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.' type: integer default: 0 maximum: 32767 minimum: 0 read_timeout: type: integer default: 60000 maximum: 2147483646 minimum: 1 retries: description: The number of retries to execute upon failure to proxy. type: integer default: 5 maximum: 32767 minimum: 0 slots: description: The number of slots in the load balancer algorithm. type: integer default: 10000 maximum: 65536 minimum: 10 write_timeout: type: integer default: 60000 maximum: 2147483646 minimum: 1 algorithm: type: string const: round-robin additionalProperties: false required: - algorithm x-unstable: true AIGatewayModelBalancerSemanticConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: connect_timeout: type: integer default: 60000 maximum: 2147483646 minimum: 1 fail_timeout: description: The period of time (in milliseconds) the target will be considered unavailable after the number of unsuccessful attempts reaches `max_fails`. type: integer default: 10000 maximum: 2147483646 minimum: 1 failover_criteria: description: 'Specifies in which cases an upstream response should be failover to the next target. Each option in the array is equivalent to the function of https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream' type: array items: type: string enum: - error - http_403 - http_404 - http_429 - http_500 - http_502 - http_503 - http_504 - invalid_header - non_idempotent - timeout x-speakeasy-unknown-values: allow default: - error - timeout max_fails: description: 'Number of unsuccessful attempts to communicate with a target that should occur in the duration defined by `fail_timeout` before the target is considered unavailable. The zero value disables the circuit breaker. What is considered an unsuccessful attempt is defined by `failover_criteria`. Note the cases of `error`, `timeout` and `invalid_header` are always considered unsuccessful attempts, while the cases of `http_403` and `http_404` are never considered unsuccessful attempts.' type: integer default: 0 maximum: 32767 minimum: 0 read_timeout: type: integer default: 60000 maximum: 2147483646 minimum: 1 retries: description: The number of retries to execute upon failure to proxy. type: integer default: 5 maximum: 32767 minimum: 0 slots: description: The number of slots in the load balancer algorithm. type: integer default: 10000 maximum: 65536 minimum: 10 write_timeout: type: integer default: 60000 maximum: 2147483646 minimum: 1 algorithm: type: string const: semantic embeddings: description: Embeddings model configuration for this model. type: object additionalProperties: false properties: allow_auth_override: description: | When enabled, request-level auth parameters (such as API keys or bearer tokens) will override the static values defined for the provider. type: boolean default: false provider: $ref: '#/components/schemas/AIGatewayModelProviderReference' name: description: The name of the embeddings model. type: string config: $ref: '#/components/schemas/AIGatewayEmbeddingsModelConfig' required: - name - provider - config vectordb: $ref: '#/components/schemas/AIGatewayModelVectorDBConfig' additionalProperties: false required: - algorithm - embeddings - vectordb x-unstable: true AIGatewayEmbeddingsModelConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an embeddings model. discriminator: propertyName: type mapping: azure: '#/components/schemas/AIGatewayAzureEmbeddingsModelConfig' bedrock: '#/components/schemas/AIGatewayBedrockEmbeddingsModelConfig' gemini: '#/components/schemas/AIGatewayGeminiEmbeddingsModelConfig' huggingface: '#/components/schemas/AIGatewayHuggingfaceEmbeddingsModelConfig' mistral: '#/components/schemas/AIGatewayMistralEmbeddingsModelConfig' ollama: '#/components/schemas/AIGatewayOllamaEmbeddingsModelConfig' openai: '#/components/schemas/AIGatewayOpenaiEmbeddingsModelConfig' vertex: '#/components/schemas/AIGatewayVertexEmbeddingsModelConfig' oneOf: - $ref: '#/components/schemas/AIGatewayAzureEmbeddingsModelConfig' - $ref: '#/components/schemas/AIGatewayBedrockEmbeddingsModelConfig' - $ref: '#/components/schemas/AIGatewayGeminiEmbeddingsModelConfig' - $ref: '#/components/schemas/AIGatewayHuggingfaceEmbeddingsModelConfig' - $ref: '#/components/schemas/AIGatewayMistralEmbeddingsModelConfig' - $ref: '#/components/schemas/AIGatewayOllamaEmbeddingsModelConfig' - $ref: '#/components/schemas/AIGatewayOpenaiEmbeddingsModelConfig' - $ref: '#/components/schemas/AIGatewayVertexEmbeddingsModelConfig' x-unstable: true AIGatewayAzureEmbeddingsModelConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Azure OpenAI-specific configuration for an embeddings model. Azure AI Foundry embeddings are not supported. type: object properties: upstream_url: description: The URL of the embeddings model. type: string default: null nullable: true x-speakeasy-param-computed: false type: type: string enum: - azure deployment_id: description: The Azure OpenAI deployment ID for the embeddings model. type: string api_version: description: The Azure OpenAI API version to use. type: string default: '2023-05-15' additionalProperties: false required: - type - deployment_id title: AIGatewayAzureEmbeddingsModelConfig x-unstable: true AIGatewayBedrockEmbeddingsModelConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. AWS Bedrock-specific configuration for a model. type: object properties: upstream_url: description: The URL of the embeddings model. type: string default: null nullable: true x-speakeasy-param-computed: false type: type: string const: bedrock region: description: | The AWS region for the model. Setting this option overrides the AWS_REGION environment variable. type: string default: null nullable: true x-speakeasy-param-computed: false batch_bucket_prefix: description: S3 bucket prefix for batch inference jobs. type: string default: null nullable: true x-speakeasy-param-computed: false embeddings_normalize: description: Whether to normalize embedding vectors in the response. type: boolean default: false performance_config_latency: description: Latency performance configuration for the model invocation. type: string default: null nullable: true x-speakeasy-param-computed: false video_output_s3_uri: description: S3 URI for storing video generation outputs. type: string default: null nullable: true x-speakeasy-param-computed: false additionalProperties: false required: - type x-unstable: true AIGatewayGeminiEmbeddingsModelConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Google Gemini-specific configuration for a model. type: object properties: upstream_url: description: The URL of the embeddings model. type: string default: null nullable: true x-speakeasy-param-computed: false type: type: string const: gemini gcp_environment: $ref: '#/components/schemas/GCPModelConfig' additionalProperties: false required: - type x-unstable: true AIGatewayHuggingfaceEmbeddingsModelConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Hugging Face-specific configuration for a model. type: object properties: upstream_url: description: The URL of the embeddings model. type: string default: null nullable: true x-speakeasy-param-computed: false type: type: string const: huggingface use_cache: description: Whether to use the Hugging Face inference cache. type: boolean default: false wait_for_model: description: Whether to wait for the model to load if it is not ready. type: boolean default: false additionalProperties: false required: - type x-unstable: true AIGatewayMistralEmbeddingsModelConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: upstream_url: description: The URL of the embeddings model. type: string default: null nullable: true x-speakeasy-param-computed: false type: type: string enum: - mistral additionalProperties: false required: - type x-unstable: true AIGatewayOllamaEmbeddingsModelConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Ollama-specific configuration for a model. type: object properties: upstream_url: description: The URL of the embeddings model. type: string default: null nullable: true x-speakeasy-param-computed: false type: type: string const: ollama additionalProperties: false required: - type x-unstable: true AIGatewayOpenaiEmbeddingsModelConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Openai-specific configuration for a model. type: object properties: upstream_url: description: The URL of the embeddings model. type: string default: null nullable: true x-speakeasy-param-computed: false type: type: string const: openai additionalProperties: false required: - type x-unstable: true AIGatewayVertexEmbeddingsModelConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Google Vertex-specific configuration for a model. type: object properties: upstream_url: description: The URL of the embeddings model. type: string default: null nullable: true x-speakeasy-param-computed: false type: type: string const: vertex gcp_environment: $ref: '#/components/schemas/GCPModelConfig' additionalProperties: false required: - type x-unstable: true AIGatewayModelVectorDBConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for the vector database used by the model. discriminator: propertyName: type mapping: pgvector: '#/components/schemas/AIGatewayModelVectorDBConfigPgVector' redis: '#/components/schemas/AIGatewayModelVectorDBConfigRedis' oneOf: - $ref: '#/components/schemas/AIGatewayModelVectorDBConfigPgVector' - $ref: '#/components/schemas/AIGatewayModelVectorDBConfigRedis' x-unstable: true AIGatewayModelVectorDBConfigRedis: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Config for connecting to a Cloud Provider's Redis instance. type: object properties: type: type: string const: redis dimensions: description: the desired dimensionality for the vectors type: integer distance_metric: description: the distance metric to use for vector searches type: string enum: - cosine - euclidean x-speakeasy-unknown-values: allow threshold: description: the default similarity threshold for accepting semantic search results (float). Higher threshold means more results are considered similar. type: number default: null nullable: true x-speakeasy-param-computed: false cloud_authentication: description: Auth related config for connecting to a Cloud Provider's Redis instance. discriminator: propertyName: type mapping: aws: '#/components/schemas/AIGatewayRedisAWSAuthentication' azure: '#/components/schemas/AIGatewayRedisAzureAuthentication' gcp: '#/components/schemas/AIGatewayRedisGCPAuthentication' oneOf: - $ref: '#/components/schemas/AIGatewayRedisAWSAuthentication' - $ref: '#/components/schemas/AIGatewayRedisAzureAuthentication' - $ref: '#/components/schemas/AIGatewayRedisGCPAuthentication' cluster: description: Cluster configuration for the Redis connection. type: object default: null additionalProperties: false nullable: true properties: max_redirections: description: Maximum retry attempts for redirection. type: integer default: 5 nodes: description: Cluster addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element. type: array items: type: object properties: ip: description: 'A string representing a host name, such as example.com.' type: string default: 127.0.0.1 port: description: 'An integer representing a port number between 0 and 65535, inclusive.' type: integer default: 6379 maximum: 65535 minimum: 0 default: null minItems: 1 nullable: true x-speakeasy-param-computed: false x-speakeasy-param-computed: false connect_timeout: description: An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. type: integer default: 2000 maximum: 2147483646 minimum: 0 connection_is_proxied: description: 'If the connection to Redis is proxied (e.g. Envoy), set it `true`. Set the `host` and `port` to point to the proxy address.' type: boolean default: false database: description: Database to use for the Redis connection when using the `redis` strategy type: integer default: 0 host: description: | A string representing a host name, such as example.com. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: 127.0.0.1 x-referenceable: true keepalive: description: Keepalive configuration for the Redis connection. type: object default: null additionalProperties: false nullable: true properties: backlog: description: 'Limits the total number of opened connections for a pool. If the connection pool is full, connection queues above the limit go into the backlog queue. If the backlog queue is full, subsequent connect operations fail and return `nil`. Queued operations (subject to set timeouts) resume once the number of connections in the pool is less than `pool_size`. If latency is high or throughput is low, try increasing this value. Empirically, this value is larger than `pool_size`.' type: integer default: null maximum: 2147483646 minimum: 0 nullable: true x-speakeasy-param-computed: false pool_size: description: 'The size limit for every cosocket connection pool associated with every remote server, per worker process. If neither `pool_size` nor `backlog` is specified, no pool is created. If `pool_size` isn''t specified but `backlog` is specified, then the pool uses the default value. Try to increase (e.g. 512) this value if latency is high or throughput is low.' type: integer default: 256 maximum: 2147483646 minimum: 1 x-speakeasy-param-computed: false password: description: | Password to use for Redis connections. If undefined, no AUTH commands are sent to Redis. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true x-referenceable: true x-speakeasy-param-computed: false port: description: | An integer representing a port number between 0 and 65535, inclusive. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string example: 6379 default: '6379' maximum: 65535 minimum: 0 x-go-type: types.Referenceable x-go-type-import: path: github.com/kong-konnect/koko-private/internal/server/public/openapi/controlplanesconfig/types name: types x-referenceable: true read_timeout: description: An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. type: integer default: 2000 maximum: 2147483646 minimum: 0 send_timeout: description: An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. type: integer default: 2000 maximum: 2147483646 minimum: 0 sentinel: description: Configuration for Redis Sentinel. type: object default: null additionalProperties: false nullable: true properties: master: description: Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel. type: string default: null nullable: true x-speakeasy-param-computed: false nodes: description: Sentinel node addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element. type: array items: type: object properties: host: description: 'A string representing a host name, such as example.com.' type: string default: 127.0.0.1 port: description: 'An integer representing a port number between 0 and 65535, inclusive.' type: integer default: 6379 maximum: 65535 minimum: 0 default: null minItems: 1 nullable: true x-speakeasy-param-computed: false password: description: | Sentinel password to authenticate with a Redis Sentinel instance. If undefined, no AUTH commands are sent to Redis Sentinels. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true x-referenceable: true x-speakeasy-param-computed: false role: description: Sentinel role to use for Redis connections when the `redis` strategy is defined. Defining this value implies using Redis Sentinel. type: string enum: - any - master - slave x-speakeasy-unknown-values: allow username: description: | Sentinel username to authenticate with a Redis Sentinel instance. If undefined, ACL authentication won't be performed. This requires Redis v6.2.0+. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true x-referenceable: true x-speakeasy-param-computed: false x-speakeasy-param-computed: false server_name: description: | A string representing an SNI (server name indication) value for TLS. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true x-referenceable: true x-speakeasy-param-computed: false ssl: description: 'If set to true, uses SSL to connect to Redis.' type: boolean default: true ssl_verify: description: 'If set to true, verifies the validity of the server SSL certificate. If setting this parameter, also configure `lua_ssl_trusted_certificate` in `kong.conf` to specify the CA (or server) certificate used by your Redis server. You may also need to configure `lua_ssl_verify_depth` accordingly.' type: boolean default: true username: description: | Username to use for Redis connections. If undefined, ACL authentication won't be performed. This requires Redis v6.0.0+. To be compatible with Redis v5.x.y, you can set it to `default`. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true x-referenceable: true x-speakeasy-param-computed: false additionalProperties: false required: - type - dimensions - distance_metric x-speakeasy-transform-from-api: jq: | if has("port") then .port |= if type == "number" then tostring else . end else . end x-speakeasy-transform-to-api: jq: | if has("port") then if (.port | type) == "string" and (.port | test("^[0-9]+$")) then .port |= tonumber else . end else . end x-unstable: true AIGatewayModelVectorDBConfigPgVector: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: type: type: string const: pgvector dimensions: description: the desired dimensionality for the vectors type: integer distance_metric: description: the distance metric to use for vector searches type: string enum: - cosine - euclidean x-speakeasy-unknown-values: allow threshold: description: the default similarity threshold for accepting semantic search results (float). Higher threshold means more results are considered similar. type: number default: null nullable: true x-speakeasy-param-computed: false database: description: the database of the pgvector database type: string default: kong-pgvector host: description: the host of the pgvector database type: string default: 127.0.0.1 password: description: | the password of the pgvector database This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true writeOnly: true x-referenceable: true x-speakeasy-param-computed: false port: description: the port of the pgvector database type: integer default: 5432 ssl: type: object default: null additionalProperties: false nullable: true properties: enabled: description: whether to use ssl for the pgvector database type: boolean default: true cert: description: the path of ssl cert to use for the pgvector database type: string default: null nullable: true x-speakeasy-param-computed: false cert_key: description: the path of ssl cert key to use for the pgvector database type: string default: null nullable: true x-speakeasy-param-computed: false required: description: whether ssl is required for the pgvector database type: boolean default: true verify: description: whether to verify ssl for the pgvector database type: boolean default: true version: description: the ssl version to use for the pgvector database type: string default: tlsv1_2 enum: - any - tlsv1_2 - tlsv1_3 x-speakeasy-unknown-values: allow x-speakeasy-param-computed: false timeout: description: the timeout of the pgvector database type: number default: 5000 user: description: | the user of the pgvector database This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: postgres x-referenceable: true additionalProperties: false required: - type - dimensions - distance_metric x-unstable: true AIGatewayModelFormat: description: Request and response format supported by this model. type: object properties: type: description: The format type. type: string example: openai enum: - anthropic - bedrock - cohere - gemini - huggingface - openai - vertex x-speakeasy-unknown-values: allow additionalProperties: false AIGatewayTarget: description: A target instance a model entry routes requests to. type: object properties: name: description: The name of the model defined in the upstream provider that will be executed. type: string example: gpt-5-model weight: description: The weight this target gets within the upstream load balancer type: integer example: 100 default: 100 maximum: 65535 minimum: 1 semantic_description: description: | The semantic description of the target, required if using semantic load balancing. Specially, setting this to 'CATCHALL' will indicate such target to be used when no other targets match the semantic threshold. type: string x-speakeasy-param-computed: false allow_auth_override: description: | When enabled, request-level auth parameters (such as API keys or bearer tokens) will override the static values defined for the provider. type: boolean default: false provider: $ref: '#/components/schemas/AIGatewayModelProviderReference' config: $ref: '#/components/schemas/AIGatewayTargetConfig' additionalProperties: false required: - name - provider - config AIGatewayTargetConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for a target model. discriminator: propertyName: type mapping: anthropic: '#/components/schemas/AIGatewayTargetAnthropicConfig' azure: '#/components/schemas/AIGatewayTargetAzureConfig' bedrock: '#/components/schemas/AIGatewayTargetBedrockConfig' cerebras: '#/components/schemas/AIGatewayTargetCerebrasConfig' cohere: '#/components/schemas/AIGatewayTargetCohereConfig' dashscope: '#/components/schemas/AIGatewayTargetDashscopeConfig' databricks: '#/components/schemas/AIGatewayTargetDatabricksConfig' deepseek: '#/components/schemas/AIGatewayTargetDeepseekConfig' gemini: '#/components/schemas/AIGatewayTargetGeminiConfig' huggingface: '#/components/schemas/AIGatewayTargetHuggingfaceConfig' kimi: '#/components/schemas/AIGatewayTargetKimiConfig' llama2: '#/components/schemas/AIGatewayTargetLlama2Config' mistral: '#/components/schemas/AIGatewayTargetMistralConfig' ollama: '#/components/schemas/AIGatewayTargetOllamaConfig' openai: '#/components/schemas/AIGatewayTargetOpenaiConfig' vercel: '#/components/schemas/AIGatewayTargetVercelConfig' vertex: '#/components/schemas/AIGatewayTargetVertexConfig' vllm: '#/components/schemas/AIGatewayTargetVllmConfig' xai: '#/components/schemas/AIGatewayTargetXaiConfig' sagemaker: '#/components/schemas/AIGatewayTargetSagemakerConfig' oneOf: - $ref: '#/components/schemas/AIGatewayTargetAnthropicConfig' - $ref: '#/components/schemas/AIGatewayTargetAzureConfig' - $ref: '#/components/schemas/AIGatewayTargetBedrockConfig' - $ref: '#/components/schemas/AIGatewayTargetCerebrasConfig' - $ref: '#/components/schemas/AIGatewayTargetCohereConfig' - $ref: '#/components/schemas/AIGatewayTargetDashscopeConfig' - $ref: '#/components/schemas/AIGatewayTargetDatabricksConfig' - $ref: '#/components/schemas/AIGatewayTargetDeepseekConfig' - $ref: '#/components/schemas/AIGatewayTargetGeminiConfig' - $ref: '#/components/schemas/AIGatewayTargetHuggingfaceConfig' - $ref: '#/components/schemas/AIGatewayTargetKimiConfig' - $ref: '#/components/schemas/AIGatewayTargetLlama2Config' - $ref: '#/components/schemas/AIGatewayTargetMistralConfig' - $ref: '#/components/schemas/AIGatewayTargetOllamaConfig' - $ref: '#/components/schemas/AIGatewayTargetOpenaiConfig' - $ref: '#/components/schemas/AIGatewayTargetVercelConfig' - $ref: '#/components/schemas/AIGatewayTargetVertexConfig' - $ref: '#/components/schemas/AIGatewayTargetVllmConfig' - $ref: '#/components/schemas/AIGatewayTargetXaiConfig' - $ref: '#/components/schemas/AIGatewayTargetSagemakerConfig' x-unstable: true AIGatewayCacheWriteCost: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: ttl: description: 'Cache TTL this price applies to, e.g. "5m" or "1h".' type: string pattern: '^[0-9]+\.?[0-9]*[hm]$' cost: description: Cost per 1M cache-write prompt tokens for this TTL. type: number minimum: 0 additionalProperties: false required: - ttl - cost title: AIGatewayCacheWriteCost x-unstable: true AIGatewayContextWindowFactor: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: above: description: 'Input-token threshold above which the factors apply, e.g. "128k" or "1m".' type: string pattern: '^[0-9]+\.?[0-9]*[km]$' input_factor: description: Multiplier applied to input pricing above the threshold. type: number exclusiveMinimum: true minimum: 0 output_factor: description: Multiplier applied to output pricing above the threshold. type: number exclusiveMinimum: true minimum: 0 additionalProperties: false required: - above - input_factor - output_factor title: AIGatewayContextWindowFactor x-unstable: true AIGatewayServiceTierFactor: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: tier: description: 'Matched case-insensitively as a substring of the vendor''s reported service tier (e.g. "priority", "flex", "throughput"). When more than one entry matches, the longest (most specific) tier wins; array order does not matter.' type: string minLength: 1 factor: description: Multiplier applied to the whole request for this service tier. type: number exclusiveMinimum: true minimum: 0 additionalProperties: false required: - tier - factor title: AIGatewayServiceTierFactor x-unstable: true AIGatewayTargetAnthropicConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Anthropic-specific configuration for a model. type: object properties: embeddings_dimensions: description: The number of dimensions for embedding outputs. type: integer x-speakeasy-param-computed: false max_tokens: description: The maximum number of tokens to generate in the response. type: integer x-speakeasy-param-computed: false input_cost: description: Cost per 1M input tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false output_cost: description: Cost per 1M output tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_read_cost: description: Cost per 1M cache-read (cached) prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost: description: Cost per 1M cache-write prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost_list: description: Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs. type: array items: $ref: '#/components/schemas/AIGatewayCacheWriteCost' x-speakeasy-param-computed: true context_window_factor: description: 'Above an input-token threshold, scale input and output pricing by the corresponding factor.' type: array items: $ref: '#/components/schemas/AIGatewayContextWindowFactor' x-speakeasy-param-computed: true service_tier_factor: description: Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches. type: array items: $ref: '#/components/schemas/AIGatewayServiceTierFactor' x-speakeasy-param-computed: true temperature: description: Controls randomness in the model output. Higher values produce more varied responses. type: number x-speakeasy-param-computed: false top_k: description: Limits the number of highest-probability tokens considered during generation. type: integer x-speakeasy-param-computed: false top_p: description: Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered. type: number x-speakeasy-param-computed: false upstream_url: description: The upstream URL for the model endpoint. type: string format: uri x-speakeasy-param-computed: false type: type: string const: anthropic version: description: The Anthropic API version to use. type: string default: '2023-06-01' required: - type x-unstable: true AIGatewayTargetAzureConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Azure-specific configuration for a model. type: object properties: embeddings_dimensions: description: The number of dimensions for embedding outputs. type: integer x-speakeasy-param-computed: false max_tokens: description: The maximum number of tokens to generate in the response. type: integer x-speakeasy-param-computed: false input_cost: description: Cost per 1M input tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false output_cost: description: Cost per 1M output tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_read_cost: description: Cost per 1M cache-read (cached) prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost: description: Cost per 1M cache-write prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost_list: description: Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs. type: array items: $ref: '#/components/schemas/AIGatewayCacheWriteCost' x-speakeasy-param-computed: true context_window_factor: description: 'Above an input-token threshold, scale input and output pricing by the corresponding factor.' type: array items: $ref: '#/components/schemas/AIGatewayContextWindowFactor' x-speakeasy-param-computed: true service_tier_factor: description: Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches. type: array items: $ref: '#/components/schemas/AIGatewayServiceTierFactor' x-speakeasy-param-computed: true temperature: description: Controls randomness in the model output. Higher values produce more varied responses. type: number x-speakeasy-param-computed: false top_k: description: Limits the number of highest-probability tokens considered during generation. type: integer x-speakeasy-param-computed: false top_p: description: Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered. type: number x-speakeasy-param-computed: false upstream_url: description: The upstream URL for the model endpoint. type: string format: uri x-speakeasy-param-computed: false type: type: string const: azure deployment_id: description: | The Azure deployment ID for the model. Applies when the Azure provider's `service` is `azure-openai`; not used for `azure-foundry`. type: string x-speakeasy-param-computed: false api_version: description: The Azure OpenAI API version to use. type: string default: '2023-05-15' foundry_path_prefix: description: | The API path prefix for the Azure AI Foundry endpoint, selecting the model's API surface. `/openai/v1` targets the OpenAI-compatible surface; `/anthropic/v1` targets the Anthropic surface. Applies when the Azure provider's `service` is `azure-foundry`. type: string default: /openai/v1 enum: - /openai/v1 - /anthropic/v1 x-speakeasy-unknown-values: allow required: - type x-unstable: true AIGatewayTargetBedrockConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. AWS Bedrock-specific configuration for a model. type: object properties: embeddings_dimensions: description: The number of dimensions for embedding outputs. type: integer x-speakeasy-param-computed: false max_tokens: description: The maximum number of tokens to generate in the response. type: integer x-speakeasy-param-computed: false input_cost: description: Cost per 1M input tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false output_cost: description: Cost per 1M output tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_read_cost: description: Cost per 1M cache-read (cached) prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost: description: Cost per 1M cache-write prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost_list: description: Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs. type: array items: $ref: '#/components/schemas/AIGatewayCacheWriteCost' x-speakeasy-param-computed: true context_window_factor: description: 'Above an input-token threshold, scale input and output pricing by the corresponding factor.' type: array items: $ref: '#/components/schemas/AIGatewayContextWindowFactor' x-speakeasy-param-computed: true service_tier_factor: description: Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches. type: array items: $ref: '#/components/schemas/AIGatewayServiceTierFactor' x-speakeasy-param-computed: true temperature: description: Controls randomness in the model output. Higher values produce more varied responses. type: number x-speakeasy-param-computed: false top_k: description: Limits the number of highest-probability tokens considered during generation. type: integer x-speakeasy-param-computed: false top_p: description: Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered. type: number x-speakeasy-param-computed: false upstream_url: description: The upstream URL for the model endpoint. type: string format: uri x-speakeasy-param-computed: false type: type: string const: bedrock region: description: | The AWS region for the model. Setting this option overrides the AWS_REGION environment variable. type: string default: null nullable: true x-speakeasy-param-computed: false batch_bucket_prefix: description: S3 bucket prefix for batch inference jobs. type: string default: null nullable: true x-speakeasy-param-computed: false embeddings_normalize: description: Whether to normalize embedding vectors in the response. type: boolean default: false performance_config_latency: description: Latency performance configuration for the model invocation. type: string default: null nullable: true x-speakeasy-param-computed: false video_output_s3_uri: description: S3 URI for storing video generation outputs. type: string default: null nullable: true x-speakeasy-param-computed: false required: - type x-unstable: true AIGatewayTargetCerebrasConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Cerebras-specific configuration for a model. type: object properties: embeddings_dimensions: description: The number of dimensions for embedding outputs. type: integer x-speakeasy-param-computed: false max_tokens: description: The maximum number of tokens to generate in the response. type: integer x-speakeasy-param-computed: false input_cost: description: Cost per 1M input tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false output_cost: description: Cost per 1M output tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_read_cost: description: Cost per 1M cache-read (cached) prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost: description: Cost per 1M cache-write prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost_list: description: Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs. type: array items: $ref: '#/components/schemas/AIGatewayCacheWriteCost' x-speakeasy-param-computed: true context_window_factor: description: 'Above an input-token threshold, scale input and output pricing by the corresponding factor.' type: array items: $ref: '#/components/schemas/AIGatewayContextWindowFactor' x-speakeasy-param-computed: true service_tier_factor: description: Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches. type: array items: $ref: '#/components/schemas/AIGatewayServiceTierFactor' x-speakeasy-param-computed: true temperature: description: Controls randomness in the model output. Higher values produce more varied responses. type: number x-speakeasy-param-computed: false top_k: description: Limits the number of highest-probability tokens considered during generation. type: integer x-speakeasy-param-computed: false top_p: description: Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered. type: number x-speakeasy-param-computed: false upstream_url: description: The upstream URL for the model endpoint. type: string format: uri x-speakeasy-param-computed: false type: type: string const: cerebras required: - type x-unstable: true AIGatewayTargetCohereConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Cohere-specific configuration for a model. type: object properties: embeddings_dimensions: description: The number of dimensions for embedding outputs. type: integer x-speakeasy-param-computed: false max_tokens: description: The maximum number of tokens to generate in the response. type: integer x-speakeasy-param-computed: false input_cost: description: Cost per 1M input tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false output_cost: description: Cost per 1M output tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_read_cost: description: Cost per 1M cache-read (cached) prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost: description: Cost per 1M cache-write prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost_list: description: Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs. type: array items: $ref: '#/components/schemas/AIGatewayCacheWriteCost' x-speakeasy-param-computed: true context_window_factor: description: 'Above an input-token threshold, scale input and output pricing by the corresponding factor.' type: array items: $ref: '#/components/schemas/AIGatewayContextWindowFactor' x-speakeasy-param-computed: true service_tier_factor: description: Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches. type: array items: $ref: '#/components/schemas/AIGatewayServiceTierFactor' x-speakeasy-param-computed: true temperature: description: Controls randomness in the model output. Higher values produce more varied responses. type: number x-speakeasy-param-computed: false top_k: description: Limits the number of highest-probability tokens considered during generation. type: integer x-speakeasy-param-computed: false top_p: description: Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered. type: number x-speakeasy-param-computed: false upstream_url: description: The upstream URL for the model endpoint. type: string format: uri x-speakeasy-param-computed: false type: type: string const: cohere api_version: description: | Cohere API version. `v1` uses the legacy `/v1/chat` endpoint; `v2` (default) uses `/v2/chat` and supports tool calling. type: string default: v2 enum: - v1 - v2 x-speakeasy-unknown-values: allow embedding_input_type: description: The intended downstream use of the embeddings to improve model quality. type: string default: classification enum: - classification - clustering - image - search_document - search_query x-speakeasy-unknown-values: allow wait_for_model: description: Whether to wait for the model to be ready before sending the request. type: boolean default: false required: - type x-unstable: true AIGatewayTargetDashscopeConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Alibaba DashScope-specific configuration for a model. type: object properties: embeddings_dimensions: description: The number of dimensions for embedding outputs. type: integer x-speakeasy-param-computed: false max_tokens: description: The maximum number of tokens to generate in the response. type: integer x-speakeasy-param-computed: false input_cost: description: Cost per 1M input tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false output_cost: description: Cost per 1M output tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_read_cost: description: Cost per 1M cache-read (cached) prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost: description: Cost per 1M cache-write prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost_list: description: Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs. type: array items: $ref: '#/components/schemas/AIGatewayCacheWriteCost' x-speakeasy-param-computed: true context_window_factor: description: 'Above an input-token threshold, scale input and output pricing by the corresponding factor.' type: array items: $ref: '#/components/schemas/AIGatewayContextWindowFactor' x-speakeasy-param-computed: true service_tier_factor: description: Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches. type: array items: $ref: '#/components/schemas/AIGatewayServiceTierFactor' x-speakeasy-param-computed: true temperature: description: Controls randomness in the model output. Higher values produce more varied responses. type: number x-speakeasy-param-computed: false top_k: description: Limits the number of highest-probability tokens considered during generation. type: integer x-speakeasy-param-computed: false top_p: description: Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered. type: number x-speakeasy-param-computed: false upstream_url: description: The upstream URL for the model endpoint. type: string format: uri x-speakeasy-param-computed: false type: type: string const: dashscope international: description: Whether to use the international DashScope endpoint. type: boolean default: true required: - type x-unstable: true AIGatewayTargetDatabricksConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Databricks-specific configuration for a model. type: object properties: embeddings_dimensions: description: The number of dimensions for embedding outputs. type: integer x-speakeasy-param-computed: false max_tokens: description: The maximum number of tokens to generate in the response. type: integer x-speakeasy-param-computed: false input_cost: description: Cost per 1M input tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false output_cost: description: Cost per 1M output tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_read_cost: description: Cost per 1M cache-read (cached) prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost: description: Cost per 1M cache-write prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost_list: description: Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs. type: array items: $ref: '#/components/schemas/AIGatewayCacheWriteCost' x-speakeasy-param-computed: true context_window_factor: description: 'Above an input-token threshold, scale input and output pricing by the corresponding factor.' type: array items: $ref: '#/components/schemas/AIGatewayContextWindowFactor' x-speakeasy-param-computed: true service_tier_factor: description: Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches. type: array items: $ref: '#/components/schemas/AIGatewayServiceTierFactor' x-speakeasy-param-computed: true temperature: description: Controls randomness in the model output. Higher values produce more varied responses. type: number x-speakeasy-param-computed: false top_k: description: Limits the number of highest-probability tokens considered during generation. type: integer x-speakeasy-param-computed: false top_p: description: Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered. type: number x-speakeasy-param-computed: false upstream_url: description: The upstream URL for the model endpoint. type: string format: uri x-speakeasy-param-computed: false type: type: string const: databricks workspace_instance_id: description: The Databricks workspace instance ID. type: string required: - type - workspace_instance_id x-unstable: true AIGatewayTargetDeepseekConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Deepseek-specific configuration for a model. type: object properties: embeddings_dimensions: description: The number of dimensions for embedding outputs. type: integer x-speakeasy-param-computed: false max_tokens: description: The maximum number of tokens to generate in the response. type: integer x-speakeasy-param-computed: false input_cost: description: Cost per 1M input tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false output_cost: description: Cost per 1M output tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_read_cost: description: Cost per 1M cache-read (cached) prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost: description: Cost per 1M cache-write prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost_list: description: Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs. type: array items: $ref: '#/components/schemas/AIGatewayCacheWriteCost' x-speakeasy-param-computed: true context_window_factor: description: 'Above an input-token threshold, scale input and output pricing by the corresponding factor.' type: array items: $ref: '#/components/schemas/AIGatewayContextWindowFactor' x-speakeasy-param-computed: true service_tier_factor: description: Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches. type: array items: $ref: '#/components/schemas/AIGatewayServiceTierFactor' x-speakeasy-param-computed: true temperature: description: Controls randomness in the model output. Higher values produce more varied responses. type: number x-speakeasy-param-computed: false top_k: description: Limits the number of highest-probability tokens considered during generation. type: integer x-speakeasy-param-computed: false top_p: description: Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered. type: number x-speakeasy-param-computed: false upstream_url: description: The upstream URL for the model endpoint. type: string format: uri x-speakeasy-param-computed: false type: type: string const: deepseek required: - type x-unstable: true AIGatewayTargetGeminiConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Google Gemini-specific configuration for a model. type: object properties: embeddings_dimensions: description: The number of dimensions for embedding outputs. type: integer x-speakeasy-param-computed: false max_tokens: description: The maximum number of tokens to generate in the response. type: integer x-speakeasy-param-computed: false input_cost: description: Cost per 1M input tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false output_cost: description: Cost per 1M output tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_read_cost: description: Cost per 1M cache-read (cached) prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost: description: Cost per 1M cache-write prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost_list: description: Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs. type: array items: $ref: '#/components/schemas/AIGatewayCacheWriteCost' x-speakeasy-param-computed: true context_window_factor: description: 'Above an input-token threshold, scale input and output pricing by the corresponding factor.' type: array items: $ref: '#/components/schemas/AIGatewayContextWindowFactor' x-speakeasy-param-computed: true service_tier_factor: description: Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches. type: array items: $ref: '#/components/schemas/AIGatewayServiceTierFactor' x-speakeasy-param-computed: true temperature: description: Controls randomness in the model output. Higher values produce more varied responses. type: number x-speakeasy-param-computed: false top_k: description: Limits the number of highest-probability tokens considered during generation. type: integer x-speakeasy-param-computed: false top_p: description: Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered. type: number x-speakeasy-param-computed: false upstream_url: description: The upstream URL for the model endpoint. type: string format: uri x-speakeasy-param-computed: false type: type: string const: gemini gcp_environment: $ref: '#/components/schemas/GCPModelConfig' required: - type x-unstable: true AIGatewayTargetHuggingfaceConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Hugging Face-specific configuration for a model. type: object properties: embeddings_dimensions: description: The number of dimensions for embedding outputs. type: integer x-speakeasy-param-computed: false max_tokens: description: The maximum number of tokens to generate in the response. type: integer x-speakeasy-param-computed: false input_cost: description: Cost per 1M input tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false output_cost: description: Cost per 1M output tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_read_cost: description: Cost per 1M cache-read (cached) prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost: description: Cost per 1M cache-write prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost_list: description: Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs. type: array items: $ref: '#/components/schemas/AIGatewayCacheWriteCost' x-speakeasy-param-computed: true context_window_factor: description: 'Above an input-token threshold, scale input and output pricing by the corresponding factor.' type: array items: $ref: '#/components/schemas/AIGatewayContextWindowFactor' x-speakeasy-param-computed: true service_tier_factor: description: Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches. type: array items: $ref: '#/components/schemas/AIGatewayServiceTierFactor' x-speakeasy-param-computed: true temperature: description: Controls randomness in the model output. Higher values produce more varied responses. type: number x-speakeasy-param-computed: false top_k: description: Limits the number of highest-probability tokens considered during generation. type: integer x-speakeasy-param-computed: false top_p: description: Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered. type: number x-speakeasy-param-computed: false upstream_url: description: The upstream URL for the model endpoint. type: string format: uri x-speakeasy-param-computed: false type: type: string const: huggingface use_cache: description: Whether to use the Hugging Face inference cache. type: boolean default: false wait_for_model: description: Whether to wait for the model to load if it is not ready. type: boolean default: false required: - type x-unstable: true AIGatewayTargetKimiConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Kimi (Moonshot AI)-specific configuration for a model. type: object properties: embeddings_dimensions: description: The number of dimensions for embedding outputs. type: integer x-speakeasy-param-computed: false max_tokens: description: The maximum number of tokens to generate in the response. type: integer x-speakeasy-param-computed: false input_cost: description: Cost per 1M input tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false output_cost: description: Cost per 1M output tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_read_cost: description: Cost per 1M cache-read (cached) prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost: description: Cost per 1M cache-write prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost_list: description: Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs. type: array items: $ref: '#/components/schemas/AIGatewayCacheWriteCost' x-speakeasy-param-computed: true context_window_factor: description: 'Above an input-token threshold, scale input and output pricing by the corresponding factor.' type: array items: $ref: '#/components/schemas/AIGatewayContextWindowFactor' x-speakeasy-param-computed: true service_tier_factor: description: Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches. type: array items: $ref: '#/components/schemas/AIGatewayServiceTierFactor' x-speakeasy-param-computed: true temperature: description: Controls randomness in the model output. Higher values produce more varied responses. type: number x-speakeasy-param-computed: false top_k: description: Limits the number of highest-probability tokens considered during generation. type: integer x-speakeasy-param-computed: false top_p: description: Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered. type: number x-speakeasy-param-computed: false upstream_url: description: The upstream URL for the model endpoint. type: string format: uri x-speakeasy-param-computed: false type: type: string const: kimi international: description: | When `true`, requests are sent to `api.moonshot.ai` (international). When `false`, requests are sent to `api.moonshot.cn` (mainland China). type: boolean default: true required: - type x-unstable: true AIGatewayTargetLlama2Config: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Llama2-specific configuration for a model. type: object properties: embeddings_dimensions: description: The number of dimensions for embedding outputs. type: integer x-speakeasy-param-computed: false max_tokens: description: The maximum number of tokens to generate in the response. type: integer x-speakeasy-param-computed: false input_cost: description: Cost per 1M input tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false output_cost: description: Cost per 1M output tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_read_cost: description: Cost per 1M cache-read (cached) prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost: description: Cost per 1M cache-write prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost_list: description: Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs. type: array items: $ref: '#/components/schemas/AIGatewayCacheWriteCost' x-speakeasy-param-computed: true context_window_factor: description: 'Above an input-token threshold, scale input and output pricing by the corresponding factor.' type: array items: $ref: '#/components/schemas/AIGatewayContextWindowFactor' x-speakeasy-param-computed: true service_tier_factor: description: Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches. type: array items: $ref: '#/components/schemas/AIGatewayServiceTierFactor' x-speakeasy-param-computed: true temperature: description: Controls randomness in the model output. Higher values produce more varied responses. type: number x-speakeasy-param-computed: false top_k: description: Limits the number of highest-probability tokens considered during generation. type: integer x-speakeasy-param-computed: false top_p: description: Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered. type: number x-speakeasy-param-computed: false upstream_url: description: The upstream URL for the model endpoint. type: string format: uri x-speakeasy-param-computed: false type: type: string const: llama2 format: description: The request format to use when communicating with the Llama2 model. type: string enum: - ollama - openai - raw x-speakeasy-unknown-values: allow required: - type - format - upstream_url x-unstable: true AIGatewayTargetMistralConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Mistral-specific configuration for a model. type: object properties: embeddings_dimensions: description: The number of dimensions for embedding outputs. type: integer x-speakeasy-param-computed: false max_tokens: description: The maximum number of tokens to generate in the response. type: integer x-speakeasy-param-computed: false input_cost: description: Cost per 1M input tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false output_cost: description: Cost per 1M output tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_read_cost: description: Cost per 1M cache-read (cached) prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost: description: Cost per 1M cache-write prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost_list: description: Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs. type: array items: $ref: '#/components/schemas/AIGatewayCacheWriteCost' x-speakeasy-param-computed: true context_window_factor: description: 'Above an input-token threshold, scale input and output pricing by the corresponding factor.' type: array items: $ref: '#/components/schemas/AIGatewayContextWindowFactor' x-speakeasy-param-computed: true service_tier_factor: description: Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches. type: array items: $ref: '#/components/schemas/AIGatewayServiceTierFactor' x-speakeasy-param-computed: true temperature: description: Controls randomness in the model output. Higher values produce more varied responses. type: number x-speakeasy-param-computed: false top_k: description: Limits the number of highest-probability tokens considered during generation. type: integer x-speakeasy-param-computed: false top_p: description: Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered. type: number x-speakeasy-param-computed: false upstream_url: description: The upstream URL for the model endpoint. type: string format: uri x-speakeasy-param-computed: false type: type: string const: mistral format: description: The request format to use when communicating with the Mistral model. type: string enum: - ollama - openai x-speakeasy-unknown-values: allow required: - type - format x-unstable: true AIGatewayTargetOllamaConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Ollama-specific configuration for a model. type: object properties: embeddings_dimensions: description: The number of dimensions for embedding outputs. type: integer x-speakeasy-param-computed: false max_tokens: description: The maximum number of tokens to generate in the response. type: integer x-speakeasy-param-computed: false input_cost: description: Cost per 1M input tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false output_cost: description: Cost per 1M output tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_read_cost: description: Cost per 1M cache-read (cached) prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost: description: Cost per 1M cache-write prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost_list: description: Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs. type: array items: $ref: '#/components/schemas/AIGatewayCacheWriteCost' x-speakeasy-param-computed: true context_window_factor: description: 'Above an input-token threshold, scale input and output pricing by the corresponding factor.' type: array items: $ref: '#/components/schemas/AIGatewayContextWindowFactor' x-speakeasy-param-computed: true service_tier_factor: description: Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches. type: array items: $ref: '#/components/schemas/AIGatewayServiceTierFactor' x-speakeasy-param-computed: true temperature: description: Controls randomness in the model output. Higher values produce more varied responses. type: number x-speakeasy-param-computed: false top_k: description: Limits the number of highest-probability tokens considered during generation. type: integer x-speakeasy-param-computed: false top_p: description: Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered. type: number x-speakeasy-param-computed: false upstream_url: description: The upstream URL for the model endpoint. type: string format: uri x-speakeasy-param-computed: false type: type: string const: ollama required: - type x-unstable: true AIGatewayTargetOpenaiConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Openai-specific configuration for a model. type: object properties: embeddings_dimensions: description: The number of dimensions for embedding outputs. type: integer x-speakeasy-param-computed: false max_tokens: description: The maximum number of tokens to generate in the response. type: integer x-speakeasy-param-computed: false input_cost: description: Cost per 1M input tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false output_cost: description: Cost per 1M output tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_read_cost: description: Cost per 1M cache-read (cached) prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost: description: Cost per 1M cache-write prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost_list: description: Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs. type: array items: $ref: '#/components/schemas/AIGatewayCacheWriteCost' x-speakeasy-param-computed: true context_window_factor: description: 'Above an input-token threshold, scale input and output pricing by the corresponding factor.' type: array items: $ref: '#/components/schemas/AIGatewayContextWindowFactor' x-speakeasy-param-computed: true service_tier_factor: description: Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches. type: array items: $ref: '#/components/schemas/AIGatewayServiceTierFactor' x-speakeasy-param-computed: true temperature: description: Controls randomness in the model output. Higher values produce more varied responses. type: number x-speakeasy-param-computed: false top_k: description: Limits the number of highest-probability tokens considered during generation. type: integer x-speakeasy-param-computed: false top_p: description: Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered. type: number x-speakeasy-param-computed: false upstream_url: description: The upstream URL for the model endpoint. type: string format: uri x-speakeasy-param-computed: false type: type: string const: openai required: - type x-unstable: true AIGatewayTargetVercelConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Vercel AI Gateway-specific configuration for a model. type: object properties: embeddings_dimensions: description: The number of dimensions for embedding outputs. type: integer x-speakeasy-param-computed: false max_tokens: description: The maximum number of tokens to generate in the response. type: integer x-speakeasy-param-computed: false input_cost: description: Cost per 1M input tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false output_cost: description: Cost per 1M output tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_read_cost: description: Cost per 1M cache-read (cached) prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost: description: Cost per 1M cache-write prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost_list: description: Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs. type: array items: $ref: '#/components/schemas/AIGatewayCacheWriteCost' x-speakeasy-param-computed: true context_window_factor: description: 'Above an input-token threshold, scale input and output pricing by the corresponding factor.' type: array items: $ref: '#/components/schemas/AIGatewayContextWindowFactor' x-speakeasy-param-computed: true service_tier_factor: description: Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches. type: array items: $ref: '#/components/schemas/AIGatewayServiceTierFactor' x-speakeasy-param-computed: true temperature: description: Controls randomness in the model output. Higher values produce more varied responses. type: number x-speakeasy-param-computed: false top_k: description: Limits the number of highest-probability tokens considered during generation. type: integer x-speakeasy-param-computed: false top_p: description: Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered. type: number x-speakeasy-param-computed: false upstream_url: description: The upstream URL for the model endpoint. type: string format: uri x-speakeasy-param-computed: false type: type: string const: vercel required: - type x-unstable: true AIGatewayTargetVertexConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Google Vertex-specific configuration for a model. type: object properties: embeddings_dimensions: description: The number of dimensions for embedding outputs. type: integer x-speakeasy-param-computed: false max_tokens: description: The maximum number of tokens to generate in the response. type: integer x-speakeasy-param-computed: false input_cost: description: Cost per 1M input tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false output_cost: description: Cost per 1M output tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_read_cost: description: Cost per 1M cache-read (cached) prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost: description: Cost per 1M cache-write prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost_list: description: Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs. type: array items: $ref: '#/components/schemas/AIGatewayCacheWriteCost' x-speakeasy-param-computed: true context_window_factor: description: 'Above an input-token threshold, scale input and output pricing by the corresponding factor.' type: array items: $ref: '#/components/schemas/AIGatewayContextWindowFactor' x-speakeasy-param-computed: true service_tier_factor: description: Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches. type: array items: $ref: '#/components/schemas/AIGatewayServiceTierFactor' x-speakeasy-param-computed: true temperature: description: Controls randomness in the model output. Higher values produce more varied responses. type: number x-speakeasy-param-computed: false top_k: description: Limits the number of highest-probability tokens considered during generation. type: integer x-speakeasy-param-computed: false top_p: description: Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered. type: number x-speakeasy-param-computed: false upstream_url: description: The upstream URL for the model endpoint. type: string format: uri x-speakeasy-param-computed: false type: type: string const: vertex gcp_environment: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for a model hosted on Google Cloud Project. type: object default: null nullable: true properties: api_endpoint: description: The custom API endpoint for the Gemini model. type: string location_id: description: The Google Cloud location ID for the model endpoint. type: string project_id: description: The Google Cloud project ID for the model endpoint. type: string endpoint_id: description: | The endpoint ID for the model. This must be set when running a target model on Gemini on Vertex Model Garden. type: string default: null nullable: true x-speakeasy-param-computed: false required: - api_endpoint - location_id - project_id x-speakeasy-param-computed: false x-unstable: true required: - type x-unstable: true AIGatewayTargetVllmConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Vllm-specific configuration for a model. type: object properties: embeddings_dimensions: description: The number of dimensions for embedding outputs. type: integer x-speakeasy-param-computed: false max_tokens: description: The maximum number of tokens to generate in the response. type: integer x-speakeasy-param-computed: false input_cost: description: Cost per 1M input tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false output_cost: description: Cost per 1M output tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_read_cost: description: Cost per 1M cache-read (cached) prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost: description: Cost per 1M cache-write prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost_list: description: Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs. type: array items: $ref: '#/components/schemas/AIGatewayCacheWriteCost' x-speakeasy-param-computed: true context_window_factor: description: 'Above an input-token threshold, scale input and output pricing by the corresponding factor.' type: array items: $ref: '#/components/schemas/AIGatewayContextWindowFactor' x-speakeasy-param-computed: true service_tier_factor: description: Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches. type: array items: $ref: '#/components/schemas/AIGatewayServiceTierFactor' x-speakeasy-param-computed: true temperature: description: Controls randomness in the model output. Higher values produce more varied responses. type: number x-speakeasy-param-computed: false top_k: description: Limits the number of highest-probability tokens considered during generation. type: integer x-speakeasy-param-computed: false top_p: description: Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered. type: number x-speakeasy-param-computed: false upstream_url: description: The upstream URL for the model endpoint. type: string format: uri x-speakeasy-param-computed: false type: type: string const: vllm required: - type - upstream_url x-unstable: true AIGatewayTargetXaiConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Xai-specific configuration for a model. type: object properties: embeddings_dimensions: description: The number of dimensions for embedding outputs. type: integer x-speakeasy-param-computed: false max_tokens: description: The maximum number of tokens to generate in the response. type: integer x-speakeasy-param-computed: false input_cost: description: Cost per 1M input tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false output_cost: description: Cost per 1M output tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_read_cost: description: Cost per 1M cache-read (cached) prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost: description: Cost per 1M cache-write prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost_list: description: Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs. type: array items: $ref: '#/components/schemas/AIGatewayCacheWriteCost' x-speakeasy-param-computed: true context_window_factor: description: 'Above an input-token threshold, scale input and output pricing by the corresponding factor.' type: array items: $ref: '#/components/schemas/AIGatewayContextWindowFactor' x-speakeasy-param-computed: true service_tier_factor: description: Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches. type: array items: $ref: '#/components/schemas/AIGatewayServiceTierFactor' x-speakeasy-param-computed: true temperature: description: Controls randomness in the model output. Higher values produce more varied responses. type: number x-speakeasy-param-computed: false top_k: description: Limits the number of highest-probability tokens considered during generation. type: integer x-speakeasy-param-computed: false top_p: description: Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered. type: number x-speakeasy-param-computed: false upstream_url: description: The upstream URL for the model endpoint. type: string format: uri x-speakeasy-param-computed: false type: type: string const: xai required: - type x-unstable: true AIGatewayTargetSagemakerConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. AWS SageMaker-specific configuration for a model. type: object properties: embeddings_dimensions: description: The number of dimensions for embedding outputs. type: integer x-speakeasy-param-computed: false max_tokens: description: The maximum number of tokens to generate in the response. type: integer x-speakeasy-param-computed: false input_cost: description: Cost per 1M input tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false output_cost: description: Cost per 1M output tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_read_cost: description: Cost per 1M cache-read (cached) prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost: description: Cost per 1M cache-write prompt tokens for billing and cost tracking. type: number x-speakeasy-param-computed: false cache_write_cost_list: description: Per-cache-TTL cache-write pricing; overrides cache_write_cost per TTL. Configure this when the upstream provider charges differently for different cache TTLs. type: array items: $ref: '#/components/schemas/AIGatewayCacheWriteCost' x-speakeasy-param-computed: true context_window_factor: description: 'Above an input-token threshold, scale input and output pricing by the corresponding factor.' type: array items: $ref: '#/components/schemas/AIGatewayContextWindowFactor' x-speakeasy-param-computed: true service_tier_factor: description: Multiplier applied to the whole request for a service tier. The default factor is 1.0 when no tier matches. type: array items: $ref: '#/components/schemas/AIGatewayServiceTierFactor' x-speakeasy-param-computed: true temperature: description: Controls randomness in the model output. Higher values produce more varied responses. type: number x-speakeasy-param-computed: false top_k: description: Limits the number of highest-probability tokens considered during generation. type: integer x-speakeasy-param-computed: false top_p: description: Nucleus sampling probability mass. Tokens with cumulative probability up to top_p are considered. type: number x-speakeasy-param-computed: false upstream_url: description: The upstream URL for the model endpoint. type: string format: uri x-speakeasy-param-computed: false type: type: string const: sagemaker aws: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object default: null additionalProperties: false nullable: true properties: region: description: Overrides the AWS_REGION environment variable for SageMaker requests. type: string default: null nullable: true x-speakeasy-param-computed: false assume_role_arn: description: Assume a different IAM role after authenticating; mutually required with role_session_name. type: string default: null nullable: true x-speakeasy-param-computed: false role_session_name: description: Session identifier for the assumed role; mutually required with assume_role_arn. type: string default: null nullable: true x-speakeasy-param-computed: false sts_endpoint_url: description: Overrides the STS endpoint when assuming a role. type: string default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-unstable: true target: type: object default: null additionalProperties: false nullable: true properties: model: description: Sets the X-Amzn-SageMaker-Target-Model header (multi-model endpoints). type: string default: null nullable: true x-speakeasy-param-computed: false variant: description: Sets the X-Amzn-SageMaker-Target-Variant header (A/B variant testing). type: string default: null nullable: true x-speakeasy-param-computed: false container_hostname: description: Sets the X-Amzn-SageMaker-Target-Container-Hostname header (multi-container). type: string default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-param-computed: false required: - type x-unstable: true GCPModelConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for a model hosted on Google Cloud Project. type: object properties: api_endpoint: description: The custom API endpoint for the Gemini model. type: string location_id: description: The Google Cloud location ID for the model endpoint. type: string project_id: description: The Google Cloud project ID for the model endpoint. type: string required: - api_endpoint - location_id - project_id x-unstable: true AIGatewayACLS: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Access control rules. Configure exactly one of `allow` or `deny`. properties: allow: description: 'List of Consumer Groups Names, or Authenticated Groups Names that are permitted access.' type: array items: type: string x-speakeasy-param-computed: true deny: description: 'List of Consumer Groups Names, or Authenticated Groups Names that are denied access.' type: array items: type: string x-speakeasy-param-computed: true x-unstable: true AIGatewayAgentAccess: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Access control configuration for an agent. type: object properties: acls: $ref: '#/components/schemas/AIGatewayACLS' identity_providers: description: | List of identity providers for granting access to the agent. At most 1 identity provider of each identity provider type can be referenced. type: array items: $ref: '#/components/schemas/AIGatewayIdentityProviderReference' maxItems: 1 x-speakeasy-param-computed: true additionalProperties: false x-unstable: true AIGatewayModelAccess: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Access control configuration for a model. type: object properties: acls: $ref: '#/components/schemas/AIGatewayACLS' identity_providers: description: | List of identity providers for granting access to the model. At most 1 identity provider of each identity provider type can be referenced. type: array items: $ref: '#/components/schemas/AIGatewayIdentityProviderReference' x-speakeasy-param-computed: true additionalProperties: false x-unstable: true AIGatewayMCPACLs: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Access control rules for MCP resources. Configure `allow`, `deny`, or both. type: object properties: allow: description: List of consumer groups that are permitted access. type: array items: type: string x-speakeasy-param-computed: true deny: description: List of consumer groups that are denied access. type: array items: type: string x-speakeasy-param-computed: true example: allow: - gold-partner deny: - bronze-partner x-unstable: true AIGatewayPolicyReferences: description: List of policy references. type: array items: type: string description: Reference to a policy instance by name. KonnectConfigStoreVault: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this vault instance, used as a stable human-readable reference. This value is immutable after creation. The name is used to load the right Vault configuration and implementation when referencing secrets with the other entities. example: my-awesome-vault allOf: - $ref: '#/components/schemas/AIGatewayVaultName' x-unstable: true description: description: The description of the Vault. type: string example: This vault is used to retrieve redis database access credentials default: '' maxLength: 1024 labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' type: type: string const: konnect config: type: object additionalProperties: false properties: config_store_id: description: | The ID of the Konnect Config Store that contains the secrets. type: string example: 77426bee-2bca-4005-81af-284868fd3038 required: - config_store_id required: - name - type - config x-unstable: true EnvironmentVariableVault: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this vault instance, used as a stable human-readable reference. This value is immutable after creation. The name is used to load the right Vault configuration and implementation when referencing secrets with the other entities. example: my-awesome-vault allOf: - $ref: '#/components/schemas/AIGatewayVaultName' x-unstable: true description: description: The description of the Vault. type: string example: This vault is used to retrieve redis database access credentials default: '' maxLength: 1024 labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' type: type: string const: env config: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: base64_decode: description: | Decode all secrets in this vault as base64. Useful for binary data. If some of the secrets in the vault are not base64-encoded, an error will occur when using them. We recommend creating a separate vault for base64 secrets. type: boolean x-speakeasy-param-computed: true prefix: description: | The prefix for the environment variable that the value will be stored in. type: string example: MY_SECRET_ x-speakeasy-param-computed: false title: EnvironmentVariableVaultConfig x-unstable: true required: - name - type - config x-unstable: true AwsSecretsManagerVault: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this vault instance, used as a stable human-readable reference. This value is immutable after creation. The name is used to load the right Vault configuration and implementation when referencing secrets with the other entities. example: my-awesome-vault allOf: - $ref: '#/components/schemas/AIGatewayVaultName' x-unstable: true description: description: The description of the Vault. type: string example: This vault is used to retrieve redis database access credentials default: '' maxLength: 1024 labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' type: type: string const: aws config: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: base64_decode: description: | Decode all secrets in this vault as base64. Useful for binary data. If some of the secrets in the vault are not base64-encoded, an error will occur when using them. We recommend creating a separate vault for base64 secrets. type: boolean x-speakeasy-param-computed: true neg_ttl: description: | Time-to-live (in seconds) for caching failed secret lookups. A value of 0 disables negative caching. Kong will retry fetching the secret after neg_ttl expires. type: integer default: 0 resurrect_ttl: description: | Time (in seconds) that secrets remain in use after expiration (config.ttl ends). Useful if the vault is unreachable or the secret is deleted but not yet replaced. Kong continues to retry for resurrect_ttl seconds before giving up. The default is ~3 years to support uninterrupted service during outages. type: integer default: 100000000 ttl: description: | Time-to-live (in seconds) for a cached secret. A value of 0 disables rotation. For non-zero values, use a minimum of 60 seconds. type: integer default: 0 assume_role_arn: description: | The ARN of the role to assume when retrieving secrets from AWS Secrets Manager. type: string x-speakeasy-param-computed: false endpoint_url: description: | The endpoint URL of the AWS Secrets Manager service. If not specified, the default is https://secretsmanager.{region}.amazonaws.com. You can override this by specifying a complete URL including the http/https scheme. type: string x-speakeasy-param-computed: false region: description: The AWS region where your vault is located. type: string example: us-east-1 x-speakeasy-param-computed: false role_session_name: description: The session name used when assuming a role. type: string default: KongVault sts_endpoint_url: description: | A custom STS endpoint URL used for IAM role assumption. Overrides the default https://sts.amazonaws.com or regional variant https://sts.<region>.amazonaws.com. Include the full http/https scheme. Only specify this if using a private VPC endpoint for STS. type: string x-speakeasy-param-computed: false required: - role_session_name title: AwsSecretsManagerVaultConfig x-unstable: true required: - name - type - config x-unstable: true GoogleSecretManagerVault: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this vault instance, used as a stable human-readable reference. This value is immutable after creation. The name is used to load the right Vault configuration and implementation when referencing secrets with the other entities. example: my-awesome-vault allOf: - $ref: '#/components/schemas/AIGatewayVaultName' x-unstable: true description: description: The description of the Vault. type: string example: This vault is used to retrieve redis database access credentials default: '' maxLength: 1024 labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' type: type: string const: gcp config: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: base64_decode: description: | Decode all secrets in this vault as base64. Useful for binary data. If some of the secrets in the vault are not base64-encoded, an error will occur when using them. We recommend creating a separate vault for base64 secrets. type: boolean x-speakeasy-param-computed: true neg_ttl: description: | Time-to-live (in seconds) for caching failed secret lookups. A value of 0 disables negative caching. Kong will retry fetching the secret after neg_ttl expires. type: integer default: 0 resurrect_ttl: description: | Time (in seconds) that secrets remain in use after expiration (config.ttl ends). Useful if the vault is unreachable or the secret is deleted but not yet replaced. Kong continues to retry for resurrect_ttl seconds before giving up. The default is ~3 years to support uninterrupted service during outages. type: integer default: 100000000 ttl: description: | Time-to-live (in seconds) for a cached secret. A value of 0 disables rotation. For non-zero values, use a minimum of 60 seconds. type: integer default: 0 project_id: description: | The project ID from your Google API Console. You can find it by visiting your Google API Console and selecting “Manage all projects” in the projects list. type: string required: - project_id title: GoogleSecretManagerVaultConfig x-unstable: true required: - name - type - config x-unstable: true AzureKeyVault: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this vault instance, used as a stable human-readable reference. This value is immutable after creation. The name is used to load the right Vault configuration and implementation when referencing secrets with the other entities. example: my-awesome-vault allOf: - $ref: '#/components/schemas/AIGatewayVaultName' x-unstable: true description: description: The description of the Vault. type: string example: This vault is used to retrieve redis database access credentials default: '' maxLength: 1024 labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' type: type: string const: azure config: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: base64_decode: description: | Decode all secrets in this vault as base64. Useful for binary data. If some of the secrets in the vault are not base64-encoded, an error will occur when using them. We recommend creating a separate vault for base64 secrets. type: boolean x-speakeasy-param-computed: true neg_ttl: description: | Time-to-live (in seconds) for caching failed secret lookups. A value of 0 disables negative caching. Kong will retry fetching the secret after neg_ttl expires. type: integer default: 0 resurrect_ttl: description: | Time (in seconds) that secrets remain in use after expiration (config.ttl ends). Useful if the vault is unreachable or the secret is deleted but not yet replaced. Kong continues to retry for resurrect_ttl seconds before giving up. The default is ~3 years to support uninterrupted service during outages. type: integer default: 100000000 ttl: description: | Time-to-live (in seconds) for a cached secret. A value of 0 disables rotation. For non-zero values, use a minimum of 60 seconds. type: integer default: 0 credentials_prefix: description: | The prefix for the credentials stored in the Azure Key Vault. type: string default: AZURE vault_uri: description: | The URI from which the vault is reachable. This value can be found in your Azure Key Vault Dashboard under the Vault URI entry. type: string location: description: | Each Azure geography includes one or more regions that meet specific data residency and compliance requirements. type: string client_id: description: | The client ID for your registered application. You can find this in the Azure Dashboard under App Registrations. type: string x-speakeasy-param-computed: false tenant_id: description: | The DirectoryId and TenantId are the same: both refer to the GUID representing your Azure Active Directory tenant. Microsoft documentation and products may use either term depending on context. type: string x-speakeasy-param-computed: false type: type: string default: secrets enum: - secrets required: - vault_uri - location - type title: AzureKeyVaultConfig x-unstable: true required: - name - type - config x-unstable: true ConjurVault: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this vault instance, used as a stable human-readable reference. This value is immutable after creation. The name is used to load the right Vault configuration and implementation when referencing secrets with the other entities. example: my-awesome-vault allOf: - $ref: '#/components/schemas/AIGatewayVaultName' x-unstable: true description: description: The description of the Vault. type: string example: This vault is used to retrieve redis database access credentials default: '' maxLength: 1024 labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' type: type: string const: conjur config: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: base64_decode: description: | Decode all secrets in this vault as base64. Useful for binary data. If some of the secrets in the vault are not base64-encoded, an error will occur when using them. We recommend creating a separate vault for base64 secrets. type: boolean x-speakeasy-param-computed: true neg_ttl: description: | Time-to-live (in seconds) for caching failed secret lookups. A value of 0 disables negative caching. Kong will retry fetching the secret after neg_ttl expires. type: integer default: 0 resurrect_ttl: description: | Time (in seconds) that secrets remain in use after expiration (config.ttl ends). Useful if the vault is unreachable or the secret is deleted but not yet replaced. Kong continues to retry for resurrect_ttl seconds before giving up. The default is ~3 years to support uninterrupted service during outages. type: integer default: 100000000 ttl: description: | Time-to-live (in seconds) for a cached secret. A value of 0 disables rotation. For non-zero values, use a minimum of 60 seconds. type: integer default: 0 account: description: | The CyberArk Secrets Manager organization account name. type: string api_key: description: | The API key of the workload identity. type: string writeOnly: true x-speakeasy-param-computed: false endpoint_url: description: | The CyberArk Secrets Manager backend URL to connect with. Accepts http or https protocols. type: string login: description: | The login name of the workload identity. type: string required: - endpoint_url - login - account title: ConjurVaultConfig x-unstable: true required: - name - type - config x-unstable: true HashiCorpVault: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this vault instance, used as a stable human-readable reference. This value is immutable after creation. The name is used to load the right Vault configuration and implementation when referencing secrets with the other entities. example: my-awesome-vault allOf: - $ref: '#/components/schemas/AIGatewayVaultName' x-unstable: true description: description: The description of the Vault. type: string example: This vault is used to retrieve redis database access credentials default: '' maxLength: 1024 labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' type: type: string const: hcv config: $ref: '#/components/schemas/HashiCorpVaultConfig' required: - name - type - config x-unstable: true HashiCorpVaultConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an AI Gateway Vault. discriminator: propertyName: auth_method mapping: token: '#/components/schemas/HashiCorpVaultTokenConfig' cert: '#/components/schemas/HashiCorpVaultCertConfig' jwt: '#/components/schemas/HashiCorpVaultOauth2Config' approle: '#/components/schemas/HashiCorpVaultAppRoleConfig' kubernetes: '#/components/schemas/HashiCorpVaultKubernetesConfig' gcp_iam: '#/components/schemas/HashiCorpVaultGcpIAMConfig' gcp_gce: '#/components/schemas/HashiCorpVaultGcpGCEConfig' aws_ec2: '#/components/schemas/HashiCorpVaultAwsEC2Config' aws_iam: '#/components/schemas/HashiCorpVaultAwsIAMConfig' azure: '#/components/schemas/HashiCorpVaultAzureConfig' oneOf: - $ref: '#/components/schemas/HashiCorpVaultTokenConfig' - $ref: '#/components/schemas/HashiCorpVaultCertConfig' - $ref: '#/components/schemas/HashiCorpVaultOauth2Config' - $ref: '#/components/schemas/HashiCorpVaultAppRoleConfig' - $ref: '#/components/schemas/HashiCorpVaultKubernetesConfig' - $ref: '#/components/schemas/HashiCorpVaultGcpIAMConfig' - $ref: '#/components/schemas/HashiCorpVaultGcpGCEConfig' - $ref: '#/components/schemas/HashiCorpVaultAwsEC2Config' - $ref: '#/components/schemas/HashiCorpVaultAwsIAMConfig' - $ref: '#/components/schemas/HashiCorpVaultAzureConfig' title: HashiCorpVaultConfig x-unstable: true HashiCorpVaultTokenConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: base64_decode: description: | Decode all secrets in this vault as base64. Useful for binary data. If some of the secrets in the vault are not base64-encoded, an error will occur when using them. We recommend creating a separate vault for base64 secrets. type: boolean x-speakeasy-param-computed: true neg_ttl: description: | Time-to-live (in seconds) for caching failed secret lookups. A value of 0 disables negative caching. Kong will retry fetching the secret after neg_ttl expires. type: integer default: 0 resurrect_ttl: description: | Time (in seconds) that secrets remain in use after expiration (config.ttl ends). Useful if the vault is unreachable or the secret is deleted but not yet replaced. Kong continues to retry for resurrect_ttl seconds before giving up. The default is ~3 years to support uninterrupted service during outages. type: integer default: 100000000 ttl: description: | Time-to-live (in seconds) for a cached secret. A value of 0 disables rotation. For non-zero values, use a minimum of 60 seconds. type: integer default: 0 host: description: The hostname of your HashiCorp vault. type: string port: description: The port number of your HashiCorp vault. type: integer mount: description: The mount point. type: string default: secret kv: description: The secrets engine version. type: string default: v1 enum: - v1 - v2 x-speakeasy-unknown-values: allow protocol: description: The protocol to connect with. type: string default: https enum: - http - https x-speakeasy-unknown-values: allow ssl_verify: description: Whether to verify the TLS certificate of the vault when connecting. type: boolean default: true namespace: description: Namespace for the Vault. Vault Enterprise requires a namespace to connect successfully. type: string default: null nullable: true x-speakeasy-param-computed: false auth_method: type: string const: token token: description: The token string to be used for authentication. type: string default: null nullable: true writeOnly: true x-speakeasy-param-computed: false required: - host - port - mount - auth_method x-unstable: true HashiCorpVaultCertConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: base64_decode: description: | Decode all secrets in this vault as base64. Useful for binary data. If some of the secrets in the vault are not base64-encoded, an error will occur when using them. We recommend creating a separate vault for base64 secrets. type: boolean x-speakeasy-param-computed: true neg_ttl: description: | Time-to-live (in seconds) for caching failed secret lookups. A value of 0 disables negative caching. Kong will retry fetching the secret after neg_ttl expires. type: integer default: 0 resurrect_ttl: description: | Time (in seconds) that secrets remain in use after expiration (config.ttl ends). Useful if the vault is unreachable or the secret is deleted but not yet replaced. Kong continues to retry for resurrect_ttl seconds before giving up. The default is ~3 years to support uninterrupted service during outages. type: integer default: 100000000 ttl: description: | Time-to-live (in seconds) for a cached secret. A value of 0 disables rotation. For non-zero values, use a minimum of 60 seconds. type: integer default: 0 host: description: The hostname of your HashiCorp vault. type: string port: description: The port number of your HashiCorp vault. type: integer mount: description: The mount point. type: string default: secret kv: description: The secrets engine version. type: string default: v1 enum: - v1 - v2 x-speakeasy-unknown-values: allow protocol: description: The protocol to connect with. type: string default: https enum: - http - https x-speakeasy-unknown-values: allow ssl_verify: description: Whether to verify the TLS certificate of the vault when connecting. type: boolean default: true namespace: description: Namespace for the Vault. Vault Enterprise requires a namespace to connect successfully. type: string default: null nullable: true x-speakeasy-param-computed: false auth_method: type: string const: cert cert: description: The client certificate. type: string example: | -----BEGIN CERTIFICATE----- certificate-content -----END CERTIFICATE----- key: description: The key for the client certificate. type: string example: | -----BEGIN PRIVATE KEY----- private-key-content -----END PRIVATE KEY----- default: null nullable: true writeOnly: true x-speakeasy-param-computed: false role_name: description: The trusted certificate role name. type: string default: null nullable: true x-speakeasy-param-computed: false required: - host - port - mount - auth_method - cert x-unstable: true HashiCorpVaultOauth2Config: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: base64_decode: description: | Decode all secrets in this vault as base64. Useful for binary data. If some of the secrets in the vault are not base64-encoded, an error will occur when using them. We recommend creating a separate vault for base64 secrets. type: boolean x-speakeasy-param-computed: true neg_ttl: description: | Time-to-live (in seconds) for caching failed secret lookups. A value of 0 disables negative caching. Kong will retry fetching the secret after neg_ttl expires. type: integer default: 0 resurrect_ttl: description: | Time (in seconds) that secrets remain in use after expiration (config.ttl ends). Useful if the vault is unreachable or the secret is deleted but not yet replaced. Kong continues to retry for resurrect_ttl seconds before giving up. The default is ~3 years to support uninterrupted service during outages. type: integer default: 100000000 ttl: description: | Time-to-live (in seconds) for a cached secret. A value of 0 disables rotation. For non-zero values, use a minimum of 60 seconds. type: integer default: 0 host: description: The hostname of your HashiCorp vault. type: string port: description: The port number of your HashiCorp vault. type: integer mount: description: The mount point. type: string default: secret kv: description: The secrets engine version. type: string default: v1 enum: - v1 - v2 x-speakeasy-unknown-values: allow protocol: description: The protocol to connect with. type: string default: https enum: - http - https x-speakeasy-unknown-values: allow ssl_verify: description: Whether to verify the TLS certificate of the vault when connecting. type: boolean default: true namespace: description: Namespace for the Vault. Vault Enterprise requires a namespace to connect successfully. type: string default: null nullable: true x-speakeasy-param-computed: false auth_method: type: string const: jwt role: description: | The configured role name in HashiCorp Vault for JWT auth. When creating the role in HashiCorp Vault, make sure that the `role_type` is `jwt` and the `token_policies` have permissions to read the secrets. type: string example: demo token_endpoint: description: The OAuth2 token endpoint for Hashicorp Vault's OAuth2 auth method. type: string client_id: description: The OAuth2 client ID. type: string client_secret: description: The OAuth2 client secret. type: string default: null nullable: true writeOnly: true x-speakeasy-param-computed: false audiences: description: Comma-separated list of OAuth2 audiences. type: string default: null nullable: true x-speakeasy-param-computed: false required: - host - port - mount - auth_method - role - token_endpoint - client_id x-unstable: true HashiCorpVaultAppRoleConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: base64_decode: description: | Decode all secrets in this vault as base64. Useful for binary data. If some of the secrets in the vault are not base64-encoded, an error will occur when using them. We recommend creating a separate vault for base64 secrets. type: boolean x-speakeasy-param-computed: true neg_ttl: description: | Time-to-live (in seconds) for caching failed secret lookups. A value of 0 disables negative caching. Kong will retry fetching the secret after neg_ttl expires. type: integer default: 0 resurrect_ttl: description: | Time (in seconds) that secrets remain in use after expiration (config.ttl ends). Useful if the vault is unreachable or the secret is deleted but not yet replaced. Kong continues to retry for resurrect_ttl seconds before giving up. The default is ~3 years to support uninterrupted service during outages. type: integer default: 100000000 ttl: description: | Time-to-live (in seconds) for a cached secret. A value of 0 disables rotation. For non-zero values, use a minimum of 60 seconds. type: integer default: 0 host: description: The hostname of your HashiCorp vault. type: string port: description: The port number of your HashiCorp vault. type: integer mount: description: The mount point. type: string default: secret kv: description: The secrets engine version. type: string default: v1 enum: - v1 - v2 x-speakeasy-unknown-values: allow protocol: description: The protocol to connect with. type: string default: https enum: - http - https x-speakeasy-unknown-values: allow ssl_verify: description: Whether to verify the TLS certificate of the vault when connecting. type: boolean default: true namespace: description: Namespace for the Vault. Vault Enterprise requires a namespace to connect successfully. type: string default: null nullable: true x-speakeasy-param-computed: false auth_method: type: string const: approle path: description: | Path for enabling the AppRole auth method. Single leading/trailing slashes are trimmed. type: string default: approle response_wrapping: description: | Whether the secret ID is a response-wrapping token. When true, Kong unwraps the token to get the actual secret ID. Note: tokens can only be unwrapped once; distribute them individually to Kong nodes. type: boolean default: false role_id: description: | Specifies the AppRole role ID in HashiCorp Vault. Either `role_id` or `secret_id_file` must be set. type: string default: null nullable: true x-speakeasy-param-computed: false secret_id: description: Defines the AppRole’s secret ID in HashiCorp Vault. type: string default: null nullable: true x-speakeasy-param-computed: false secret_id_file: description: | Path to a file containing the AppRole secret ID. Either `role_id` or `secret_id_file` must be set. type: string default: null nullable: true x-speakeasy-param-computed: false required: - host - port - mount - auth_method x-unstable: true HashiCorpVaultKubernetesConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: base64_decode: description: | Decode all secrets in this vault as base64. Useful for binary data. If some of the secrets in the vault are not base64-encoded, an error will occur when using them. We recommend creating a separate vault for base64 secrets. type: boolean x-speakeasy-param-computed: true neg_ttl: description: | Time-to-live (in seconds) for caching failed secret lookups. A value of 0 disables negative caching. Kong will retry fetching the secret after neg_ttl expires. type: integer default: 0 resurrect_ttl: description: | Time (in seconds) that secrets remain in use after expiration (config.ttl ends). Useful if the vault is unreachable or the secret is deleted but not yet replaced. Kong continues to retry for resurrect_ttl seconds before giving up. The default is ~3 years to support uninterrupted service during outages. type: integer default: 100000000 ttl: description: | Time-to-live (in seconds) for a cached secret. A value of 0 disables rotation. For non-zero values, use a minimum of 60 seconds. type: integer default: 0 host: description: The hostname of your HashiCorp vault. type: string port: description: The port number of your HashiCorp vault. type: integer mount: description: The mount point. type: string default: secret kv: description: The secrets engine version. type: string default: v1 enum: - v1 - v2 x-speakeasy-unknown-values: allow protocol: description: The protocol to connect with. type: string default: https enum: - http - https x-speakeasy-unknown-values: allow ssl_verify: description: Whether to verify the TLS certificate of the vault when connecting. type: boolean default: true namespace: description: Namespace for the Vault. Vault Enterprise requires a namespace to connect successfully. type: string default: null nullable: true x-speakeasy-param-computed: false auth_method: type: string const: kubernetes role: description: | Role assigned to the Kubernetes service account. type: string default: null nullable: true x-speakeasy-param-computed: false path: description: | Path for enabling the Kubernetes auth method. Single leading/trailing slashes are trimmed. type: string default: kubernetes api_token_file: description: | Path to the Kubernetes service account token file. type: string default: /run/secrets/kubernetes.io/serviceaccount/token required: - host - port - mount - auth_method x-unstable: true HashiCorpVaultGcpIAMConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: base64_decode: description: | Decode all secrets in this vault as base64. Useful for binary data. If some of the secrets in the vault are not base64-encoded, an error will occur when using them. We recommend creating a separate vault for base64 secrets. type: boolean x-speakeasy-param-computed: true neg_ttl: description: | Time-to-live (in seconds) for caching failed secret lookups. A value of 0 disables negative caching. Kong will retry fetching the secret after neg_ttl expires. type: integer default: 0 resurrect_ttl: description: | Time (in seconds) that secrets remain in use after expiration (config.ttl ends). Useful if the vault is unreachable or the secret is deleted but not yet replaced. Kong continues to retry for resurrect_ttl seconds before giving up. The default is ~3 years to support uninterrupted service during outages. type: integer default: 100000000 ttl: description: | Time-to-live (in seconds) for a cached secret. A value of 0 disables rotation. For non-zero values, use a minimum of 60 seconds. type: integer default: 0 host: description: The hostname of your HashiCorp vault. type: string port: description: The port number of your HashiCorp vault. type: integer mount: description: The mount point. type: string default: secret kv: description: The secrets engine version. type: string default: v1 enum: - v1 - v2 x-speakeasy-unknown-values: allow protocol: description: The protocol to connect with. type: string default: https enum: - http - https x-speakeasy-unknown-values: allow ssl_verify: description: Whether to verify the TLS certificate of the vault when connecting. type: boolean default: true namespace: description: Namespace for the Vault. Vault Enterprise requires a namespace to connect successfully. type: string default: null nullable: true x-speakeasy-param-computed: false auth_method: type: string const: gcp_iam role: description: The role to use for GCP IAM auth. type: string service_account: description: The GCP service account for GCE auth. type: string jwt_exp: description: The JWT expiration time in seconds for GCP auth (0-900) type: integer maximum: 900 minimum: 0 required: - host - port - mount - auth_method - role - service_account - jwt_exp x-unstable: true HashiCorpVaultGcpGCEConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: base64_decode: description: | Decode all secrets in this vault as base64. Useful for binary data. If some of the secrets in the vault are not base64-encoded, an error will occur when using them. We recommend creating a separate vault for base64 secrets. type: boolean x-speakeasy-param-computed: true neg_ttl: description: | Time-to-live (in seconds) for caching failed secret lookups. A value of 0 disables negative caching. Kong will retry fetching the secret after neg_ttl expires. type: integer default: 0 resurrect_ttl: description: | Time (in seconds) that secrets remain in use after expiration (config.ttl ends). Useful if the vault is unreachable or the secret is deleted but not yet replaced. Kong continues to retry for resurrect_ttl seconds before giving up. The default is ~3 years to support uninterrupted service during outages. type: integer default: 100000000 ttl: description: | Time-to-live (in seconds) for a cached secret. A value of 0 disables rotation. For non-zero values, use a minimum of 60 seconds. type: integer default: 0 host: description: The hostname of your HashiCorp vault. type: string port: description: The port number of your HashiCorp vault. type: integer mount: description: The mount point. type: string default: secret kv: description: The secrets engine version. type: string default: v1 enum: - v1 - v2 x-speakeasy-unknown-values: allow protocol: description: The protocol to connect with. type: string default: https enum: - http - https x-speakeasy-unknown-values: allow ssl_verify: description: Whether to verify the TLS certificate of the vault when connecting. type: boolean default: true namespace: description: Namespace for the Vault. Vault Enterprise requires a namespace to connect successfully. type: string default: null nullable: true x-speakeasy-param-computed: false auth_method: type: string const: gcp_gce role: description: The role to use for GCP GCE auth. type: string login_path: description: The login path for GCP auth in HashiCorp Vault. type: string default: /v1/auth/gcp/login required: - host - port - mount - auth_method - role x-unstable: true HashiCorpVaultAzureConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: base64_decode: description: | Decode all secrets in this vault as base64. Useful for binary data. If some of the secrets in the vault are not base64-encoded, an error will occur when using them. We recommend creating a separate vault for base64 secrets. type: boolean x-speakeasy-param-computed: true neg_ttl: description: | Time-to-live (in seconds) for caching failed secret lookups. A value of 0 disables negative caching. Kong will retry fetching the secret after neg_ttl expires. type: integer default: 0 resurrect_ttl: description: | Time (in seconds) that secrets remain in use after expiration (config.ttl ends). Useful if the vault is unreachable or the secret is deleted but not yet replaced. Kong continues to retry for resurrect_ttl seconds before giving up. The default is ~3 years to support uninterrupted service during outages. type: integer default: 100000000 ttl: description: | Time-to-live (in seconds) for a cached secret. A value of 0 disables rotation. For non-zero values, use a minimum of 60 seconds. type: integer default: 0 host: description: The hostname of your HashiCorp vault. type: string port: description: The port number of your HashiCorp vault. type: integer mount: description: The mount point. type: string default: secret kv: description: The secrets engine version. type: string default: v1 enum: - v1 - v2 x-speakeasy-unknown-values: allow protocol: description: The protocol to connect with. type: string default: https enum: - http - https x-speakeasy-unknown-values: allow ssl_verify: description: Whether to verify the TLS certificate of the vault when connecting. type: boolean default: true namespace: description: Namespace for the Vault. Vault Enterprise requires a namespace to connect successfully. type: string default: null nullable: true x-speakeasy-param-computed: false auth_method: type: string const: azure role: description: The role to use for Azure auth. type: string login_path: description: The login path for Azure auth in HashiCorp Vault type: string default: /v1/auth/azure/login required: - host - port - mount - auth_method - role x-unstable: true HashiCorpVaultAwsEC2Config: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: base64_decode: description: | Decode all secrets in this vault as base64. Useful for binary data. If some of the secrets in the vault are not base64-encoded, an error will occur when using them. We recommend creating a separate vault for base64 secrets. type: boolean x-speakeasy-param-computed: true neg_ttl: description: | Time-to-live (in seconds) for caching failed secret lookups. A value of 0 disables negative caching. Kong will retry fetching the secret after neg_ttl expires. type: integer default: 0 resurrect_ttl: description: | Time (in seconds) that secrets remain in use after expiration (config.ttl ends). Useful if the vault is unreachable or the secret is deleted but not yet replaced. Kong continues to retry for resurrect_ttl seconds before giving up. The default is ~3 years to support uninterrupted service during outages. type: integer default: 100000000 ttl: description: | Time-to-live (in seconds) for a cached secret. A value of 0 disables rotation. For non-zero values, use a minimum of 60 seconds. type: integer default: 0 host: description: The hostname of your HashiCorp vault. type: string port: description: The port number of your HashiCorp vault. type: integer mount: description: The mount point. type: string default: secret kv: description: The secrets engine version. type: string default: v1 enum: - v1 - v2 x-speakeasy-unknown-values: allow protocol: description: The protocol to connect with. type: string default: https enum: - http - https x-speakeasy-unknown-values: allow ssl_verify: description: Whether to verify the TLS certificate of the vault when connecting. type: boolean default: true namespace: description: Namespace for the Vault. Vault Enterprise requires a namespace to connect successfully. type: string default: null nullable: true x-speakeasy-param-computed: false auth_method: type: string const: aws_ec2 role: description: The role to use for AWS EC2 auth. type: string nonce: description: The nonce for AWS EC2 auth. type: string login_path: description: The login path for AWS auth in HashiCorp Vault. type: string default: /v1/auth/aws/login required: - host - port - mount - auth_method - role - nonce x-unstable: true HashiCorpVaultAwsIAMConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: base64_decode: description: | Decode all secrets in this vault as base64. Useful for binary data. If some of the secrets in the vault are not base64-encoded, an error will occur when using them. We recommend creating a separate vault for base64 secrets. type: boolean x-speakeasy-param-computed: true neg_ttl: description: | Time-to-live (in seconds) for caching failed secret lookups. A value of 0 disables negative caching. Kong will retry fetching the secret after neg_ttl expires. type: integer default: 0 resurrect_ttl: description: | Time (in seconds) that secrets remain in use after expiration (config.ttl ends). Useful if the vault is unreachable or the secret is deleted but not yet replaced. Kong continues to retry for resurrect_ttl seconds before giving up. The default is ~3 years to support uninterrupted service during outages. type: integer default: 100000000 ttl: description: | Time-to-live (in seconds) for a cached secret. A value of 0 disables rotation. For non-zero values, use a minimum of 60 seconds. type: integer default: 0 host: description: The hostname of your HashiCorp vault. type: string port: description: The port number of your HashiCorp vault. type: integer mount: description: The mount point. type: string default: secret kv: description: The secrets engine version. type: string default: v1 enum: - v1 - v2 x-speakeasy-unknown-values: allow protocol: description: The protocol to connect with. type: string default: https enum: - http - https x-speakeasy-unknown-values: allow ssl_verify: description: Whether to verify the TLS certificate of the vault when connecting. type: boolean default: true namespace: description: Namespace for the Vault. Vault Enterprise requires a namespace to connect successfully. type: string default: null nullable: true x-speakeasy-param-computed: false auth_method: type: string const: aws_iam role: description: The role to use for AWS IAM auth. type: string region: description: The AWS region for auth. type: string login_path: description: The login path for AWS auth in HashiCorp Vault. type: string default: /v1/auth/aws/login access_key_id: description: | The AWS access key ID for IAM auth. If not provided, the default credentials provider chain is used. If set, `secret_access_key` must also be set. type: string default: null nullable: true x-speakeasy-param-computed: false secret_access_key: description: | The AWS secret access key for IAM auth. If not provided, the default credentials provider chain is used. If set, `access_key_id` must also be set. type: string default: null nullable: true writeOnly: true x-speakeasy-param-computed: false sts_endpoint_url: description: | The AWS STS endpoint URL used by Kong Gateway when signing the GetCallerIdentity request for AWS IAM authentication. If not provided, defaults to the standard STS endpoint for the specified region. This setting only affects the STS endpoint that Kong Gateway itself contacts - it does not influence which STS endpoint HashiCorp Vault uses on its side. type: string default: null nullable: true x-speakeasy-param-computed: false assume_role_arn: description: | The ARN of the role to assume for AWS IAM authentication. If set, `role_session_name` must also be set. type: string default: null nullable: true x-speakeasy-param-computed: false role_session_name: description: | The session name to use when assuming a role for AWS IAM authentication. If set, `assume_role_arn` must also be set. type: string default: null nullable: true x-speakeasy-param-computed: false required: - host - port - mount - auth_method - role - region x-unstable: true CreateAIGatewayVaultRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an AI Gateway Vault. discriminator: propertyName: type mapping: konnect: '#/components/schemas/KonnectConfigStoreVault' env: '#/components/schemas/EnvironmentVariableVault' aws: '#/components/schemas/AwsSecretsManagerVault' gcp: '#/components/schemas/GoogleSecretManagerVault' azure: '#/components/schemas/AzureKeyVault' conjur: '#/components/schemas/ConjurVault' hcv: '#/components/schemas/HashiCorpVault' oneOf: - $ref: '#/components/schemas/KonnectConfigStoreVault' - $ref: '#/components/schemas/EnvironmentVariableVault' - $ref: '#/components/schemas/AwsSecretsManagerVault' - $ref: '#/components/schemas/GoogleSecretManagerVault' - $ref: '#/components/schemas/AzureKeyVault' - $ref: '#/components/schemas/ConjurVault' - $ref: '#/components/schemas/HashiCorpVault' x-unstable: true UpdateAIGatewayVaultRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an AI Gateway Vault. discriminator: propertyName: type mapping: konnect: '#/components/schemas/KonnectConfigStoreVault' env: '#/components/schemas/EnvironmentVariableVault' aws: '#/components/schemas/AwsSecretsManagerVault' gcp: '#/components/schemas/GoogleSecretManagerVault' azure: '#/components/schemas/AzureKeyVault' conjur: '#/components/schemas/ConjurVault' hcv: '#/components/schemas/HashiCorpVault' oneOf: - $ref: '#/components/schemas/KonnectConfigStoreVault' - $ref: '#/components/schemas/EnvironmentVariableVault' - $ref: '#/components/schemas/AwsSecretsManagerVault' - $ref: '#/components/schemas/GoogleSecretManagerVault' - $ref: '#/components/schemas/AzureKeyVault' - $ref: '#/components/schemas/ConjurVault' - $ref: '#/components/schemas/HashiCorpVault' x-unstable: true AIGatewayVault: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an AI Gateway Vault. type: object properties: id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' discriminator: propertyName: type mapping: konnect: '#/components/schemas/KonnectConfigStoreVault' env: '#/components/schemas/EnvironmentVariableVault' aws: '#/components/schemas/AwsSecretsManagerVault' gcp: '#/components/schemas/GoogleSecretManagerVault' azure: '#/components/schemas/AzureKeyVault' conjur: '#/components/schemas/ConjurVault' hcv: '#/components/schemas/HashiCorpVault' oneOf: - $ref: '#/components/schemas/KonnectConfigStoreVault' - $ref: '#/components/schemas/EnvironmentVariableVault' - $ref: '#/components/schemas/AwsSecretsManagerVault' - $ref: '#/components/schemas/GoogleSecretManagerVault' - $ref: '#/components/schemas/AzureKeyVault' - $ref: '#/components/schemas/ConjurVault' - $ref: '#/components/schemas/HashiCorpVault' required: - id - created_at - updated_at x-unstable: true CreateAIGatewayPolicyRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: display_name: description: The display name for this policy instance. type: string example: My Cool AI PII Sanitizer Policy maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this policy instance, used as a stable human-readable reference. This value is immutable after creation. example: ai-pii-sanitizer-1234 allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true type: description: | The type of the Policy. This is equivalent to the Kong 3 plugin name. Some examples are: 'ai-sanitizer', 'ai-prompt-guard', and 'rate-limiting'. Note: Plugins have been renamed to Policies in Kong AI Gateway. Policy types and configuration documentation can be found in the [Developer Docs](https://developer.konghq.com/plugins/). type: string example: ai-sanitizer enabled: description: Whether the policy is enabled. type: boolean example: true default: true global: description: Whether the policy is globally applied to all resources. type: boolean example: false default: false config: description: | Configuration for the policy. This is equivalent to the Kong 3 plugin configuration. Note: Plugins have been renamed to Policies in Kong AI Gateway. Policy types and configuration documentation can be found in the [Developer Docs](https://developer.konghq.com/plugins/). type: object example: anonymize: - phone - creditcard stop_on_error: true additionalProperties: true x-speakeasy-type-override: any labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' additionalProperties: false required: - display_name - name - type - config x-unstable: true UpdateAIGatewayPolicyRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: display_name: description: The display name for this policy instance. type: string example: My Cool AI PII Sanitizer Policy maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this policy instance, used as a stable human-readable reference. This value is immutable after creation. example: ai-pii-sanitizer-1234 allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true type: description: | The type of the Policy. This is equivalent to the Kong 3 plugin name. Some examples are: 'ai-sanitizer', 'ai-prompt-guard', and 'rate-limiting'. Note: Plugins have been renamed to Policies in Kong AI Gateway. Policy types and configuration documentation can be found in the [Developer Docs](https://developer.konghq.com/plugins/). type: string example: ai-sanitizer enabled: description: Whether the policy is enabled. type: boolean example: true default: true global: description: Whether the policy is globally applied to all resources. type: boolean example: false default: false config: description: | Configuration for the policy. This is equivalent to the Kong 3 plugin configuration. Note: Plugins have been renamed to Policies in Kong AI Gateway. Policy types and configuration documentation can be found in the [Developer Docs](https://developer.konghq.com/plugins/). type: object example: anonymize: - phone - creditcard stop_on_error: true additionalProperties: true x-speakeasy-type-override: any labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' additionalProperties: false required: - display_name - name - type - config x-unstable: true AIGatewayPolicy: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: display_name: description: The display name for this policy instance. type: string example: My Cool AI PII Sanitizer Policy maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this policy instance, used as a stable human-readable reference. This value is immutable after creation. example: ai-pii-sanitizer-1234 allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true type: description: | The type of the Policy. This is equivalent to the Kong 3 plugin name. Some examples are: 'ai-sanitizer', 'ai-prompt-guard', and 'rate-limiting'. Note: Plugins have been renamed to Policies in Kong AI Gateway. Policy types and configuration documentation can be found in the [Developer Docs](https://developer.konghq.com/plugins/). type: string example: ai-sanitizer enabled: description: Whether the policy is enabled. type: boolean example: true default: true global: description: Whether the policy is globally applied to all resources. type: boolean example: false default: false config: description: | Configuration for the policy. This is equivalent to the Kong 3 plugin configuration. Note: Plugins have been renamed to Policies in Kong AI Gateway. Policy types and configuration documentation can be found in the [Developer Docs](https://developer.konghq.com/plugins/). type: object example: anonymize: - phone - creditcard stop_on_error: true additionalProperties: true x-speakeasy-type-override: any labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - display_name - name - type - config - id - created_at - updated_at x-unstable: true CreateAIGatewayAgentRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: display_name: description: The display name for this agent. type: string example: Kong Air Flight Booking Agent maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this agent, used as a stable human-readable reference. This value is immutable after creation. example: kongair-flight-booking-agent allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true enabled: description: Whether the Agent is enabled. type: boolean example: true default: true type: description: The type of the agent. type: string example: a2a enum: - a2a - http x-speakeasy-unknown-values: allow policies: $ref: '#/components/schemas/AIGatewayPolicyReferences' access: $ref: '#/components/schemas/AIGatewayAgentAccess' config: description: Configuration for the agent. The structure varies depending on the agent type. type: object additionalProperties: false properties: url: description: | Helper field to set protocol, host, port and path of the upstream A2A Agent using a URL. This is the same as a Kong Gateway Service URL: ${scheme}://${host}:${port}/${path} type: string format: uri example: 'https://booking-agent.internal.kongair.com' upstream: $ref: '#/components/schemas/AIGatewayUpstreamConfig' route: $ref: '#/components/schemas/AIGatewayRouteConfig' proxy: $ref: '#/components/schemas/AIGatewayProxyConfig' max_request_body_size: description: Maximum size of request body to parse. Set to 0 for unlimited. type: integer default: 8388608 logging: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for AI Gateway logging. type: object additionalProperties: false properties: payloads: type: boolean default: false max_payload_size: description: Maximum size in bytes for logged request/response payloads. Payloads exceeding this size will be truncated. type: integer example: 524288 default: 1048576 x-speakeasy-param-computed: true x-unstable: true required: - url labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' additionalProperties: false required: - display_name - name - type - config x-unstable: true UpdateAIGatewayAgentRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: display_name: description: The display name for this agent. type: string example: Kong Air Flight Booking Agent maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this agent, used as a stable human-readable reference. This value is immutable after creation. example: kongair-flight-booking-agent allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true enabled: description: Whether the Agent is enabled. type: boolean example: true default: true type: description: The type of the agent. type: string example: a2a enum: - a2a - http x-speakeasy-unknown-values: allow policies: $ref: '#/components/schemas/AIGatewayPolicyReferences' access: $ref: '#/components/schemas/AIGatewayAgentAccess' config: description: Configuration for the agent. The structure varies depending on the agent type. type: object additionalProperties: false properties: url: description: | Helper field to set protocol, host, port and path of the upstream A2A Agent using a URL. This is the same as a Kong Gateway Service URL: ${scheme}://${host}:${port}/${path} type: string format: uri example: 'https://booking-agent.internal.kongair.com' upstream: $ref: '#/components/schemas/AIGatewayUpstreamConfig' route: $ref: '#/components/schemas/AIGatewayRouteConfig' proxy: $ref: '#/components/schemas/AIGatewayProxyConfig' max_request_body_size: description: Maximum size of request body to parse. Set to 0 for unlimited. type: integer default: 8388608 logging: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for AI Gateway logging. type: object additionalProperties: false properties: payloads: type: boolean default: false max_payload_size: description: Maximum size in bytes for logged request/response payloads. Payloads exceeding this size will be truncated. type: integer example: 524288 default: 1048576 x-speakeasy-param-computed: true x-unstable: true required: - url labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' additionalProperties: false required: - display_name - name - type - config x-unstable: true AIGatewayAgent: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: display_name: description: The display name for this agent. type: string example: Kong Air Flight Booking Agent maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this agent, used as a stable human-readable reference. This value is immutable after creation. example: kongair-flight-booking-agent allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true enabled: description: Whether the Agent is enabled. type: boolean example: true default: true type: description: The type of the agent. type: string example: a2a enum: - a2a - http x-speakeasy-unknown-values: allow policies: $ref: '#/components/schemas/AIGatewayPolicyReferences' access: $ref: '#/components/schemas/AIGatewayAgentAccess' config: description: Configuration for the agent. The structure varies depending on the agent type. type: object additionalProperties: false properties: url: description: | Helper field to set protocol, host, port and path of the upstream A2A Agent using a URL. This is the same as a Kong Gateway Service URL: ${scheme}://${host}:${port}/${path} type: string format: uri example: 'https://booking-agent.internal.kongair.com' upstream: $ref: '#/components/schemas/AIGatewayUpstreamConfig' route: $ref: '#/components/schemas/AIGatewayRouteConfig' proxy: $ref: '#/components/schemas/AIGatewayProxyConfig' max_request_body_size: description: Maximum size of request body to parse. Set to 0 for unlimited. type: integer default: 8388608 logging: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for AI Gateway logging. type: object additionalProperties: false properties: payloads: type: boolean default: false max_payload_size: description: Maximum size in bytes for logged request/response payloads. Payloads exceeding this size will be truncated. type: integer example: 524288 default: 1048576 x-speakeasy-param-computed: true x-unstable: true required: - url labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - display_name - name - type - config - id - created_at - updated_at x-unstable: true CreateAIGatewayConsumerRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an AI Gateway Consumer. type: object properties: display_name: description: The display name for this consumer instance. type: string example: Greg's Dev Consumer maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this consumer, used as a stable human-readable reference. This value is immutable after creation. example: gregs-dev-consumer allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true type: description: The type of the consumer. type: string enum: - api-key - oauth x-speakeasy-unknown-values: allow custom_id: description: Identifier for mapping the consumer when using OAuth authentication. type: string example: dev-users x-speakeasy-param-computed: false policies: $ref: '#/components/schemas/AIGatewayPolicyReferences' labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' additionalProperties: false required: - display_name - name - type x-unstable: true UpdateAIGatewayConsumerRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an AI Gateway Consumer. type: object properties: display_name: description: The display name for this consumer instance. type: string example: Greg's Dev Consumer maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this consumer, used as a stable human-readable reference. This value is immutable after creation. example: gregs-dev-consumer allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true type: description: The type of the consumer. type: string enum: - api-key - oauth x-speakeasy-unknown-values: allow custom_id: description: Identifier for mapping the consumer when using OAuth authentication. type: string example: dev-users x-speakeasy-param-computed: false policies: $ref: '#/components/schemas/AIGatewayPolicyReferences' labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' additionalProperties: false required: - display_name - name - type x-unstable: true AIGatewayConsumer: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an AI Gateway Consumer. type: object properties: display_name: description: The display name for this consumer instance. type: string example: Greg's Dev Consumer maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this consumer, used as a stable human-readable reference. This value is immutable after creation. example: gregs-dev-consumer allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true type: description: The type of the consumer. type: string enum: - api-key - oauth x-speakeasy-unknown-values: allow custom_id: description: Identifier for mapping the consumer when using OAuth authentication. type: string example: dev-users x-speakeasy-param-computed: false policies: $ref: '#/components/schemas/AIGatewayPolicyReferences' labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - display_name - name - type - id - created_at - updated_at x-unstable: true AIGatewayConsumerCredential: type: object properties: display_name: description: The display name for this credential instance. type: string example: Greg's Dev Key name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this credential, used as a stable human-readable reference. This value is immutable after creation. example: gregs-dev-key allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' type: type: string example: api-key enum: - api-key ttl: description: The API Key's time-to-live in seconds. A value of 0 means the API Key never expires. type: integer example: 86400 default: 0 id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - display_name - name - type - id - created_at - updated_at AIGatewayConsumerCredentialWithKey: type: object properties: display_name: description: The display name for this credential instance. type: string example: Greg's Dev Key name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this credential, used as a stable human-readable reference. This value is immutable after creation. example: gregs-dev-key allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' type: type: string example: api-key enum: - api-key ttl: description: The API Key's time-to-live in seconds. A value of 0 means the API Key never expires. type: integer example: 86400 default: 0 api_key: description: 'The API Key value. If not provided, then the key will be auto generated by the server and returned in the response.' type: string example: sk-387788hd3xnej id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - display_name - name - id - created_at - updated_at - type - api_key CreateAIGatewayConsumerCredentialRequest: type: object properties: display_name: description: The display name for this credential instance. type: string example: Greg's Dev Key name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this credential, used as a stable human-readable reference. This value is immutable after creation. example: gregs-dev-key allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' type: type: string example: api-key enum: - api-key ttl: description: The API Key's time-to-live in seconds. A value of 0 means the API Key never expires. type: integer example: 86400 default: 0 api_key: description: 'The API Key value. If not provided, then the key will be auto generated by the server and returned in the response.' type: string example: sk-387788hd3xnej writeOnly: true x-speakeasy-param-computed: true additionalProperties: false required: - display_name - name - type CreateAIGatewayConsumerGroupRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: display_name: description: The display name for this consumer group instance. type: string example: Dev Users Group maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this consumer group, used as a stable human-readable reference. This value is immutable after creation. example: dev-users allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true policies: $ref: '#/components/schemas/AIGatewayPolicyReferences' labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' additionalProperties: false required: - display_name - name x-unstable: true UpdateAIGatewayConsumerGroupRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: display_name: description: The display name for this consumer group instance. type: string example: Dev Users Group maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this consumer group, used as a stable human-readable reference. This value is immutable after creation. example: dev-users allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true policies: $ref: '#/components/schemas/AIGatewayPolicyReferences' labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' additionalProperties: false required: - display_name - name x-unstable: true AddAIGatewayConsumerToGroupRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. properties: consumer: description: The ID of the consumer to add to the group. type: string example: cf4c7e60-11db-49dd-b300-7c7e5f0f7e6b x-speakeasy-name-override: consumer_id additionalProperties: false required: - consumer x-unstable: true AIGatewayConsumerGroup: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: display_name: description: The display name for this consumer group instance. type: string example: Dev Users Group maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this consumer group, used as a stable human-readable reference. This value is immutable after creation. example: dev-users allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true policies: $ref: '#/components/schemas/AIGatewayPolicyReferences' labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - display_name - name - id - created_at - updated_at x-unstable: true AIGatewayMCPServerConversionOnly: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: type: type: string const: conversion-only config: $ref: '#/components/schemas/AIGatewayMCPServerWithUpstreamNoProxyConfigNoServerConfig' tools: description: List of tools exposed by this MCP Server. type: array items: $ref: '#/components/schemas/AIGatewayMCPConversionTool' x-speakeasy-param-computed: true display_name: description: The display name for the MCP Server. type: string example: Kong Air Flights maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this MCP server, used as a stable human-readable reference. This value is immutable after creation. example: kongair-flights allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true enabled: description: Whether the MCP Server is enabled. type: boolean example: true default: true policies: $ref: '#/components/schemas/AIGatewayPolicyReferences' labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' additionalProperties: false required: - type - config - display_name - name x-unstable: true AIGatewayMCPServerConversionListener: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: type: type: string const: conversion-listener config: $ref: '#/components/schemas/AIGatewayMCPServerWithUpstreamNoProxyConfig' tools: description: List of tools exposed by this MCP Server. type: array items: $ref: '#/components/schemas/AIGatewayMCPConversionTool' x-speakeasy-param-computed: true access: $ref: '#/components/schemas/AIGatewayMCPServerListenerAccess' display_name: description: The display name for the MCP Server. type: string example: Kong Air Flights maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this MCP server, used as a stable human-readable reference. This value is immutable after creation. example: kongair-flights allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true enabled: description: Whether the MCP Server is enabled. type: boolean example: true default: true policies: $ref: '#/components/schemas/AIGatewayPolicyReferences' labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' additionalProperties: false required: - type - config - display_name - name x-unstable: true AIGatewayMCPServerListener: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: type: type: string const: listener config: $ref: '#/components/schemas/AIGatewayMCPServerNoUpstreamConfig' tools: description: List of tools exposed by this MCP Server. type: array items: $ref: '#/components/schemas/AIGatewayMCPToolBase' x-speakeasy-param-computed: true access: $ref: '#/components/schemas/AIGatewayMCPServerListenerAccess' display_name: description: The display name for the MCP Server. type: string example: Kong Air Flights maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this MCP server, used as a stable human-readable reference. This value is immutable after creation. example: kongair-flights allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true enabled: description: Whether the MCP Server is enabled. type: boolean example: true default: true policies: $ref: '#/components/schemas/AIGatewayPolicyReferences' labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' additionalProperties: false required: - type - config - display_name - name x-unstable: true AIGatewayMCPServerPassthroughListener: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: type: type: string const: passthrough-listener config: $ref: '#/components/schemas/AIGatewayMCPServerWithUpstreamConfig' tools: description: List of tools exposed by this MCP Server. type: array items: $ref: '#/components/schemas/AIGatewayMCPToolBase' x-speakeasy-param-computed: true access: $ref: '#/components/schemas/AIGatewayMCPServerListenerAccess' display_name: description: The display name for the MCP Server. type: string example: Kong Air Flights maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this MCP server, used as a stable human-readable reference. This value is immutable after creation. example: kongair-flights allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true enabled: description: Whether the MCP Server is enabled. type: boolean example: true default: true policies: $ref: '#/components/schemas/AIGatewayPolicyReferences' labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' additionalProperties: false required: - type - config - display_name - name x-unstable: true AIGatewayMCPServerUpstreamServer: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: type: type: string const: upstream-server config: $ref: '#/components/schemas/AIGatewayMCPServerUpstreamServerConfig' tools: description: List of tools exposed by this MCP Server. type: array items: $ref: '#/components/schemas/AIGatewayMCPUpstreamTool' x-speakeasy-param-computed: true access: $ref: '#/components/schemas/AIGatewayMCPServerBaseACLProperties' display_name: description: The display name for the MCP Server. type: string example: Kong Air Flights maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this MCP server, used as a stable human-readable reference. This value is immutable after creation. example: kongair-flights allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true enabled: description: Whether the MCP Server is enabled. type: boolean example: true default: true policies: $ref: '#/components/schemas/AIGatewayPolicyReferences' labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' additionalProperties: false required: - type - config - display_name - name x-unstable: true AIGatewayMCPConversionTool: description: A tool exposed by an MCP Server in `conversion-only` or `conversion-listener` mode. type: object properties: access: type: object additionalProperties: false properties: acls: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Access control rules for allowing or denying consumer groups access to this tool. When configured, these will override the default access control rules defined on the MCP Server. allOf: - $ref: '#/components/schemas/AIGatewayMCPACLs' x-unstable: true x-speakeasy-param-computed: false annotations: $ref: '#/components/schemas/AIGatewayMCPToolAnnotations' description: description: A description of what the tool does. type: string example: Search for available flights headers: $ref: '#/components/schemas/AIGatewayMCPToolHeaders' host: description: 'The host of the exported API, which must match the route''s hosts. It should be the route''s host. By default, Kong will extract the host from API configuration. If the configured host is wildcard, this field is required.' type: string x-speakeasy-param-computed: false name: description: 'Tool identifier. In passthrough-listener mode, used to match remote MCP Server tools for ACL enforcement. In other modes, it is also used as the tool name (overrides annotations.title if present).' type: string method: description: 'For conversion-only and conversion-listener modes, the method of the exported API, which must match the route''s methods.' type: string enum: - DELETE - GET - PATCH - POST - PUT x-speakeasy-unknown-values: allow path: description: 'The path of the exported API, which must match the route''s paths. Path not starting with ''/'' are treated as relative path and the route path will be added as the prefix. By default, Kong will extract the path from API configuration.' type: string x-speakeasy-param-computed: false query: $ref: '#/components/schemas/AIGatewayMCPToolQuery' request_body: $ref: '#/components/schemas/AIGatewayMCPToolRequestBody' responses: $ref: '#/components/schemas/AIGatewayMCPToolResponses' scheme: description: 'The scheme of the exported API. By default, Kong will extract the scheme from API configuration. If the configured scheme is not expected, this field can be used to override it.' type: string enum: - http - https x-speakeasy-unknown-values: allow parameters: $ref: '#/components/schemas/AIGatewayMCPToolParameters' additionalProperties: false required: - name - description - method AIGatewayMCPServerBaseACLProperties: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. default: acl_attribute_type: consumer discriminator: propertyName: acl_attribute_type mapping: consumer: '#/components/schemas/AIGatewayMCPServerBaseACLPropertiesConsumer' oauth_access_token: '#/components/schemas/AIGatewayMCPServerBaseACLPropertiesOauth' oneOf: - $ref: '#/components/schemas/AIGatewayMCPServerBaseACLPropertiesConsumer' - $ref: '#/components/schemas/AIGatewayMCPServerBaseACLPropertiesOauth' x-unstable: true AIGatewayMCPServerBaseACLPropertiesConsumer: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: acl_attribute_type: description: The type of attributes that ACL is evaluated with. type: string default: consumer const: consumer acls: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Access control rules for allowing or denying consumer groups. allOf: - $ref: '#/components/schemas/AIGatewayMCPACLs' x-unstable: true default_tool_acls: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Default access control rules for allowing or denying consumer groups to tools. allOf: - $ref: '#/components/schemas/AIGatewayMCPACLs' x-unstable: true required: - acl_attribute_type title: AIGatewayMCPServerBaseACLPropertiesConsumer x-unstable: true AIGatewayMCPServerBaseACLPropertiesOauth: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: acl_attribute_type: description: The type of attributes that ACL is evaluated with. type: string const: oauth_access_token access_token_claim_field: description: | The claim in the OAuth2 access token to use as the subject for ACL evaluation when `acl_attribute_type` is set to `oauth_access_token`. Nested claim can be fetched by using a jq filter starts with dot, e.g., “.user.email”: https://jqlang.org/manual/#object-identifier-index type: string acls: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Access control rules for allowing or denying consumer groups. allOf: - $ref: '#/components/schemas/AIGatewayMCPACLs' x-unstable: true default_tool_acls: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Default access control rules for allowing or denying consumer groups to tools. allOf: - $ref: '#/components/schemas/AIGatewayMCPACLs' x-unstable: true required: - acl_attribute_type - access_token_claim_field title: AIGatewayMCPServerBaseACLPropertiesOauth x-unstable: true AIGatewayMCPServerListenerAccess: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. default: acl_attribute_type: consumer discriminator: propertyName: acl_attribute_type mapping: consumer: '#/components/schemas/AIGatewayMCPServerListenerConsumer' oauth_access_token: '#/components/schemas/AIGatewayMCPServerListenerOauth' oneOf: - $ref: '#/components/schemas/AIGatewayMCPServerListenerConsumer' - $ref: '#/components/schemas/AIGatewayMCPServerListenerOauth' x-unstable: true AIGatewayMCPServerListenerConsumer: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Identity provider and OAuth 2.0 Protected Resource Metadata configuration for granting access to an MCP server. type: object properties: acl_attribute_type: description: The type of attributes that ACL is evaluated with. type: string default: consumer const: consumer acls: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Access control rules for allowing or denying consumer groups. allOf: - $ref: '#/components/schemas/AIGatewayMCPACLs' x-unstable: true default_tool_acls: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Default access control rules for allowing or denying consumer groups to tools. allOf: - $ref: '#/components/schemas/AIGatewayMCPACLs' x-unstable: true identity_providers: description: | List of identity providers for granting access to the MCP server. At most 1 identity provider of each identity provider type can be referenced. type: array items: $ref: '#/components/schemas/AIGatewayIdentityProviderReference' maxItems: 1 x-speakeasy-param-computed: true metadata: description: OAuth 2.0 Protected Resource Metadata advertised for this MCP server. allOf: - $ref: '#/components/schemas/AIGatewayMCPServerProtectedResourceMetadata' required: - acl_attribute_type title: AIGatewayMCPServerBaseACLPropertiesConsumer x-unstable: true AIGatewayMCPServerListenerOauth: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Identity provider and OAuth 2.0 Protected Resource Metadata configuration for granting access to an MCP server. type: object properties: acl_attribute_type: description: The type of attributes that ACL is evaluated with. type: string const: oauth_access_token access_token_claim_field: description: | The claim in the OAuth2 access token to use as the subject for ACL evaluation when `acl_attribute_type` is set to `oauth_access_token`. Nested claim can be fetched by using a jq filter starts with dot, e.g., “.user.email”: https://jqlang.org/manual/#object-identifier-index type: string acls: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Access control rules for allowing or denying consumer groups. allOf: - $ref: '#/components/schemas/AIGatewayMCPACLs' x-unstable: true default_tool_acls: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Default access control rules for allowing or denying consumer groups to tools. allOf: - $ref: '#/components/schemas/AIGatewayMCPACLs' x-unstable: true identity_providers: description: | List of identity providers for granting access to the MCP server. At most 1 identity provider of each identity provider type can be referenced. type: array items: $ref: '#/components/schemas/AIGatewayIdentityProviderReference' maxItems: 1 x-speakeasy-param-computed: true metadata: description: OAuth 2.0 Protected Resource Metadata advertised for this MCP server. allOf: - $ref: '#/components/schemas/AIGatewayMCPServerProtectedResourceMetadata' required: - acl_attribute_type - access_token_claim_field title: AIGatewayMCPServerBaseACLPropertiesOauth x-unstable: true AIGatewayMCPServerProtectedResourceMetadata: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. OAuth 2.0 Protected Resource Metadata (RFC 9728) advertised for this MCP server, allowing clients to discover the authorization servers that protect it. type: object properties: discovery_endpoint: description: The authorization server metadata discovery URL. type: string x-speakeasy-param-computed: false endpoint: description: The URL path where the OAuth 2.0 Protected Resource Metadata is served. type: string x-speakeasy-param-computed: false authorization_servers: description: List of authorization server issuer URLs that can issue tokens for this resource. type: array items: type: string x-speakeasy-param-computed: false resource: description: The protected resource's identifier (resource URI). type: string x-speakeasy-param-computed: false scopes_supported: description: List of OAuth scopes supported by the protected resource. type: array items: type: string x-speakeasy-param-computed: false title: AIGatewayMCPServerProtectedResourceMetadata x-unstable: true AIGatewayRedisAWSAuthentication: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. AWS specific configs for connecting to a Cloud Provider's redis instance. type: object properties: type: type: string const: aws access_key_id: description: | AWS Access Key ID to be used for authentication. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true x-referenceable: true x-speakeasy-param-computed: false assume_role_arn: description: | The ARN of the IAM role to assume for generating ElastiCache IAM authentication tokens. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true x-referenceable: true x-speakeasy-param-computed: false cache_name: description: | The name of the AWS Elasticache cluster. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true x-referenceable: true x-speakeasy-param-computed: false is_serverless: description: This flag specifies whether the cluster is serverless. type: boolean default: true region: description: | The region of the AWS ElastiCache cluster. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true x-referenceable: true x-speakeasy-param-computed: false role_session_name: description: | The session name for the temporary credentials when assuming the IAM role. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true x-referenceable: true x-speakeasy-param-computed: false secret_access_key: description: | AWS Secret Access Key. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true writeOnly: true x-referenceable: true x-speakeasy-param-computed: false additionalProperties: false required: - type title: AIGatewayRedisAWSAuthentication x-unstable: true AIGatewayRedisAzureAuthentication: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Azure specific configs for connecting to a Cloud Provider's redis instance. type: object properties: type: type: string const: azure client_id: description: | Azure Client ID. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true x-referenceable: true x-speakeasy-param-computed: false client_secret: description: | Azure Client Secret. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true writeOnly: true x-referenceable: true x-speakeasy-param-computed: false tenant_id: description: | Azure Tenant ID. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true x-referenceable: true x-speakeasy-param-computed: false additionalProperties: false required: - type title: AIGatewayRedisAzureAuthentication x-unstable: true AIGatewayRedisGCPAuthentication: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. GCP specific configs for connecting to a Cloud Provider's redis instance. type: object properties: type: type: string const: gcp service_account_json: description: | GCP Service Account JSON. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true writeOnly: true x-referenceable: true x-speakeasy-param-computed: false additionalProperties: false required: - type title: AIGatewayRedisGCPAuthentication x-unstable: true AIGatewayRedisCloudConfiguration: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Config for connecting to a Cloud Provider's Redis instance. type: object properties: cloud_authentication: description: Auth related config for connecting to a Cloud Provider's Redis instance. discriminator: propertyName: type mapping: aws: '#/components/schemas/AIGatewayRedisAWSAuthentication' azure: '#/components/schemas/AIGatewayRedisAzureAuthentication' gcp: '#/components/schemas/AIGatewayRedisGCPAuthentication' oneOf: - $ref: '#/components/schemas/AIGatewayRedisAWSAuthentication' - $ref: '#/components/schemas/AIGatewayRedisAzureAuthentication' - $ref: '#/components/schemas/AIGatewayRedisGCPAuthentication' cluster: description: Cluster configuration for the Redis connection. type: object default: null additionalProperties: false nullable: true properties: max_redirections: description: Maximum retry attempts for redirection. type: integer default: 5 nodes: description: Cluster addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element. type: array items: type: object properties: ip: description: 'A string representing a host name, such as example.com.' type: string default: 127.0.0.1 port: description: 'An integer representing a port number between 0 and 65535, inclusive.' type: integer default: 6379 maximum: 65535 minimum: 0 default: null minItems: 1 nullable: true x-speakeasy-param-computed: false x-speakeasy-param-computed: false connect_timeout: description: An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. type: integer default: 2000 maximum: 2147483646 minimum: 0 connection_is_proxied: description: 'If the connection to Redis is proxied (e.g. Envoy), set it `true`. Set the `host` and `port` to point to the proxy address.' type: boolean default: false database: description: Database to use for the Redis connection when using the `redis` strategy type: integer default: 0 host: description: | A string representing a host name, such as example.com. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: 127.0.0.1 x-referenceable: true keepalive: description: Keepalive configuration for the Redis connection. type: object default: null additionalProperties: false nullable: true properties: backlog: description: 'Limits the total number of opened connections for a pool. If the connection pool is full, connection queues above the limit go into the backlog queue. If the backlog queue is full, subsequent connect operations fail and return `nil`. Queued operations (subject to set timeouts) resume once the number of connections in the pool is less than `pool_size`. If latency is high or throughput is low, try increasing this value. Empirically, this value is larger than `pool_size`.' type: integer default: null maximum: 2147483646 minimum: 0 nullable: true x-speakeasy-param-computed: false pool_size: description: 'The size limit for every cosocket connection pool associated with every remote server, per worker process. If neither `pool_size` nor `backlog` is specified, no pool is created. If `pool_size` isn''t specified but `backlog` is specified, then the pool uses the default value. Try to increase (e.g. 512) this value if latency is high or throughput is low.' type: integer default: 256 maximum: 2147483646 minimum: 1 x-speakeasy-param-computed: false password: description: | Password to use for Redis connections. If undefined, no AUTH commands are sent to Redis. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true x-referenceable: true x-speakeasy-param-computed: false port: description: | An integer representing a port number between 0 and 65535, inclusive. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string example: 6379 default: '6379' maximum: 65535 minimum: 0 x-go-type: types.Referenceable x-go-type-import: path: github.com/kong-konnect/koko-private/internal/server/public/openapi/controlplanesconfig/types name: types x-referenceable: true read_timeout: description: An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. type: integer default: 2000 maximum: 2147483646 minimum: 0 send_timeout: description: An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. type: integer default: 2000 maximum: 2147483646 minimum: 0 sentinel: description: Configuration for Redis Sentinel. type: object default: null additionalProperties: false nullable: true properties: master: description: Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel. type: string default: null nullable: true x-speakeasy-param-computed: false nodes: description: Sentinel node addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element. type: array items: type: object properties: host: description: 'A string representing a host name, such as example.com.' type: string default: 127.0.0.1 port: description: 'An integer representing a port number between 0 and 65535, inclusive.' type: integer default: 6379 maximum: 65535 minimum: 0 default: null minItems: 1 nullable: true x-speakeasy-param-computed: false password: description: | Sentinel password to authenticate with a Redis Sentinel instance. If undefined, no AUTH commands are sent to Redis Sentinels. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true x-referenceable: true x-speakeasy-param-computed: false role: description: Sentinel role to use for Redis connections when the `redis` strategy is defined. Defining this value implies using Redis Sentinel. type: string enum: - any - master - slave x-speakeasy-unknown-values: allow username: description: | Sentinel username to authenticate with a Redis Sentinel instance. If undefined, ACL authentication won't be performed. This requires Redis v6.2.0+. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true x-referenceable: true x-speakeasy-param-computed: false x-speakeasy-param-computed: false server_name: description: | A string representing an SNI (server name indication) value for TLS. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true x-referenceable: true x-speakeasy-param-computed: false ssl: description: 'If set to true, uses SSL to connect to Redis.' type: boolean default: true ssl_verify: description: 'If set to true, verifies the validity of the server SSL certificate. If setting this parameter, also configure `lua_ssl_trusted_certificate` in `kong.conf` to specify the CA (or server) certificate used by your Redis server. You may also need to configure `lua_ssl_verify_depth` accordingly.' type: boolean default: true username: description: | Username to use for Redis connections. If undefined, ACL authentication won't be performed. This requires Redis v6.0.0+. To be compatible with Redis v5.x.y, you can set it to `default`. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true x-referenceable: true x-speakeasy-param-computed: false additionalProperties: false x-speakeasy-transform-from-api: jq: | if has("port") then .port |= if type == "number" then tostring else . end else . end x-speakeasy-transform-to-api: jq: | if has("port") then if (.port | type) == "string" and (.port | test("^[0-9]+$")) then .port |= tonumber else . end else . end x-unstable: true AIGatewayProxyConfig: description: HTTP/HTTPS proxy configuration for outbound requests to the upstream AI provider. type: object properties: http_proxy: description: HTTP proxy server to route plaintext outbound requests through. type: object additionalProperties: false properties: host: description: 'A string representing a host name, such as example.com.' type: string default: null nullable: true x-speakeasy-param-computed: false port: description: 'An integer representing a port number between 0 and 65535, inclusive.' type: integer default: null maximum: 65535 minimum: 0 nullable: true x-speakeasy-param-computed: false x-speakeasy-param-computed: false https_proxy: description: HTTPS proxy server to route TLS outbound requests through. type: object additionalProperties: false properties: host: description: 'A string representing a host name, such as example.com.' type: string default: null nullable: true x-speakeasy-param-computed: false port: description: 'An integer representing a port number between 0 and 65535, inclusive.' type: integer default: null maximum: 65535 minimum: 0 nullable: true x-speakeasy-param-computed: false x-speakeasy-param-computed: false proxy_scheme: description: The proxy scheme to use when connecting to the proxy server. type: string default: http enum: - http auth: description: Credentials used to authenticate to the proxy server. type: object additionalProperties: false properties: username: description: | The username to use for proxy authentication. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true x-referenceable: true x-speakeasy-param-computed: false password: description: | The password to use for proxy authentication. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true writeOnly: true x-referenceable: true x-speakeasy-param-computed: false x-speakeasy-param-computed: false no_proxy: description: Comma-separated list of hosts that should not be proxied. type: string x-speakeasy-param-computed: false additionalProperties: false x-speakeasy-param-computed: false AIGatewayRouteConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an AI Gateway route. type: object properties: 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 example: version: - v1 - v2 additionalProperties: true x-speakeasy-param-computed: 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 example: foo.example.com x-speakeasy-param-computed: false 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 methods: description: A list of HTTP methods that match this route. type: array items: type: string x-speakeasy-param-computed: true paths: description: A list of paths that match this route. type: array items: type: string x-speakeasy-param-computed: 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 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: type: string default: - http - https 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 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 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 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 tags: description: An optional set of strings associated with the route for grouping and filtering. type: array items: type: string x-speakeasy-param-computed: true additionalProperties: false x-unstable: true AIGatewayLoggingConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for AI Gateway logging. type: object properties: payloads: type: boolean default: false additionalProperties: false x-speakeasy-param-computed: true x-unstable: true AIGatewayMCPServerNoUpstreamConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Routing, logging, and server configuration for the MCP Server. type: object properties: route: $ref: '#/components/schemas/AIGatewayRouteConfig' logging: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for AI Gateway logging. type: object additionalProperties: false properties: payloads: type: boolean default: false audits: type: boolean default: false x-speakeasy-param-computed: true x-unstable: true max_request_body_size: description: Maximum size of request body to parse. Set to 0 for unlimited. type: integer default: 8388608 server: $ref: '#/components/schemas/AIGatewayMCPServerServerConfigBase' additionalProperties: false x-unstable: true AIGatewayMCPServerWithUpstreamNoProxyConfigNoServerConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Routing, logging, and request body size limits for the MCP Server. type: object properties: route: $ref: '#/components/schemas/AIGatewayRouteConfig' logging: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for AI Gateway logging. type: object additionalProperties: false properties: payloads: type: boolean default: false audits: type: boolean default: false x-speakeasy-param-computed: true x-unstable: true max_request_body_size: description: Maximum size of request body to parse. Set to 0 for unlimited. type: integer default: 8388608 url: description: | Helper field to set protocol, host, port and path of the upstream service using a URL. This is the same as a Kong Gateway Service URL: ${scheme}://${host}:${port}/${path} type: string format: uri example: 'https://mcp.internal.kongair.com' upstream: $ref: '#/components/schemas/AIGatewayUpstreamConfig' additionalProperties: false required: - url x-unstable: true AIGatewayMCPServerWithUpstreamNoProxyConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Routing, logging, and server configuration for the MCP Server. type: object properties: route: $ref: '#/components/schemas/AIGatewayRouteConfig' logging: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for AI Gateway logging. type: object additionalProperties: false properties: payloads: type: boolean default: false audits: type: boolean default: false x-speakeasy-param-computed: true x-unstable: true max_request_body_size: description: Maximum size of request body to parse. Set to 0 for unlimited. type: integer default: 8388608 server: $ref: '#/components/schemas/AIGatewayMCPServerServerConfigBase' url: description: | Helper field to set protocol, host, port and path of the upstream service using a URL. This is the same as a Kong Gateway Service URL: ${scheme}://${host}:${port}/${path} type: string format: uri example: 'https://mcp.internal.kongair.com' upstream: $ref: '#/components/schemas/AIGatewayUpstreamConfig' additionalProperties: false required: - url x-unstable: true AIGatewayMCPServerWithUpstreamConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Routing, logging, and server configuration for the MCP Server. type: object properties: route: $ref: '#/components/schemas/AIGatewayRouteConfig' logging: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for AI Gateway logging. type: object additionalProperties: false properties: payloads: type: boolean default: false audits: type: boolean default: false x-speakeasy-param-computed: true x-unstable: true max_request_body_size: description: Maximum size of request body to parse. Set to 0 for unlimited. type: integer default: 8388608 server: $ref: '#/components/schemas/AIGatewayMCPServerServerConfigBase' url: description: | Helper field to set protocol, host, port and path of the upstream service using a URL. This is the same as a Kong Gateway Service URL: ${scheme}://${host}:${port}/${path} type: string format: uri example: 'https://mcp.internal.kongair.com' upstream: $ref: '#/components/schemas/AIGatewayUpstreamConfig' proxy: $ref: '#/components/schemas/AIGatewayProxyConfig' additionalProperties: false required: - url x-unstable: true AIGatewayMCPServerUpstreamServerConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Routing, logging, and server configuration for the MCP Server. type: object properties: route: $ref: '#/components/schemas/AIGatewayRouteConfig' logging: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for AI Gateway logging. type: object additionalProperties: false properties: payloads: type: boolean default: false audits: type: boolean default: false x-speakeasy-param-computed: true x-unstable: true max_request_body_size: description: Maximum size of request body to parse. Set to 0 for unlimited. type: integer default: 8388608 server: $ref: '#/components/schemas/AIGatewayMCPServerUpstreamServerServerConfig' url: description: | Helper field to set protocol, host, port and path of the upstream service using a URL. This is the same as a Kong Gateway Service URL: ${scheme}://${host}:${port}/${path} type: string format: uri example: 'https://mcp.internal.kongair.com' upstream: $ref: '#/components/schemas/AIGatewayUpstreamConfig' tools_cache_ttl_seconds: description: | The time-to-live (TTL) for the upstream tools cache in seconds. Set to `0` to refresh on every client call. type: integer minimum: 0 additionalProperties: false required: - url - tools_cache_ttl_seconds x-unstable: true AIGatewayMCPServerServerConfigBase: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Server-side configuration for the MCP Server. type: object properties: forward_client_headers: description: Whether to forward the client request headers to the upstream server when calling the tools. type: boolean default: true session: description: | Enable managed session when Kong responds as MCP server in listener, conversion-listener, or upstream-server modes. This doesn't affect the passthrough-listener mode as the state in that mode is maintained by the upstream MCP servers. type: object default: null additionalProperties: false nullable: true properties: client: description: The configuration for client-side session storage. type: object default: null additionalProperties: false nullable: true properties: secrets: description: | The secrets that are used in session encryption. Required when the strategy is 'client'. The first secret is used for encryption, while all secrets are used for decryption to support key rotation. type: array items: type: string minLength: 8 x-referenceable: true description: | This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). default: null minItems: 1 nullable: true x-speakeasy-param-computed: false x-speakeasy-param-computed: false managed: description: 'If enabled, Kong will maintain managed sessions with the MCP server.' type: boolean default: true redis: $ref: '#/components/schemas/AIGatewayRedisCloudConfiguration' session_ttl: description: The time-to-live (TTL) for each session in seconds. type: integer default: 86400 strategy: description: 'The strategy for the session. If the value is ''client'', the session is encrypted into MCP session id assigned to the client. If the value is not ''client'', the session is stored in the configured database.' type: string enum: - client - redis x-speakeasy-unknown-values: allow x-speakeasy-param-computed: false label: description: The label of the MCP server. This is used to filter the exported MCP tools. type: string default: null nullable: true x-speakeasy-param-computed: false timeout: description: The timeout for calling the tools in milliseconds. type: integer default: 10000 additionalProperties: false x-unstable: true AIGatewayMCPServerUpstreamServerServerConfig: description: Server-side configuration specific to `upstream-server` mode. type: object properties: forward_client_headers: description: Whether to forward the client request headers to the upstream server when calling the tools. type: boolean default: true session: description: | Enable managed session when Kong responds as MCP server in listener, conversion-listener, or upstream-server modes. This doesn't affect the passthrough-listener mode as the state in that mode is maintained by the upstream MCP servers. type: object default: null additionalProperties: false nullable: true properties: client: description: The configuration for client-side session storage. type: object default: null additionalProperties: false nullable: true properties: secrets: description: | The secrets that are used in session encryption. Required when the strategy is 'client'. The first secret is used for encryption, while all secrets are used for decryption to support key rotation. type: array items: type: string minLength: 8 x-referenceable: true description: | This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). default: null minItems: 1 nullable: true x-speakeasy-param-computed: false x-speakeasy-param-computed: false managed: description: 'If enabled, Kong will maintain managed sessions with the MCP server.' type: boolean default: true redis: $ref: '#/components/schemas/AIGatewayRedisCloudConfiguration' session_ttl: description: The time-to-live (TTL) for each session in seconds. type: integer default: 86400 strategy: description: 'The strategy for the session. If the value is ''client'', the session is encrypted into MCP session id assigned to the client. If the value is not ''client'', the session is stored in the configured database.' type: string enum: - client - redis x-speakeasy-unknown-values: allow x-speakeasy-param-computed: false label: description: The label of the MCP server. This is used to filter the exported MCP tools. type: string default: null nullable: true x-speakeasy-param-computed: false timeout: description: The timeout for calling the tools in milliseconds. type: integer default: 10000 preserve_upstream_tool_names: description: | If enabled, the original upstream tool names are preserved as-is when Kong acts as an MCP server. If disabled (`false`), the service name will be prepended to the MCP tool names to avoid name collisions when multiple services are used. type: boolean default: false tools_list_auth: $ref: '#/components/schemas/AIGatewayMCPServerUpstreamServerServerToolAuthConfig' additionalProperties: false x-unstable: true AIGatewayMCPServerUpstreamServerServerToolAuthConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an Upstream Server's MCP Server Tools' Authentication. discriminator: propertyName: type mapping: jwt: '#/components/schemas/AIGatewayMCPServerUpstreamServerToolOauth2ConfigJwt' credentials: '#/components/schemas/AIGatewayMCPServerUpstreamServerToolOauth2ConfigCredentials' oneOf: - $ref: '#/components/schemas/AIGatewayMCPServerUpstreamServerToolOauth2ConfigJwt' - $ref: '#/components/schemas/AIGatewayMCPServerUpstreamServerToolOauth2ConfigCredentials' x-unstable: true AIGatewayMCPServerUpstreamServerToolOauth2ConfigJwt: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: scope: description: | The scopes for the OAuth 2.0 client-credentials. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true x-referenceable: true x-speakeasy-param-computed: false access_token_header: description: | Header name used to send the fetched access token to the upstream MCP server. The value should include the header name and the token prefix if needed. type: string default: Authorization id_token_header: description: | Header name used to send the fetched ID token to the upstream MCP server. The value should include the header name and the token prefix if needed. Leave empty to omit the ID token when fetching the tools list. type: string default: null nullable: true x-speakeasy-param-computed: false type: type: string const: jwt additionalProperties: false required: - type x-unstable: true AIGatewayMCPServerUpstreamServerToolOauth2ConfigCredentials: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: scope: description: | The scopes for the OAuth 2.0 client-credentials. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true x-referenceable: true x-speakeasy-param-computed: false access_token_header: description: | Header name used to send the fetched access token to the upstream MCP server. The value should include the header name and the token prefix if needed. type: string default: Authorization id_token_header: description: | Header name used to send the fetched ID token to the upstream MCP server. The value should include the header name and the token prefix if needed. Leave empty to omit the ID token when fetching the tools list. type: string default: null nullable: true x-speakeasy-param-computed: false type: type: string const: credentials token_endpoint: description: | The token endpoint URL for fetching the OAuth 2.0 access token using client-credentials. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string format: uri x-referenceable: true client_id: description: | The client ID for the OAuth 2.0 client-credentials. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string x-referenceable: true client_secret: description: | The client secret for the OAuth 2.0 client-credentials. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string default: null nullable: true writeOnly: true x-referenceable: true x-speakeasy-param-computed: false additionalProperties: false required: - type - token_endpoint - client_id x-unstable: true CreateAIGatewayMCPServerRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. discriminator: propertyName: type mapping: conversion-only: '#/components/schemas/AIGatewayMCPServerConversionOnly' conversion-listener: '#/components/schemas/AIGatewayMCPServerConversionListener' listener: '#/components/schemas/AIGatewayMCPServerListener' passthrough-listener: '#/components/schemas/AIGatewayMCPServerPassthroughListener' upstream-server: '#/components/schemas/AIGatewayMCPServerUpstreamServer' oneOf: - $ref: '#/components/schemas/AIGatewayMCPServerConversionOnly' - $ref: '#/components/schemas/AIGatewayMCPServerConversionListener' - $ref: '#/components/schemas/AIGatewayMCPServerListener' - $ref: '#/components/schemas/AIGatewayMCPServerPassthroughListener' - $ref: '#/components/schemas/AIGatewayMCPServerUpstreamServer' x-unstable: true UpdateAIGatewayMCPServerRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. discriminator: propertyName: type mapping: conversion-only: '#/components/schemas/AIGatewayMCPServerConversionOnly' conversion-listener: '#/components/schemas/AIGatewayMCPServerConversionListener' listener: '#/components/schemas/AIGatewayMCPServerListener' passthrough-listener: '#/components/schemas/AIGatewayMCPServerPassthroughListener' upstream-server: '#/components/schemas/AIGatewayMCPServerUpstreamServer' oneOf: - $ref: '#/components/schemas/AIGatewayMCPServerConversionOnly' - $ref: '#/components/schemas/AIGatewayMCPServerConversionListener' - $ref: '#/components/schemas/AIGatewayMCPServerListener' - $ref: '#/components/schemas/AIGatewayMCPServerPassthroughListener' - $ref: '#/components/schemas/AIGatewayMCPServerUpstreamServer' x-unstable: true AIGatewayMCPServer: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' discriminator: propertyName: type mapping: conversion-only: '#/components/schemas/AIGatewayMCPServerConversionOnly' conversion-listener: '#/components/schemas/AIGatewayMCPServerConversionListener' listener: '#/components/schemas/AIGatewayMCPServerListener' passthrough-listener: '#/components/schemas/AIGatewayMCPServerPassthroughListener' upstream-server: '#/components/schemas/AIGatewayMCPServerUpstreamServer' oneOf: - $ref: '#/components/schemas/AIGatewayMCPServerConversionOnly' - $ref: '#/components/schemas/AIGatewayMCPServerConversionListener' - $ref: '#/components/schemas/AIGatewayMCPServerListener' - $ref: '#/components/schemas/AIGatewayMCPServerPassthroughListener' - $ref: '#/components/schemas/AIGatewayMCPServerUpstreamServer' required: - id - created_at - updated_at x-unstable: true AIGatewayMCPToolBase: description: 'A tool exposed by the MCP Server, mapped to a backend HTTP endpoint.' type: object properties: access: type: object additionalProperties: false properties: acls: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Access control rules for allowing or denying consumer groups access to this tool. When configured, these will override the default access control rules defined on the MCP Server. allOf: - $ref: '#/components/schemas/AIGatewayMCPACLs' x-unstable: true x-speakeasy-param-computed: false annotations: $ref: '#/components/schemas/AIGatewayMCPToolAnnotations' description: description: A description of what the tool does. type: string example: Search for available flights headers: $ref: '#/components/schemas/AIGatewayMCPToolHeaders' host: description: 'The host of the exported API, which must match the route''s hosts. It should be the route''s host. By default, Kong will extract the host from API configuration. If the configured host is wildcard, this field is required.' type: string x-speakeasy-param-computed: false name: description: 'Tool identifier. In passthrough-listener mode, used to match remote MCP Server tools for ACL enforcement. In other modes, it is also used as the tool name (overrides annotations.title if present).' type: string method: description: 'For conversion-only and conversion-listener modes, the method of the exported API, which must match the route''s methods.' type: string enum: - DELETE - GET - PATCH - POST - PUT x-speakeasy-unknown-values: allow path: description: 'The path of the exported API, which must match the route''s paths. Path not starting with ''/'' are treated as relative path and the route path will be added as the prefix. By default, Kong will extract the path from API configuration.' type: string x-speakeasy-param-computed: false query: $ref: '#/components/schemas/AIGatewayMCPToolQuery' request_body: $ref: '#/components/schemas/AIGatewayMCPToolRequestBody' responses: $ref: '#/components/schemas/AIGatewayMCPToolResponses' scheme: description: 'The scheme of the exported API. By default, Kong will extract the scheme from API configuration. If the configured scheme is not expected, this field can be used to override it.' type: string enum: - http - https x-speakeasy-unknown-values: allow parameters: $ref: '#/components/schemas/AIGatewayMCPToolParameters' additionalProperties: false required: - name - description AIGatewayMCPUpstreamTool: description: A tool exposed by an MCP Server in `upstream-server` mode. Extends the base tool with input/output schema overrides for the upstream server's advertised tool. type: object properties: access: type: object additionalProperties: false properties: acls: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Access control rules for allowing or denying consumer groups access to this tool. When configured, these will override the default access control rules defined on the MCP Server. allOf: - $ref: '#/components/schemas/AIGatewayMCPACLs' x-unstable: true x-speakeasy-param-computed: false annotations: $ref: '#/components/schemas/AIGatewayMCPToolAnnotations' description: description: A description of what the tool does. type: string example: Search for available flights headers: $ref: '#/components/schemas/AIGatewayMCPToolHeaders' host: description: 'The host of the exported API, which must match the route''s hosts. It should be the route''s host. By default, Kong will extract the host from API configuration. If the configured host is wildcard, this field is required.' type: string x-speakeasy-param-computed: false name: description: 'Tool identifier. In passthrough-listener mode, used to match remote MCP Server tools for ACL enforcement. In other modes, it is also used as the tool name (overrides annotations.title if present).' type: string method: description: 'When provided, the method of the exported API, which must match the route''s methods.' type: string enum: - DELETE - GET - PATCH - POST - PUT x-speakeasy-unknown-values: allow path: description: 'The path of the exported API, which must match the route''s paths. Path not starting with ''/'' are treated as relative path and the route path will be added as the prefix. By default, Kong will extract the path from API configuration.' type: string x-speakeasy-param-computed: false query: $ref: '#/components/schemas/AIGatewayMCPToolQuery' request_body: $ref: '#/components/schemas/AIGatewayMCPToolRequestBody' responses: $ref: '#/components/schemas/AIGatewayMCPToolResponses' scheme: description: 'The scheme of the exported API. By default, Kong will extract the scheme from API configuration. If the configured scheme is not expected, this field can be used to override it.' type: string enum: - http - https x-speakeasy-unknown-values: allow parameters: $ref: '#/components/schemas/AIGatewayMCPToolParameters' input_schema: description: | The entire `inputSchema` section for the tool. Overrides the upstream server's `inputSchema` for the same tool name, if present. type: object default: null additionalProperties: true nullable: true x-speakeasy-param-computed: false x-speakeasy-type-override: any output_schema: description: | The entire `outputSchema` section for the tool. Overrides the upstream server's `outputSchema` for the same tool name, if present. type: object default: null additionalProperties: true nullable: true x-speakeasy-param-computed: false x-speakeasy-type-override: any additionalProperties: false required: - name - description AIGatewayMCPToolAnnotations: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: destructive_hint: description: 'If true, the tool may perform destructive updates' type: boolean x-speakeasy-param-computed: false idempotent_hint: description: 'If true, repeated calls with same args have no additional effect' type: boolean x-speakeasy-param-computed: false open_world_hint: description: 'If true, tool interacts with external entities' type: boolean x-speakeasy-param-computed: false read_only_hint: description: 'If true, the tool does not modify its environment' type: boolean x-speakeasy-param-computed: false title: description: Human-readable title for the tool type: string x-speakeasy-param-computed: false additionalProperties: false x-unstable: true AIGatewayMCPToolHeaders: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. The headers of the exported API. By default, Kong will extract the headers from API configuration. If the configured headers are not exactly matched, this field is required. type: object additionalProperties: true x-speakeasy-type-override: any x-unstable: true AIGatewayMCPToolQuery: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. The query arguments of the exported API. If the generated query arguments are not exactly matched, this field is required. type: object additionalProperties: true x-speakeasy-type-override: any x-unstable: true AIGatewayMCPToolRequestBody: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. The API requestBody specification defined in OpenAPI JSON format. For example, '{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"color":{"type":"array","items":{"type":"string"}}}}}}}'. See https://swagger.io/docs/specification/v3_0/describing-request-body/describing-request-body/ for more details. Note that `$ref` is not supported. type: object additionalProperties: true x-speakeasy-type-override: any x-unstable: true AIGatewayMCPToolResponses: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. The API responses specification defined in OpenAPI JSON format. This specification will be used to validate the upstream response and map it back to the structuredOutput. For example, '{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"string"}}}}}}}}'. See https://swagger.io/docs/specification/v3_0/describing-responses/ for more details. Only one non-error (status code < 400) response is supported. Note that `$ref` is not supported. type: object additionalProperties: true x-speakeasy-type-override: any x-unstable: true AIGatewayMCPToolParameters: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: array items: $ref: '#/components/schemas/AIGatewayMCPToolParameter' x-unstable: true AIGatewayMCPToolParameter: description: 'An API parameter specification defined in OpenAPI JSON format. For example, ''[{"name": "city", "in": "query", "description": "Name of the city to get the weather for", "required": true, "schema": {"type": "string"}}]''. See https://swagger.io/docs/specification/v3_0/describing-parameters/ for more details.' type: object properties: name: description: The name of the parameter. type: string example: origin in: description: The location of the parameter in the request. type: string example: query enum: - query - path - header - body x-speakeasy-unknown-values: allow description: description: A description of the parameter. type: string example: The origin airport code. x-speakeasy-param-computed: false required: description: Whether this parameter is required. type: boolean example: true x-speakeasy-param-computed: false schema: description: 'JSON Schema definition for the parameter value. See https://swagger.io/docs/specification/v3_0/describing-parameters/#schema-vs-content for more details.' type: object additionalProperties: true x-speakeasy-param-computed: false additionalProperties: false required: - name - in AIGatewayIdentityProviderReference: description: Reference to a identity provider instance by name. type: string example: okta-ai-se AIGatewayIdentityProviderKeyAuth: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an identity provider. type: object properties: display_name: description: The display name for this identity provider instance. type: string example: Okta AI SE maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this identity provider instance, used as a stable human-readable reference. This value is immutable after creation. example: okta-ai-se allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' type: type: string const: key-auth config: description: | Configuration for the Kong Key auth identity provider. For advanced use cases, additional config properties can be sent in the request body. See: https://developer.konghq.com/plugins/key-auth/reference/ for the list of properties type: object additionalProperties: true x-speakeasy-param-computed: true x-speakeasy-type-override: any required: - display_name - name - type title: AIGatewayIdentityProviderKeyAuthConfig x-unstable: true AIGatewayIdentityProviderOpenIDConnect: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for an identity provider. type: object properties: display_name: description: The display name for this identity provider instance. type: string example: Okta AI SE maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this identity provider instance, used as a stable human-readable reference. This value is immutable after creation. example: okta-ai-se allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' type: type: string const: openid-connect config: description: | Configuration for the OpenID Connect identity provider. For advanced use cases, additional config properties can be sent in the request body. See: https://developer.konghq.com/plugins/openid-connect/reference/ for the list of properties type: object additionalProperties: true x-speakeasy-param-computed: true x-speakeasy-type-override: any required: - display_name - name - type title: AIGatewayIdentityProviderOpenIDConnectConfig x-unstable: true AIGatewayModelProviderReference: description: Reference to a model provider instance by name. type: string example: azure-ai-se AIGatewayModelProviderAnthropic: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: type: type: string const: anthropic display_name: description: The display name for this model provider instance. type: string example: Azure AI SE maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this model provider instance, used as a stable human-readable reference. This value is immutable after creation. example: azure-ai-se allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' config: description: Configuration for the model provider. type: object additionalProperties: false properties: auth: $ref: '#/components/schemas/AIGatewayModelProviderConfigAuthBasic' required: - auth required: - type - display_name - name - config x-unstable: true AIGatewayModelProviderCerebras: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: type: type: string const: cerebras display_name: description: The display name for this model provider instance. type: string example: Azure AI SE maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this model provider instance, used as a stable human-readable reference. This value is immutable after creation. example: azure-ai-se allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' config: description: Configuration for the model provider. type: object additionalProperties: false properties: auth: $ref: '#/components/schemas/AIGatewayModelProviderConfigAuthBasic' required: - auth required: - type - display_name - name - config x-unstable: true AIGatewayModelProviderCohere: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: type: type: string const: cohere display_name: description: The display name for this model provider instance. type: string example: Azure AI SE maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this model provider instance, used as a stable human-readable reference. This value is immutable after creation. example: azure-ai-se allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' config: description: Configuration for the model provider. type: object additionalProperties: false properties: auth: $ref: '#/components/schemas/AIGatewayModelProviderConfigAuthBasic' required: - auth required: - type - display_name - name - config x-unstable: true AIGatewayModelProviderDashscope: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: type: type: string const: dashscope display_name: description: The display name for this model provider instance. type: string example: Azure AI SE maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this model provider instance, used as a stable human-readable reference. This value is immutable after creation. example: azure-ai-se allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' config: description: Configuration for the model provider. type: object additionalProperties: false properties: auth: $ref: '#/components/schemas/AIGatewayModelProviderConfigAuthBasic' required: - auth required: - type - display_name - name - config x-unstable: true AIGatewayModelProviderDatabricks: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: type: type: string const: databricks display_name: description: The display name for this model provider instance. type: string example: Azure AI SE maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this model provider instance, used as a stable human-readable reference. This value is immutable after creation. example: azure-ai-se allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' config: description: Configuration for the model provider. type: object additionalProperties: false properties: auth: $ref: '#/components/schemas/AIGatewayModelProviderConfigAuthBasic' required: - auth required: - type - display_name - name - config x-unstable: true AIGatewayModelProviderDeepseek: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: type: type: string const: deepseek display_name: description: The display name for this model provider instance. type: string example: Azure AI SE maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this model provider instance, used as a stable human-readable reference. This value is immutable after creation. example: azure-ai-se allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' config: description: Configuration for the model provider. type: object additionalProperties: false properties: auth: $ref: '#/components/schemas/AIGatewayModelProviderConfigAuthBasic' required: - auth required: - type - display_name - name - config x-unstable: true AIGatewayModelProviderHuggingface: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: type: type: string const: huggingface display_name: description: The display name for this model provider instance. type: string example: Azure AI SE maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this model provider instance, used as a stable human-readable reference. This value is immutable after creation. example: azure-ai-se allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' config: description: Configuration for the model provider. type: object additionalProperties: false properties: auth: $ref: '#/components/schemas/AIGatewayModelProviderConfigAuthBasic' required: - auth required: - type - display_name - name - config x-unstable: true AIGatewayModelProviderKimi: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: type: type: string const: kimi display_name: description: The display name for this model provider instance. type: string example: Azure AI SE maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this model provider instance, used as a stable human-readable reference. This value is immutable after creation. example: azure-ai-se allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' config: description: Configuration for the model provider. type: object additionalProperties: false properties: auth: $ref: '#/components/schemas/AIGatewayModelProviderConfigAuthBasic' required: - auth required: - type - display_name - name - config x-unstable: true AIGatewayModelProviderLlama2: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: type: type: string const: llama2 display_name: description: The display name for this model provider instance. type: string example: Azure AI SE maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this model provider instance, used as a stable human-readable reference. This value is immutable after creation. example: azure-ai-se allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' config: description: Configuration for the model provider. type: object additionalProperties: false properties: auth: $ref: '#/components/schemas/AIGatewayModelProviderConfigAuthBasic' required: - auth required: - type - display_name - name - config x-unstable: true AIGatewayModelProviderMistral: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: type: type: string const: mistral display_name: description: The display name for this model provider instance. type: string example: Azure AI SE maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this model provider instance, used as a stable human-readable reference. This value is immutable after creation. example: azure-ai-se allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' config: description: Configuration for the model provider. type: object additionalProperties: false properties: auth: $ref: '#/components/schemas/AIGatewayModelProviderConfigAuthBasic' required: - auth required: - type - display_name - name - config x-unstable: true AIGatewayModelProviderOllama: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: type: type: string const: ollama display_name: description: The display name for this model provider instance. type: string example: Azure AI SE maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this model provider instance, used as a stable human-readable reference. This value is immutable after creation. example: azure-ai-se allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' config: description: Configuration for the model provider. type: object additionalProperties: false properties: auth: $ref: '#/components/schemas/AIGatewayModelProviderConfigAuthBasic' required: - auth required: - type - display_name - name - config x-unstable: true AIGatewayModelProviderOpenai: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: type: type: string const: openai display_name: description: The display name for this model provider instance. type: string example: Azure AI SE maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this model provider instance, used as a stable human-readable reference. This value is immutable after creation. example: azure-ai-se allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' config: description: Configuration for the model provider. type: object additionalProperties: false properties: auth: $ref: '#/components/schemas/AIGatewayModelProviderConfigAuthBasic' required: - auth required: - type - display_name - name - config x-unstable: true AIGatewayModelProviderVercel: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: type: type: string const: vercel display_name: description: The display name for this model provider instance. type: string example: Azure AI SE maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this model provider instance, used as a stable human-readable reference. This value is immutable after creation. example: azure-ai-se allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' config: description: Configuration for the model provider. type: object additionalProperties: false properties: auth: $ref: '#/components/schemas/AIGatewayModelProviderConfigAuthBasic' required: - auth required: - type - display_name - name - config x-unstable: true AIGatewayModelProviderVllm: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: type: type: string const: vllm display_name: description: The display name for this model provider instance. type: string example: Azure AI SE maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this model provider instance, used as a stable human-readable reference. This value is immutable after creation. example: azure-ai-se allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' config: description: Configuration for the model provider. type: object additionalProperties: false properties: auth: $ref: '#/components/schemas/AIGatewayModelProviderConfigAuthBasic' required: - auth required: - type - display_name - name - config x-unstable: true AIGatewayModelProviderXai: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: type: type: string const: xai display_name: description: The display name for this model provider instance. type: string example: Azure AI SE maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this model provider instance, used as a stable human-readable reference. This value is immutable after creation. example: azure-ai-se allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' config: description: Configuration for the model provider. type: object additionalProperties: false properties: auth: $ref: '#/components/schemas/AIGatewayModelProviderConfigAuthBasic' required: - auth required: - type - display_name - name - config x-unstable: true AIGatewayModelProviderConfigAuthBasic: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Basic auth config for an upstream model provider. type: object properties: type: type: string const: basic headers: type: array items: type: object additionalProperties: false required: - name properties: name: description: | The name of the header used for authentication. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string x-referenceable: true value: description: | The auth header value for ‘header_name’, for example ‘Bearer key...’. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string nullable: false writeOnly: true x-referenceable: true x-speakeasy-terraform-plan-only: true maxItems: 1 x-speakeasy-param-computed: true params: type: array items: type: object additionalProperties: false required: - name properties: name: description: | This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string x-referenceable: true value: description: | This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string nullable: false writeOnly: true x-referenceable: true x-speakeasy-terraform-plan-only: true location: description: 'Specify whether the param name and value options go in a query string, or the POST form/JSON body.' type: string enum: - body - query x-speakeasy-unknown-values: allow maxItems: 1 x-speakeasy-param-computed: true additionalProperties: false required: - type title: AIGatewayModelProviderConfigAuthBasic x-unstable: true AIGatewayModelProviderBedrock: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Config for AWS model provider. type: object properties: type: type: string const: bedrock display_name: description: The display name for this model provider instance. type: string example: Azure AI SE maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this model provider instance, used as a stable human-readable reference. This value is immutable after creation. example: azure-ai-se allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' config: type: object additionalProperties: false properties: auth: discriminator: propertyName: type mapping: basic: '#/components/schemas/AIGatewayModelProviderConfigAuthBasic' aws: '#/components/schemas/AIGatewayModelProviderConfigAuthAWS' oneOf: - $ref: '#/components/schemas/AIGatewayModelProviderConfigAuthBasic' - $ref: '#/components/schemas/AIGatewayModelProviderConfigAuthAWS' required: - auth required: - type - display_name - name - config x-unstable: true AIGatewayModelProviderConfigAuthAWS: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for AWS model provider. type: object properties: type: type: string const: aws access_key_id: description: | The access key id for authenticating with static IAM User credentials. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string x-referenceable: true x-speakeasy-param-computed: false secret_access_key: description: | The secret access key for authenticating with static IAM User credentials. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string writeOnly: true x-referenceable: true x-speakeasy-param-computed: false session_token: description: | The session token for authenticating with temporary IAM credentials (issued by AWS STS, Vault, or SSO/SAML). It is sent to AWS as the `X-Amz-Security-Token` header. Because temporary credentials are short-lived, reference this from a secrets backend so it is refreshed before it expires. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string writeOnly: true x-referenceable: true x-speakeasy-param-computed: false assume_role_arn: description: | The ARN of the IAM role to assume for generating authentication tokens. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string x-referenceable: true x-speakeasy-param-computed: false role_session_name: description: | The session name for the temporary credentials when assuming the IAM role. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string x-referenceable: true x-speakeasy-param-computed: false sts_endpoint_url: description: 'The STS endpoint URL to use for generating authentication tokens. If not specified, the default AWS STS endpoint will be used.' type: string x-speakeasy-param-computed: false batch_role_arn: description: AWS role arn to use when calling the batch API. type: string x-speakeasy-param-computed: false required: - type title: AIGatewayModelProviderConfigAuthAWS x-unstable: true AIGatewayUpstreamConfig: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration applied when proxying to the upstream service, including authentication. type: object properties: auth: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Authentication to use when proxying to the upstream service. discriminator: propertyName: type mapping: aws: '#/components/schemas/AIGatewayUpstreamAuthAWS' oneOf: - $ref: '#/components/schemas/AIGatewayUpstreamAuthAWS' x-unstable: true additionalProperties: false x-unstable: true AIGatewayUpstreamAuthAWS: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. AWS IAM (SigV4) authentication for the upstream service. type: object properties: type: type: string const: aws access_key_id: description: | The access key id for authenticating with static IAM User credentials. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string x-referenceable: true x-speakeasy-param-computed: false secret_access_key: description: | The secret access key for authenticating with static IAM User credentials. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string writeOnly: true x-referenceable: true x-speakeasy-param-computed: false session_token: description: | The session token for authenticating with temporary IAM credentials. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string writeOnly: true x-referenceable: true x-speakeasy-param-computed: false region: description: | The AWS region of the upstream service. Overrides the region inferred from the environment. type: string x-speakeasy-param-computed: false assume_role_arn: description: | The ARN of the IAM role to assume for generating authentication tokens. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string x-referenceable: true x-speakeasy-param-computed: false role_session_name: description: | The session name for the temporary credentials when assuming the IAM role. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string x-referenceable: true x-speakeasy-param-computed: false sts_endpoint_url: description: | The STS endpoint URL to use for generating authentication tokens. If not specified, the default AWS STS endpoint will be used. type: string x-speakeasy-param-computed: false example: type: aws region: us-east-1 access_key_id: AKIAIOSFODNN7EXAMPLE required: - type title: AIGatewayUpstreamAuthAWS x-unstable: true AIGatewayModelProviderAzure: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Config for Azure model provider. type: object properties: type: type: string const: azure display_name: description: The display name for this model provider instance. type: string example: Azure AI SE maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this model provider instance, used as a stable human-readable reference. This value is immutable after creation. example: azure-ai-se allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' config: type: object additionalProperties: false properties: auth: discriminator: propertyName: type mapping: basic: '#/components/schemas/AIGatewayModelProviderConfigAuthBasic' azure: '#/components/schemas/AIGatewayModelProviderConfigAuthAzure' oneOf: - $ref: '#/components/schemas/AIGatewayModelProviderConfigAuthBasic' - $ref: '#/components/schemas/AIGatewayModelProviderConfigAuthAzure' service: description: | Selects the Azure backend for this provider instance. Use `azure-openai` for Azure OpenAI deployments or `azure-foundry` for Azure AI Foundry. type: string default: azure-openai enum: - azure-openai - azure-foundry x-speakeasy-unknown-values: allow instance: description: | The Azure OpenAI instance name. Required when `service` is `azure-openai`. type: string example: kong-az-east x-speakeasy-param-computed: false foundry: description: | Endpoint configuration for Azure AI Foundry hosted models. Required when `service` is `azure-foundry`. type: object additionalProperties: false properties: resource: description: The Azure AI Foundry resource name. type: string example: kong-foundry-east domain: description: The domain for Azure AI Foundry hosted models. type: string default: services.ai.azure.com required: - resource x-speakeasy-param-computed: false required: - auth required: - type - display_name - name - config x-unstable: true AIGatewayModelProviderConfigAuthAzure: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for Azure model provider. type: object properties: type: type: string const: azure client_id: description: | If azure_use_managed_identity is set to true, and you need to use a different user-assigned identity for this LLM instance, set the client ID. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string x-referenceable: true x-speakeasy-param-computed: false client_secret: description: | If azure_use_managed_identity is set to true, and you need to use a different user-assigned identity for this LLM instance, set the client secret. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string writeOnly: true x-referenceable: true x-speakeasy-param-computed: false tenant_id: description: | If azure_use_managed_identity is set to true, and you need to use a different user-assigned identity for this LLM instance, set the tenant ID. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string x-referenceable: true x-speakeasy-param-computed: false use_managed_identity: description: Set true to use the Azure Cloud Managed Identity (or user-assigned identity) to authenticate with Azure-provider models. type: boolean x-speakeasy-param-computed: false additionalProperties: false required: - type title: AIGatewayModelProviderConfigAuthAzure x-unstable: true AIGatewayModelProviderGemini: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Config for GCP model provider. type: object properties: type: type: string const: gemini display_name: description: The display name for this model provider instance. type: string example: Azure AI SE maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this model provider instance, used as a stable human-readable reference. This value is immutable after creation. example: azure-ai-se allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' config: type: object additionalProperties: false properties: auth: discriminator: propertyName: type mapping: basic: '#/components/schemas/AIGatewayModelProviderConfigAuthBasic' gcp: '#/components/schemas/AIGatewayModelProviderConfigAuthGCP' oneOf: - $ref: '#/components/schemas/AIGatewayModelProviderConfigAuthBasic' - $ref: '#/components/schemas/AIGatewayModelProviderConfigAuthGCP' required: - auth required: - type - display_name - name - config x-unstable: true AIGatewayModelProviderConfigAuthGCP: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for GCP model provider. type: object properties: type: type: string const: gcp service_account_json: description: | Full JSON string of the GCP service account to authenticate. If not set (and gcp_use_service_account is true), the service account JSON will be from the environment variable GCP_SERVICE_ACCOUNT. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string writeOnly: true x-referenceable: true x-speakeasy-param-computed: false metadata_url: description: | Custom metadata URL for GCP authentication. Useful for restricted network environments or custom GCP endpoints. If not set, Kong will use the default Google metadata endpoint. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string x-referenceable: true x-speakeasy-param-computed: false oauth_token_url: description: | Custom OAuth token URL for GCP authentication. Useful for restricted network environments or custom GCP endpoints. If not set, Kong will use the default Google OAuth token endpoint. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string x-referenceable: true x-speakeasy-param-computed: false use_gcp_service_account: description: Use service account auth for GCP-based providers and models. type: boolean x-speakeasy-param-computed: false additionalProperties: false required: - type title: AIGatewayModelProviderConfigAuthGCP x-unstable: true AIGatewayModelProviderVertex: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Config for Vertex model provider. type: object properties: type: type: string const: vertex display_name: description: The display name for this model provider instance. type: string example: Azure AI SE maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this model provider instance, used as a stable human-readable reference. This value is immutable after creation. example: azure-ai-se allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' config: type: object additionalProperties: false properties: auth: discriminator: propertyName: type mapping: basic: '#/components/schemas/AIGatewayModelProviderConfigAuthBasic' vertex: '#/components/schemas/AIGatewayModelProviderConfigAuthVertex' oneOf: - $ref: '#/components/schemas/AIGatewayModelProviderConfigAuthBasic' - $ref: '#/components/schemas/AIGatewayModelProviderConfigAuthVertex' required: - auth required: - type - display_name - name - config x-unstable: true AIGatewayModelProviderSagemaker: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Config for Sagemaker model provider. type: object properties: type: type: string const: sagemaker display_name: description: The display name for this model provider instance. type: string example: Azure AI SE maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this model provider instance, used as a stable human-readable reference. This value is immutable after creation. example: azure-ai-se allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' config: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object additionalProperties: false properties: auth: discriminator: propertyName: type mapping: basic: '#/components/schemas/AIGatewayModelProviderConfigAuthBasic' sagemaker: '#/components/schemas/AIGatewayModelProviderConfigAuthSagemaker' oneOf: - $ref: '#/components/schemas/AIGatewayModelProviderConfigAuthBasic' - $ref: '#/components/schemas/AIGatewayModelProviderConfigAuthSagemaker' required: - auth x-unstable: true required: - type - display_name - name - config x-unstable: true AIGatewayModelProviderConfigAuthSagemaker: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Auth configuration for Sagemaker model provider. type: object properties: type: type: string enum: - sagemaker aws: type: object default: null additionalProperties: false nullable: true properties: access_key_id: description: static IAM user credential; overrides AWS_ACCESS_KEY_ID env var type: string default: null nullable: true x-speakeasy-param-computed: false secret_access_key: description: static IAM user credential; overrides AWS_SECRET_ACCESS_KEY env var type: string default: null nullable: true x-speakeasy-param-computed: false session_token: description: static IAM user credential; overrides AWS_SESSION_TOKEN env var type: string default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-param-computed: false additionalProperties: false required: - type title: AIGatewayModelProviderConfigAuthSagemaker x-unstable: true AIGatewayModelProviderConfigAuthVertex: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Configuration for Vertex model provider. type: object properties: type: type: string const: vertex use_gcp_service_account: description: Use the Google Cloud Service Account (or user-assigned identity) to authenticate with Vertex-provider models. type: boolean default: true enum: - true service_account_json: description: | Full JSON string of the GCP service account to authenticate. If not set, the service account JSON will be from the environment variable GCP_SERVICE_ACCOUNT. This field is [referenceable](https://developer.konghq.com/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault). type: string writeOnly: true x-referenceable: true x-speakeasy-param-computed: false additionalProperties: false required: - type title: AIGatewayModelProviderConfigAuthVertex x-unstable: true CreateAIGatewayConfigStoreRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: display_name: description: The display name of the Config Store. type: string example: my-config-store maxLength: 256 pattern: '^[a-zA-Z0-9.\-_~]*$' x-speakeasy-param-computed: false name: description: The name of the Config Store. This value is immutable after creation. example: my-config-store allOf: - $ref: '#/components/schemas/AIGatewayConfigStoreName' additionalProperties: false required: - name x-unstable: true UpdateAIGatewayConfigStoreRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: display_name: description: The display name of the Config Store. type: string example: MyConfigStore x-speakeasy-param-computed: false labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' additionalProperties: false x-unstable: true AIGatewayConfigStore: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: display_name: description: The display name of the Config Store. type: string example: my-config-store maxLength: 256 pattern: '^[a-zA-Z0-9.\-_~]*$' x-speakeasy-param-computed: false name: description: The name of the Config Store. This value is immutable after creation. example: my-config-store allOf: - $ref: '#/components/schemas/AIGatewayConfigStoreName' id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - name - id - created_at - updated_at x-unstable: true AIGatewayConfigStoreSecretKey: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. The unique key identifying the secret within the Config Store. type: string example: my-secret-key maxLength: 512 minLength: 1 x-speakeasy-param-force-new: true x-unstable: true AIGatewayConfigStoreSecretValue: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. The secret value. Once stored, this value cannot be retrieved. type: string example: my-secret-value maxLength: 5120 writeOnly: true x-speakeasy-param-sensitive: true x-speakeasy-terraform-plan-only: true x-unstable: true CreateAIGatewayConfigStoreSecretRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: key: $ref: '#/components/schemas/AIGatewayConfigStoreSecretKey' value: $ref: '#/components/schemas/AIGatewayConfigStoreSecretValue' additionalProperties: false required: - key - value x-unstable: true UpdateAIGatewayConfigStoreSecretRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: value: $ref: '#/components/schemas/AIGatewayConfigStoreSecretValue' additionalProperties: false required: - value x-unstable: true AIGatewayConfigStoreSecret: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: key: $ref: '#/components/schemas/AIGatewayConfigStoreSecretKey' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - key - created_at - updated_at x-unstable: true CreateAIGatewayModelProviderRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. discriminator: propertyName: type mapping: anthropic: '#/components/schemas/AIGatewayModelProviderAnthropic' azure: '#/components/schemas/AIGatewayModelProviderAzure' bedrock: '#/components/schemas/AIGatewayModelProviderBedrock' cerebras: '#/components/schemas/AIGatewayModelProviderCerebras' cohere: '#/components/schemas/AIGatewayModelProviderCohere' dashscope: '#/components/schemas/AIGatewayModelProviderDashscope' databricks: '#/components/schemas/AIGatewayModelProviderDatabricks' deepseek: '#/components/schemas/AIGatewayModelProviderDeepseek' gemini: '#/components/schemas/AIGatewayModelProviderGemini' huggingface: '#/components/schemas/AIGatewayModelProviderHuggingface' kimi: '#/components/schemas/AIGatewayModelProviderKimi' llama2: '#/components/schemas/AIGatewayModelProviderLlama2' mistral: '#/components/schemas/AIGatewayModelProviderMistral' ollama: '#/components/schemas/AIGatewayModelProviderOllama' openai: '#/components/schemas/AIGatewayModelProviderOpenai' vercel: '#/components/schemas/AIGatewayModelProviderVercel' vllm: '#/components/schemas/AIGatewayModelProviderVllm' xai: '#/components/schemas/AIGatewayModelProviderXai' vertex: '#/components/schemas/AIGatewayModelProviderVertex' sagemaker: '#/components/schemas/AIGatewayModelProviderSagemaker' oneOf: - $ref: '#/components/schemas/AIGatewayModelProviderAnthropic' - $ref: '#/components/schemas/AIGatewayModelProviderAzure' - $ref: '#/components/schemas/AIGatewayModelProviderBedrock' - $ref: '#/components/schemas/AIGatewayModelProviderCerebras' - $ref: '#/components/schemas/AIGatewayModelProviderCohere' - $ref: '#/components/schemas/AIGatewayModelProviderDashscope' - $ref: '#/components/schemas/AIGatewayModelProviderDatabricks' - $ref: '#/components/schemas/AIGatewayModelProviderDeepseek' - $ref: '#/components/schemas/AIGatewayModelProviderGemini' - $ref: '#/components/schemas/AIGatewayModelProviderHuggingface' - $ref: '#/components/schemas/AIGatewayModelProviderKimi' - $ref: '#/components/schemas/AIGatewayModelProviderLlama2' - $ref: '#/components/schemas/AIGatewayModelProviderMistral' - $ref: '#/components/schemas/AIGatewayModelProviderOllama' - $ref: '#/components/schemas/AIGatewayModelProviderOpenai' - $ref: '#/components/schemas/AIGatewayModelProviderVercel' - $ref: '#/components/schemas/AIGatewayModelProviderVllm' - $ref: '#/components/schemas/AIGatewayModelProviderXai' - $ref: '#/components/schemas/AIGatewayModelProviderVertex' - $ref: '#/components/schemas/AIGatewayModelProviderSagemaker' x-unstable: true UpdateAIGatewayModelProviderRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. discriminator: propertyName: type mapping: anthropic: '#/components/schemas/AIGatewayModelProviderAnthropic' azure: '#/components/schemas/AIGatewayModelProviderAzure' bedrock: '#/components/schemas/AIGatewayModelProviderBedrock' cerebras: '#/components/schemas/AIGatewayModelProviderCerebras' cohere: '#/components/schemas/AIGatewayModelProviderCohere' dashscope: '#/components/schemas/AIGatewayModelProviderDashscope' databricks: '#/components/schemas/AIGatewayModelProviderDatabricks' deepseek: '#/components/schemas/AIGatewayModelProviderDeepseek' gemini: '#/components/schemas/AIGatewayModelProviderGemini' huggingface: '#/components/schemas/AIGatewayModelProviderHuggingface' kimi: '#/components/schemas/AIGatewayModelProviderKimi' llama2: '#/components/schemas/AIGatewayModelProviderLlama2' mistral: '#/components/schemas/AIGatewayModelProviderMistral' ollama: '#/components/schemas/AIGatewayModelProviderOllama' openai: '#/components/schemas/AIGatewayModelProviderOpenai' vercel: '#/components/schemas/AIGatewayModelProviderVercel' vllm: '#/components/schemas/AIGatewayModelProviderVllm' xai: '#/components/schemas/AIGatewayModelProviderXai' vertex: '#/components/schemas/AIGatewayModelProviderVertex' sagemaker: '#/components/schemas/AIGatewayModelProviderSagemaker' oneOf: - $ref: '#/components/schemas/AIGatewayModelProviderAnthropic' - $ref: '#/components/schemas/AIGatewayModelProviderAzure' - $ref: '#/components/schemas/AIGatewayModelProviderBedrock' - $ref: '#/components/schemas/AIGatewayModelProviderCerebras' - $ref: '#/components/schemas/AIGatewayModelProviderCohere' - $ref: '#/components/schemas/AIGatewayModelProviderDashscope' - $ref: '#/components/schemas/AIGatewayModelProviderDatabricks' - $ref: '#/components/schemas/AIGatewayModelProviderDeepseek' - $ref: '#/components/schemas/AIGatewayModelProviderGemini' - $ref: '#/components/schemas/AIGatewayModelProviderHuggingface' - $ref: '#/components/schemas/AIGatewayModelProviderKimi' - $ref: '#/components/schemas/AIGatewayModelProviderLlama2' - $ref: '#/components/schemas/AIGatewayModelProviderMistral' - $ref: '#/components/schemas/AIGatewayModelProviderOllama' - $ref: '#/components/schemas/AIGatewayModelProviderOpenai' - $ref: '#/components/schemas/AIGatewayModelProviderVercel' - $ref: '#/components/schemas/AIGatewayModelProviderVllm' - $ref: '#/components/schemas/AIGatewayModelProviderXai' - $ref: '#/components/schemas/AIGatewayModelProviderVertex' - $ref: '#/components/schemas/AIGatewayModelProviderSagemaker' x-unstable: true AIGatewayModelProvider: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' discriminator: propertyName: type mapping: anthropic: '#/components/schemas/AIGatewayModelProviderAnthropic' azure: '#/components/schemas/AIGatewayModelProviderAzure' bedrock: '#/components/schemas/AIGatewayModelProviderBedrock' cerebras: '#/components/schemas/AIGatewayModelProviderCerebras' cohere: '#/components/schemas/AIGatewayModelProviderCohere' dashscope: '#/components/schemas/AIGatewayModelProviderDashscope' databricks: '#/components/schemas/AIGatewayModelProviderDatabricks' deepseek: '#/components/schemas/AIGatewayModelProviderDeepseek' gemini: '#/components/schemas/AIGatewayModelProviderGemini' huggingface: '#/components/schemas/AIGatewayModelProviderHuggingface' kimi: '#/components/schemas/AIGatewayModelProviderKimi' llama2: '#/components/schemas/AIGatewayModelProviderLlama2' mistral: '#/components/schemas/AIGatewayModelProviderMistral' ollama: '#/components/schemas/AIGatewayModelProviderOllama' openai: '#/components/schemas/AIGatewayModelProviderOpenai' vercel: '#/components/schemas/AIGatewayModelProviderVercel' vllm: '#/components/schemas/AIGatewayModelProviderVllm' xai: '#/components/schemas/AIGatewayModelProviderXai' vertex: '#/components/schemas/AIGatewayModelProviderVertex' sagemaker: '#/components/schemas/AIGatewayModelProviderSagemaker' oneOf: - $ref: '#/components/schemas/AIGatewayModelProviderAnthropic' - $ref: '#/components/schemas/AIGatewayModelProviderAzure' - $ref: '#/components/schemas/AIGatewayModelProviderBedrock' - $ref: '#/components/schemas/AIGatewayModelProviderCerebras' - $ref: '#/components/schemas/AIGatewayModelProviderCohere' - $ref: '#/components/schemas/AIGatewayModelProviderDashscope' - $ref: '#/components/schemas/AIGatewayModelProviderDatabricks' - $ref: '#/components/schemas/AIGatewayModelProviderDeepseek' - $ref: '#/components/schemas/AIGatewayModelProviderGemini' - $ref: '#/components/schemas/AIGatewayModelProviderHuggingface' - $ref: '#/components/schemas/AIGatewayModelProviderKimi' - $ref: '#/components/schemas/AIGatewayModelProviderLlama2' - $ref: '#/components/schemas/AIGatewayModelProviderMistral' - $ref: '#/components/schemas/AIGatewayModelProviderOllama' - $ref: '#/components/schemas/AIGatewayModelProviderOpenai' - $ref: '#/components/schemas/AIGatewayModelProviderVercel' - $ref: '#/components/schemas/AIGatewayModelProviderVllm' - $ref: '#/components/schemas/AIGatewayModelProviderXai' - $ref: '#/components/schemas/AIGatewayModelProviderVertex' - $ref: '#/components/schemas/AIGatewayModelProviderSagemaker' required: - id - created_at - updated_at x-unstable: true CreateAIGatewayIdentityProviderRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. discriminator: propertyName: type mapping: key-auth: '#/components/schemas/AIGatewayIdentityProviderKeyAuth' openid-connect: '#/components/schemas/AIGatewayIdentityProviderOpenIDConnect' oneOf: - $ref: '#/components/schemas/AIGatewayIdentityProviderKeyAuth' - $ref: '#/components/schemas/AIGatewayIdentityProviderOpenIDConnect' x-unstable: true UpdateAIGatewayIdentityProviderRequest: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. discriminator: propertyName: type mapping: key-auth: '#/components/schemas/AIGatewayIdentityProviderKeyAuth' openid-connect: '#/components/schemas/AIGatewayIdentityProviderOpenIDConnect' oneOf: - $ref: '#/components/schemas/AIGatewayIdentityProviderKeyAuth' - $ref: '#/components/schemas/AIGatewayIdentityProviderOpenIDConnect' x-unstable: true AIGatewayIdentityProvider: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. discriminator: propertyName: type mapping: key-auth: '#/components/schemas/AIGatewayIdentityProviderKeyAuthResponse' openid-connect: '#/components/schemas/AIGatewayIdentityProviderOpenIDConnectResponse' oneOf: - $ref: '#/components/schemas/AIGatewayIdentityProviderKeyAuthResponse' - $ref: '#/components/schemas/AIGatewayIdentityProviderOpenIDConnectResponse' x-unstable: true AIGatewayIdentityProviderKeyAuthResponse: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: display_name: description: The display name for this identity provider instance. type: string example: Okta AI SE maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this identity provider instance, used as a stable human-readable reference. This value is immutable after creation. example: okta-ai-se allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' type: type: string const: key-auth config: description: | Configuration for the Kong Key auth identity provider. For advanced use cases, additional config properties can be sent in the request body. See: https://developer.konghq.com/plugins/key-auth/reference/ for the list of properties type: object additionalProperties: true x-speakeasy-param-computed: true x-speakeasy-type-override: any id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - display_name - name - type - id - created_at - updated_at title: AIGatewayIdentityProviderKeyAuthConfig x-unstable: true AIGatewayIdentityProviderOpenIDConnectResponse: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. type: object properties: display_name: description: The display name for this identity provider instance. type: string example: Okta AI SE maxLength: 256 minLength: 1 name: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A user-defined unique identifier for this identity provider instance, used as a stable human-readable reference. This value is immutable after creation. example: okta-ai-se allOf: - $ref: '#/components/schemas/AIGatewayEntityIdentifier' x-unstable: true labels: $ref: '#/components/schemas/PublicLabels' managed_by: $ref: '#/components/schemas/ManagedBy' type: type: string const: openid-connect config: description: | Configuration for the OpenID Connect identity provider. For advanced use cases, additional config properties can be sent in the request body. See: https://developer.konghq.com/plugins/openid-connect/reference/ for the list of properties type: object additionalProperties: true x-speakeasy-param-computed: true x-speakeasy-type-override: any id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - display_name - name - type - id - created_at - updated_at title: AIGatewayIdentityProviderOpenIDConnectConfig x-unstable: true PublicLabels: description: | Public labels store information about an entity that can be used for filtering a list of objects. Public labels are intended to store **PUBLIC** metadata. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_". type: object example: category: finance additionalProperties: type: string pattern: '^[a-z0-9A-Z]{1}([a-z0-9A-Z-._]*[a-z0-9A-Z]+)?$' minLength: 1 maxLength: 63 maxProperties: 50 title: PublicLabels TooManyRequestsError: allOf: - $ref: '#/components/schemas/BaseError' - type: object properties: status: example: 429 title: example: Too Many Requests type: example: 'https://httpstatuses.com/429' instance: example: 'kong:trace:1234567890' detail: example: Too Many Requests CreatePortalCustomDomainSSL: type: object properties: domain_verification_method: type: string enum: - custom_certificate - http x-speakeasy-unknown-values: allow custom_certificate: description: Custom certificate to be used for the SSL termination. Only used when domain_verification_method == "custom_certificate" type: string nullable: false custom_private_key: description: Custom certificate private key to be used for the SSL termination. Only used when domain_verification_method == "custom_certificate" type: string nullable: false skip_ca_check: description: | Advanced option. If true, the custom certificate is served exactly as provided, without attempting to bundle against a public trust store. Required for certificates issued by an internal/private CA. type: boolean nullable: false additionalProperties: false EventGatewayConsumePolicySchemaValidationTFOnly: description: A policy associated with an Event Gateway. type: object properties: type: description: The type name of the policy. type: string maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' id: description: The unique identifier of the policy. type: string format: uuid config: description: The configuration of the policy. type: object created_at: $ref: '#/components/schemas/CreatedAt' parent_policy_id: description: 'The unique identifier of the parent policy, if any.' type: string format: uuid default: null nullable: true x-speakeasy-param-computed: false updated_at: $ref: '#/components/schemas/UpdatedAt' condition: description: A string containing the boolean expression that determines whether the policy is applied. type: string default: '' maxLength: 1000 x-expression: type: boolean fields: [] required: - type - id - created_at - updated_at - config EventGatewayProducePolicySchemaValidationTFOnly: description: A policy associated with an Event Gateway. type: object properties: type: description: The type name of the policy. type: string maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' id: description: The unique identifier of the policy. type: string format: uuid config: description: The configuration of the policy. type: object created_at: $ref: '#/components/schemas/CreatedAt' parent_policy_id: description: 'The unique identifier of the parent policy, if any.' type: string format: uuid default: null nullable: true x-speakeasy-param-computed: false updated_at: $ref: '#/components/schemas/UpdatedAt' condition: description: A string containing the boolean expression that determines whether the policy is applied. type: string default: '' maxLength: 1000 x-expression: type: boolean fields: [] required: - type - id - created_at - updated_at - config requestBodies: CreatePortalCustomDomain: description: Create a portal custom domain. required: true content: application/json: schema: $ref: '#/components/schemas/CreatePortalCustomDomainRequest' UpdatePortalCustomDomain: description: Create a portal custom domain. required: true content: application/json: schema: $ref: '#/components/schemas/UpdatePortalCustomDomainRequest' CreatePortal: description: Create a portal. required: true content: application/json: schema: x-speakeasy-entity: Portal type: object properties: id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' name: description: 'The name of the portal, used to distinguish it from other portals. Name must be unique.' type: string maxLength: 255 minLength: 1 display_name: description: The display name of the portal. This value will be the portal's `name` in Portal API. type: string maxLength: 255 minLength: 1 nullable: false description: description: A description of the portal. type: string default: null maxLength: 512 nullable: true x-speakeasy-param-computed: false authentication_enabled: description: 'Whether the portal supports developer authentication. If disabled, developers cannot register for accounts or create applications.' type: boolean default: true rbac_enabled: 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.' type: boolean default: false ai: $ref: '#/components/schemas/AISettings' sipr_enabled: description: Whether ip allow list is enabled for the portal. type: boolean example: true default: false default_api_visibility: 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.' type: string enum: - public - private x-speakeasy-unknown-values: allow default_page_visibility: 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.' type: string enum: - public - private x-speakeasy-unknown-values: allow default_application_auth_strategy_id: 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.' type: string format: uuid default: null nullable: true x-speakeasy-param-computed: false auto_approve_developers: description: 'Whether developer account registrations will be automatically approved, or if they will be set to pending until approved by an admin.' type: boolean default: false auto_approve_applications: 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.' type: boolean 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 x-speakeasy-param-suppress-computed-diff: true canonical_domain: description: The canonical domain of the developer portal type: string format: hostname nullable: false readOnly: true x-speakeasy-param-suppress-computed-diff: true labels: $ref: '#/components/schemas/LabelsUpdate' notifications_developer_pii_visibility_enabled: description: 'When enabled, portal registration notifications include the registering developer''s identifying information (such as name and email).' type: boolean default: false create_default_content: description: Use to create the portal page default content upon creation of this portal type: boolean default: false additionalProperties: false required: - name title: Portal x-property-annotations: ai: - x-unstable - x-internal create_default_content: - x-unstable - x-internal UpdatePortal: description: Update a portal's settings. required: true content: application/json: schema: x-speakeasy-entity: Portal type: object properties: id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' name: description: 'The name of the portal, used to distinguish it from other portals. Name must be unique.' type: string default: null maxLength: 255 minLength: 1 nullable: true x-speakeasy-param-computed: false display_name: description: The display name of the portal. This value will be the portal's `name` in Portal API. type: string maxLength: 255 minLength: 1 nullable: false description: description: A description of the portal. type: string default: null maxLength: 512 nullable: true x-speakeasy-param-computed: false authentication_enabled: description: 'Whether the portal supports developer authentication. If disabled, developers cannot register for accounts or create applications.' type: boolean default: true rbac_enabled: 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.' type: boolean default: false ai: $ref: '#/components/schemas/AISettings' sipr_enabled: description: Whether ip allow list is enabled for the portal. type: boolean example: true default: false default_api_visibility: 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.' type: string enum: - public - private x-speakeasy-unknown-values: allow default_page_visibility: 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.' type: string enum: - public - private x-speakeasy-unknown-values: allow default_application_auth_strategy_id: 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.' type: string format: uuid default: null nullable: true x-speakeasy-param-computed: false auto_approve_developers: description: 'Whether developer account registrations will be automatically approved, or if they will be set to pending until approved by an admin.' type: boolean default: false auto_approve_applications: 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.' type: boolean 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 x-speakeasy-param-suppress-computed-diff: true canonical_domain: description: The canonical domain of the developer portal type: string format: hostname nullable: false readOnly: true x-speakeasy-param-suppress-computed-diff: true labels: $ref: '#/components/schemas/LabelsUpdate' notifications_developer_pii_visibility_enabled: description: 'When enabled, portal registration notifications include the registering developer''s identifying information (such as name and email).' type: boolean default: false additionalProperties: false title: Portal x-property-annotations: ai: - x-unstable - x-internal UpdateDeveloper: description: Update a developer. required: true content: application/json: schema: $ref: '#/components/schemas/UpdateDeveloperRequest' ReplacePortalImageAsset: description: Update an image asset for the portal. required: true content: application/json: schema: $ref: '#/components/schemas/ReplacePortalImageAsset' ReplacePortalCustomization: content: application/json: schema: $ref: '#/components/schemas/PortalCustomizationV3' CreatePortalPage: description: Create a page in a portal. required: true content: application/json: schema: $ref: '#/components/schemas/CreatePortalPageRequest' UpdatePortalPage: description: Update a page in a portal. required: true content: application/json: schema: $ref: '#/components/schemas/UpdatePortalPageRequest' CreatePortalSnippet: description: Create a snippet in a portal. required: true content: application/json: schema: $ref: '#/components/schemas/CreatePortalSnippetRequest' UpdatePortalSnippet: description: Update a snippet in a portal. required: true content: application/json: schema: $ref: '#/components/schemas/UpdatePortalSnippetRequest' CreateDeveloper: description: Create a developer for a portal. required: true content: application/json: schema: $ref: '#/components/schemas/CreateDeveloperRequest' CreateApplication: description: Create an application for a portal. required: true content: application/json: schema: $ref: '#/components/schemas/CreateApplicationRequest' CreateApplicationRegistration: description: Create an application registration for a portal application. required: true content: application/json: schema: $ref: '#/components/schemas/CreateApplicationRegistrationRequest' UpdateApplicationRegistration: description: Update an application registration. required: true content: application/json: schema: $ref: '#/components/schemas/UpdateApplicationRegistrationRequest' UpdateApplication: description: Update an application. required: true content: application/json: schema: $ref: '#/components/schemas/UpdateApplicationRequest' UpdatePortalAuditLogWebhook: description: The request schema to modify an portal audit log webhook. content: application/json: schema: type: object properties: enabled: description: Indicates if the data should be sent to the configured destination. type: boolean example: true default: false audit_log_destination_id: description: ID of the audit log destination. type: string format: uuid default: null nullable: true x-speakeasy-param-computed: false include_principal_name: description: Whether to include the principal name in the audit log entries sent to the webhook. type: boolean example: true default: false x-property-annotations: include_principal_name: - x-internal - x-unstable PortalUpdateTeam: description: Update a team in a portal. content: application/json: schema: $ref: '#/components/schemas/PortalUpdateTeamRequest' PortalCreateTeam: description: Create a team in a portal. content: application/json: schema: $ref: '#/components/schemas/PortalCreateTeamRequest' UpdatePortalAuthenticationSettings: description: Update a portal's developer authentication settings. content: application/json: schema: $ref: '#/components/schemas/PortalAuthenticationSettingsUpdateRequest' PortalAssignRole: description: Assign a role to a team. content: application/json: schema: $ref: '#/components/schemas/PortalAssignRoleRequest' CreatePortalSourceIPRestriction: content: application/json: schema: type: object properties: allowed_ips: $ref: '#/components/schemas/PortalAllowedIPs' additionalProperties: false required: - allowed_ips CreateApiRequest: required: true content: application/json: schema: type: object properties: id: description: The API identifier. type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 readOnly: true x-speakeasy-param-suppress-computed-diff: true name: description: | The name of your API. The `name + version` combination must be unique for each API you publish. type: string example: MyAPI maxLength: 255 minLength: 1 description: description: A description of your API. Will be visible on your live Portal. type: string default: null nullable: true x-speakeasy-param-computed: false version: description: An optional version for your API. Leave this empty if your API is unversioned. type: string maxLength: 255 minLength: 1 nullable: true x-speakeasy-param-computed: true current_version_summary: $ref: '#/components/schemas/ApiVersionSummary' slug: description: | The `slug` is used in generated URLs to provide human readable paths. Defaults to `slugify(name + version)` type: string example: my-api-v1 nullable: true pattern: '^[\w-]+$' x-speakeasy-param-computed: true api_spec_ids: description: The list of API specification ids for the API. type: array items: type: string format: uuid description: The id of the API specification. example: 123e4567-e89b-12d3-a456-426614174000 deprecated: true readOnly: true x-speakeasy-param-suppress-computed-diff: true portals: description: The list of portals which this API is published to. type: array items: type: object additionalProperties: false required: - id - name - display_name properties: id: description: The portal identifier. type: string format: uuid example: 25a2624c-49fc-4764-99e1-224ed819f200 name: description: 'The name of the portal, used to distinguish it from other portals.' type: string example: My Portal display_name: description: The display name of the portal. This value will be the portal's `name` in Portal API. type: string example: My Portal nullable: false readOnly: true uniqueItems: true x-speakeasy-param-suppress-computed-diff: true labels: $ref: '#/components/schemas/Labels' implementation_mode: description: the implementations that are associated with this api either gateway_entity_binding or access_control_enforcement type: string default: null nullable: true readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true attributes: $ref: '#/components/schemas/ApiAttributes' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' spec: $ref: '#/components/schemas/ApiSpecPayload' spec_content: description: 'The content of the API specification. This is the raw content of the API specification, in json or yaml. By including this field, you can add a API specification without having to make a separate call to update the API specification.' type: string nullable: false writeOnly: true additionalProperties: false required: - name title: API CreateApiSpecRequest: required: true content: application/json: schema: type: object properties: id: description: The API specification identifier. type: string format: uuid example: 7710d5c4-d902-410b-992f-18b814155b53 readOnly: true x-speakeasy-param-suppress-computed-diff: true content: 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"}}}}}}' type: string validation_messages: description: The errors that occurred while parsing the API specification. type: array items: type: object additionalProperties: false required: - message properties: message: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true type: description: | The type of specification being stored. This allows us to render the specification correctly. type: string example: oas3 enum: - oas2 - oas3 - asyncapi title: API Spec Type x-speakeasy-unknown-values: allow created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - content title: API Specification CreateApiVersionRequest: required: true content: application/json: schema: type: object properties: version: description: The version of the api. type: string example: 1.0.0 default: null nullable: true x-speakeasy-param-computed: false spec: type: object additionalProperties: false properties: content: default: null description: 'The raw content of 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"}}}}}}' nullable: true type: string x-speakeasy-param-computed: false provider: description: | Represent spec provider information used for fetching the API spec. For raw, provide the raw content in the `content` property instead of using this provider. oneOf: - $ref: '#/components/schemas/UrlApiSpecProvider' - $ref: '#/components/schemas/IntegrationApiSpecProviderPayload' - $ref: '#/components/schemas/ResourceBoundIntegrationApiSpecProviderPayload' x-property-annotations: provider: - x-internal additionalProperties: false required: - spec title: API Version Request CreateApiDocumentRequest: required: true content: application/json: schema: type: object 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' additionalProperties: false required: - content title: API Document UpdateApiRequest: required: true content: application/json: schema: type: object properties: id: description: The API identifier. type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 readOnly: true x-speakeasy-param-suppress-computed-diff: true name: description: | The name of your API. The `name + version` combination must be unique for each API you publish. type: string example: MyAPI default: null maxLength: 255 minLength: 1 nullable: true x-speakeasy-param-computed: false description: description: A description of your API. Will be visible on your live Portal. type: string default: null nullable: true x-speakeasy-param-computed: false version: description: An optional version for your API. Leave this empty if your API is unversioned. type: string maxLength: 255 minLength: 1 nullable: true x-speakeasy-param-computed: true current_version_summary: $ref: '#/components/schemas/ApiVersionSummary' slug: description: | The `slug` is used in generated URLs to provide human readable paths. Defaults to `slugify(name + version)` type: string example: my-api-v1 nullable: true pattern: '^[\w-]+$' x-speakeasy-param-computed: true api_spec_ids: description: The list of API specification ids for the API. type: array items: type: string format: uuid description: The id of the API specification. example: 123e4567-e89b-12d3-a456-426614174000 deprecated: true readOnly: true x-speakeasy-param-suppress-computed-diff: true portals: description: The list of portals which this API is published to. type: array items: type: object additionalProperties: false required: - id - name - display_name properties: id: description: The portal identifier. type: string format: uuid example: 25a2624c-49fc-4764-99e1-224ed819f200 name: description: 'The name of the portal, used to distinguish it from other portals.' type: string example: My Portal display_name: description: The display name of the portal. This value will be the portal's `name` in Portal API. type: string example: My Portal nullable: false readOnly: true uniqueItems: true x-speakeasy-param-suppress-computed-diff: true labels: $ref: '#/components/schemas/LabelsUpdate' implementation_mode: description: the implementations that are associated with this api either gateway_entity_binding or access_control_enforcement type: string default: null nullable: true readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true attributes: $ref: '#/components/schemas/ApiAttributes' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false title: API UpdateApiDocumentRequest: required: true content: application/json: schema: $ref: '#/components/schemas/ApiDocument' UpdateApiSpecRequest: required: true content: application/json: schema: $ref: '#/components/schemas/ApiSpec' UpdateApiVersionRequest: required: true content: application/json: schema: $ref: '#/components/schemas/APIVersionRequest' PutApiPublicationRequest: required: true content: application/json: schema: $ref: '#/components/schemas/ApiPublication' CreateApiImplementationRequest: required: true content: application/json: schema: $ref: '#/components/schemas/ApiImplementation' CreateSecretPayload: description: Secret to be created required: true content: application/json: schema: $ref: '#/components/schemas/CreateSecretPayload' UpdateSecretPayload: description: Secret to be updated required: true content: application/json: schema: $ref: '#/components/schemas/UpdateSecretPayload' CreateAuthServer: description: Auth server to be created required: true content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/AuthServerName' description: $ref: '#/components/schemas/AuthServerDescription' audience: $ref: '#/components/schemas/Audience' signing_algorithm: $ref: '#/components/schemas/Algorithm' labels: $ref: '#/components/schemas/Labels' trusted_origins: $ref: '#/components/schemas/TrustedOrigins' dcr_default_access_token_duration: $ref: '#/components/schemas/DcrDefaultAccessTokenDuration' required: - name - audience x-property-annotations: dcr_default_access_token_duration: - x-unstable - x-internal UpdateAuthServer: description: Auth server to be updated required: true content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/AuthServerName' description: $ref: '#/components/schemas/AuthServerDescription' audience: $ref: '#/components/schemas/Audience' signing_algorithm: $ref: '#/components/schemas/UpdateAlgorithm' labels: $ref: '#/components/schemas/LabelsUpdate' trusted_origins: $ref: '#/components/schemas/TrustedOrigins' dcr_default_access_token_duration: $ref: '#/components/schemas/UpdateDcrDefaultAccessTokenDuration' x-property-annotations: dcr_default_access_token_duration: - x-unstable - x-internal CreateClaim: description: Claim to be created required: true content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/ClaimName' value: $ref: '#/components/schemas/ClaimValue' include_in_token: $ref: '#/components/schemas/ClaimIncludeInToken' include_in_all_scopes: $ref: '#/components/schemas/ClaimIncludeInAllScopes' include_in_scopes: $ref: '#/components/schemas/ClaimIncludeInScopes' enabled: $ref: '#/components/schemas/ClaimEnabled' required: - name - value UpdateClaim: description: Claim to be updated required: true content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/ClaimName' value: $ref: '#/components/schemas/ClaimValue' include_in_token: $ref: '#/components/schemas/UpdateClaimIncludeInToken' include_in_all_scopes: $ref: '#/components/schemas/UpdateClaimIncludeInAllScopes' include_in_scopes: $ref: '#/components/schemas/ClaimIncludeInScopes' enabled: $ref: '#/components/schemas/UpdateClaimEnabled' CreateScope: description: Scope to be created required: true content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/ScopeName' description: $ref: '#/components/schemas/ScopeDescription' default: $ref: '#/components/schemas/ScopeDefault' include_in_metadata: $ref: '#/components/schemas/ScopeIncludeInMetadata' enabled: $ref: '#/components/schemas/ScopeEnabled' required: - name UpdateScope: description: Scope to be update required: true content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/ScopeName' description: $ref: '#/components/schemas/ScopeDescription' default: $ref: '#/components/schemas/UpdateScopeDefault' include_in_metadata: $ref: '#/components/schemas/UpdateScopeIncludeInMetadata' enabled: $ref: '#/components/schemas/UpdateScopeEnabled' CreateClient: description: Client to be created required: true content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/ClientName' grant_types: $ref: '#/components/schemas/GrantTypes' response_types: $ref: '#/components/schemas/ResponseTypes' redirect_uris: $ref: '#/components/schemas/RedirectURIs' login_uri: $ref: '#/components/schemas/LoginURI' access_token_duration: $ref: '#/components/schemas/TokenDuration' id_token_duration: $ref: '#/components/schemas/TokenDuration' refresh_token_duration: $ref: '#/components/schemas/RefreshTokenDuration' allow_all_scopes: $ref: '#/components/schemas/ClientAllowAllScopes' allow_scopes: $ref: '#/components/schemas/ClientAllowScopes' labels: $ref: '#/components/schemas/Labels' token_endpoint_auth_method: $ref: '#/components/schemas/TokenEndpointAuthMethod' id: description: The OAuth 2.0 client ID type: string example: kYa9iQFU5xPDSIUH9z1z maxLength: 36 pattern: '[-_\w]+' x-speakeasy-param-computed: true client_secret: description: Secret of the client - will be used when ID is also set. type: string x-speakeasy-param-computed: true required: - name - grant_types - response_types x-property-annotations: login_uri: - x-unstable refresh_token_duration: - x-unstable - x-internal ReplaceClient: description: Client to be replaced required: true content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/ClientName' client_secret: description: Secret of the client type: string minLength: 1 grant_types: $ref: '#/components/schemas/GrantTypes' response_types: $ref: '#/components/schemas/ResponseTypes' redirect_uris: $ref: '#/components/schemas/RedirectURIs' login_uri: $ref: '#/components/schemas/LoginURI' access_token_duration: $ref: '#/components/schemas/TokenDuration' id_token_duration: $ref: '#/components/schemas/TokenDuration' refresh_token_duration: $ref: '#/components/schemas/RefreshTokenDuration' allow_all_scopes: $ref: '#/components/schemas/ClientAllowAllScopes' allow_scopes: $ref: '#/components/schemas/ClientAllowScopes' token_endpoint_auth_method: $ref: '#/components/schemas/TokenEndpointAuthMethod' labels: $ref: '#/components/schemas/Labels' required: - name - client_secret - grant_types - response_types x-property-annotations: login_uri: - x-unstable refresh_token_duration: - x-unstable - x-internal PersonalAccessTokenSettingsUpdateRequest: description: Request body schema for updating personal access token settings. content: application/json: schema: x-speakeasy-entity: OrganizationPersonalAccessTokenSettings type: object properties: pats_enabled: type: boolean default: null nullable: true x-speakeasy-param-computed: false max_expiration_period_days: $ref: '#/components/schemas/MaxPATExpirationPeriodDays' additionalProperties: false minProperties: 1 CreateEventGatewayListenerRequest: description: The request schema for creating a listener. content: application/json: schema: type: object properties: name: description: The unique name of the listener. type: string maxLength: 255 minLength: 1 description: description: A human-readable description of the listener. type: string default: '' maxLength: 512 addresses: $ref: '#/components/schemas/EventGatewayListenerAddresses' ports: $ref: '#/components/schemas/EventGatewayListenerPorts' labels: $ref: '#/components/schemas/Labels' additionalProperties: false required: - name - addresses - ports UpdateEventGatewayListenerRequest: description: The request schema for updating a listener. content: application/json: schema: type: object properties: name: description: The unique name of the listener. type: string maxLength: 255 minLength: 1 description: description: A human-readable description of the listener. type: string default: '' maxLength: 512 addresses: $ref: '#/components/schemas/EventGatewayListenerAddresses' ports: $ref: '#/components/schemas/EventGatewayListenerPorts' labels: $ref: '#/components/schemas/Labels' additionalProperties: false required: - name - addresses - ports CreateVirtualClusterRequest: description: The request schema for creating a virtual cluster. content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/VirtualClusterName' description: description: A human-readable description of the virtual cluster. type: string default: '' maxLength: 512 destination: $ref: '#/components/schemas/BackendClusterReferenceModify' authentication: $ref: '#/components/schemas/VirtualClusterAuthenticationSchemes' namespace: $ref: '#/components/schemas/VirtualClusterNamespace' topic_aliases: description: |- Topic aliases allow exposing backend topics under additional names. An alias creates a new entry point to the same physical data. The alias `topic` field references namespace-visible names (if namespace is configured). Aliases are independent of namespace and can be used without it. **Requires a minimum runtime version of `1.2`**. type: array items: $ref: '#/components/schemas/VirtualClusterTopicAlias' nullable: true x-min-runtime-version: '1.2' x-speakeasy-param-computed: false acl_mode: $ref: '#/components/schemas/VirtualClusterACLMode' dns_label: $ref: '#/components/schemas/VirtualClusterDNSLabel' labels: $ref: '#/components/schemas/Labels' additionalProperties: false required: - name - destination - authentication - dns_label - acl_mode UpdateVirtualClusterRequest: description: The request schema for updating a virtual cluster. content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/VirtualClusterName' description: description: A human-readable description of the virtual cluster. type: string default: '' maxLength: 512 destination: $ref: '#/components/schemas/BackendClusterReferenceModify' authentication: $ref: '#/components/schemas/VirtualClusterAuthenticationSensitiveDataAwareSchemes' namespace: $ref: '#/components/schemas/VirtualClusterNamespace' topic_aliases: description: |- Topic aliases allow exposing backend topics under additional names. An alias creates a new entry point to the same physical data. The alias `topic` field references namespace-visible names (if namespace is configured). Aliases are independent of namespace and can be used without it. **Requires a minimum runtime version of `1.2`**. type: array items: $ref: '#/components/schemas/VirtualClusterTopicAlias' nullable: true x-min-runtime-version: '1.2' x-speakeasy-param-computed: false acl_mode: $ref: '#/components/schemas/VirtualClusterACLMode' dns_label: $ref: '#/components/schemas/VirtualClusterDNSLabel' labels: $ref: '#/components/schemas/Labels' additionalProperties: false required: - name - destination - authentication - dns_label - acl_mode CreateBackendClusterRequest: description: The request schema for creating a backend cluster. content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/BackendClusterName' description: description: A human-readable description of the backend cluster. type: string default: '' maxLength: 512 authentication: $ref: '#/components/schemas/BackendClusterAuthenticationScheme' insecure_allow_anonymous_virtual_cluster_auth: description: | If true, virtual clusters can have allow anonymous authentication and use this backend cluster. This setting is not recommended for production use as it may create privilege escalation vulnerabilities. type: boolean default: false bootstrap_servers: $ref: '#/components/schemas/BootstrapServers' tls: $ref: '#/components/schemas/BackendClusterTLS' metadata_update_interval_seconds: $ref: '#/components/schemas/BackendMetadataUpdateIntervalSeconds' labels: $ref: '#/components/schemas/Labels' additionalProperties: false required: - name - authentication - bootstrap_servers - tls UpdateBackendClusterRequest: description: The request schema for updating a backend cluster. content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/BackendClusterName' description: description: A human-readable description of the backend cluster. type: string default: '' maxLength: 512 authentication: $ref: '#/components/schemas/BackendClusterAuthenticationSensitiveDataAwareScheme' insecure_allow_anonymous_virtual_cluster_auth: description: | If true, virtual clusters can have allow anonymous authentication and use this backend cluster. This setting is not recommended for production use as it may create privilege escalation vulnerabilities. type: boolean default: false bootstrap_servers: $ref: '#/components/schemas/BootstrapServers' tls: $ref: '#/components/schemas/BackendClusterTLS' metadata_update_interval_seconds: $ref: '#/components/schemas/BackendMetadataUpdateIntervalSeconds' labels: $ref: '#/components/schemas/Labels' additionalProperties: false required: - name - authentication - bootstrap_servers - tls CreateEventGatewayVaultRequest: description: The request schema for creating a vault. content: application/json: schema: $ref: '#/components/schemas/EventGatewayModifyVault' UpdateEventGatewayVaultRequest: description: The request schema for updating a vault. content: application/json: schema: $ref: '#/components/schemas/EventGatewayModifyVault' CreateSchemaRegistryRequest: description: The request schema for creating a schema registry. content: application/json: schema: $ref: '#/components/schemas/SchemaRegistryCreate' UpdateSchemaRegistryRequest: description: The request schema for updating a schema registry. content: application/json: schema: $ref: '#/components/schemas/SchemaRegistryUpdate' CreateEventGatewayDataPlaneCertificateRequest: content: application/json: schema: type: object properties: certificate: description: JSON escaped string of the certificate. type: string name: description: The name to identify of the certificate. type: string default: null nullable: true x-speakeasy-param-computed: false description: description: A description of the certificate. type: string x-speakeasy-param-computed: false required: - certificate description: Request body for creating a certificate. UpdateEventGatewayDataPlaneCertificateRequest: description: The request schema for updating a dataplane certificate. content: application/json: schema: type: object properties: certificate: description: JSON escaped string of the certificate. type: string name: description: The name to identify of the certificate. type: string default: null nullable: true x-speakeasy-param-computed: false description: description: A description of the certificate. type: string x-speakeasy-param-computed: false required: - certificate CreateEventGatewayStaticKeyRequest: description: The request schema for creating a static key. content: application/json: schema: $ref: '#/components/schemas/EventGatewayStaticKeyCreate' CreateTLSTrustBundleRequest: description: The request schema for creating a TLS trust bundle. required: true content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/TLSTrustBundleName' description: description: A human-readable description of the TLS trust bundle. type: string default: '' maxLength: 512 config: $ref: '#/components/schemas/TLSTrustBundleConfig' labels: $ref: '#/components/schemas/Labels' additionalProperties: false required: - name - config UpdateTLSTrustBundleRequest: description: The request schema for updating a TLS trust bundle. required: true content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/TLSTrustBundleName' description: description: A human-readable description of the TLS trust bundle. type: string default: '' maxLength: 512 config: $ref: '#/components/schemas/TLSTrustBundleConfig' labels: $ref: '#/components/schemas/Labels' additionalProperties: false CreateDirectoryRequest: description: Directory to be created required: true content: application/json: schema: $ref: '#/components/schemas/CreateDirectoryBody' ReplaceDirectoryRequest: description: Directory to be replaced required: true content: application/json: schema: $ref: '#/components/schemas/ReplaceDirectoryBody' responses: PortalAuthenticationSettings: description: Details about a portal's authentication settings. content: application/json: schema: $ref: '#/components/schemas/PortalAuthenticationSettingsResponse' PortalAssignedRole: description: Details about the role assignment. content: application/json: schema: $ref: '#/components/schemas/PortalAssignedRoleResponse' PortalTeam: description: Details about a team of developers in a portal. content: application/json: schema: $ref: '#/components/schemas/PortalTeamResponse' CreateDeveloperResponse: description: Details about the created developer in a portal. content: application/json: schema: $ref: '#/components/schemas/PortalDeveloper' GetDeveloper: description: Details about a developer in a portal. content: application/json: schema: $ref: '#/components/schemas/PortalDeveloper' UpdateDeveloper: description: Details about the developer being updated. content: application/json: schema: $ref: '#/components/schemas/PortalDeveloper' PortalCustomDomain: description: Portal custom domain content: application/json: schema: $ref: '#/components/schemas/PortalCustomDomain' ListPortalsResponse: description: A paginated list of portals in the current region of an organization. content: application/json: schema: type: object properties: data: type: array items: x-speakeasy-entity: Portal title: Portal type: object additionalProperties: false x-property-annotations: ai: - x-unstable - x-internal properties: id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' name: description: 'The name of the portal, used to distinguish it from other portals. Name must be unique.' type: string maxLength: 255 minLength: 1 display_name: description: The display name of the portal. This value will be the portal's `name` in Portal API. type: string maxLength: 255 minLength: 1 nullable: false description: description: A description of the portal. type: string default: null maxLength: 512 nullable: true x-speakeasy-param-computed: false authentication_enabled: description: 'Whether the portal supports developer authentication. If disabled, developers cannot register for accounts or create applications.' type: boolean default: true rbac_enabled: 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.' type: boolean default: false ai: $ref: '#/components/schemas/AISettings' sipr_enabled: description: Whether ip allow list is enabled for the portal. type: boolean example: true default: false default_api_visibility: 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.' type: string enum: - public - private x-speakeasy-unknown-values: allow default_page_visibility: 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.' type: string enum: - public - private x-speakeasy-unknown-values: allow default_application_auth_strategy_id: 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.' type: string format: uuid default: null nullable: true x-speakeasy-param-computed: false auto_approve_developers: description: 'Whether developer account registrations will be automatically approved, or if they will be set to pending until approved by an admin.' type: boolean default: false auto_approve_applications: 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.' type: boolean 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 x-speakeasy-param-suppress-computed-diff: true canonical_domain: description: The canonical domain of the developer portal type: string format: hostname nullable: false readOnly: true x-speakeasy-param-suppress-computed-diff: true labels: $ref: '#/components/schemas/Labels' notifications_developer_pii_visibility_enabled: description: 'When enabled, portal registration notifications include the registering developer''s identifying information (such as name and email).' type: boolean default: false required: - id - name - display_name - description - authentication_enabled - rbac_enabled - sipr_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' additionalProperties: false required: - data - meta PortalResponse: description: Details about a portal. content: application/json: schema: x-speakeasy-entity: Portal type: object properties: id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' name: description: 'The name of the portal, used to distinguish it from other portals. Name must be unique.' type: string maxLength: 255 minLength: 1 display_name: description: The display name of the portal. This value will be the portal's `name` in Portal API. type: string maxLength: 255 minLength: 1 nullable: false description: description: A description of the portal. type: string default: null maxLength: 512 nullable: true x-speakeasy-param-computed: false authentication_enabled: description: 'Whether the portal supports developer authentication. If disabled, developers cannot register for accounts or create applications.' type: boolean default: true rbac_enabled: 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.' type: boolean default: false ai: $ref: '#/components/schemas/AISettings' sipr_enabled: description: Whether ip allow list is enabled for the portal. type: boolean example: true default: false default_api_visibility: 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.' type: string enum: - public - private x-speakeasy-unknown-values: allow default_page_visibility: 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.' type: string enum: - public - private x-speakeasy-unknown-values: allow default_application_auth_strategy_id: 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.' type: string format: uuid default: null nullable: true x-speakeasy-param-computed: false auto_approve_developers: description: 'Whether developer account registrations will be automatically approved, or if they will be set to pending until approved by an admin.' type: boolean default: false auto_approve_applications: 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.' type: boolean 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 x-speakeasy-param-suppress-computed-diff: true canonical_domain: description: The canonical domain of the developer portal type: string format: hostname nullable: false readOnly: true x-speakeasy-param-suppress-computed-diff: true labels: $ref: '#/components/schemas/Labels' notifications_developer_pii_visibility_enabled: description: 'When enabled, portal registration notifications include the registering developer''s identifying information (such as name and email).' type: boolean default: false additionalProperties: false required: - id - name - display_name - description - authentication_enabled - rbac_enabled - sipr_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 title: Portal x-property-annotations: ai: - x-unstable - x-internal PortalAssetResponse: description: 'Image asset for the portal. Can be either png, jpeg or svg' content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/PortalImageDataUri' additionalProperties: false required: - data PortalCustomizationResponse: description: The current customization options for a portal. content: application/json: schema: $ref: '#/components/schemas/PortalCustomizationV3' PortalPage: description: Details about a page in a portal. content: application/json: schema: $ref: '#/components/schemas/PortalPageResponse' PortalSnippet: description: Details about a snippet in a portal. content: application/json: schema: $ref: '#/components/schemas/PortalSnippetResponse' GetApplication: description: Details about an application in a portal. content: application/json: schema: $ref: '#/components/schemas/GetApplicationResponse' GetApplicationRegistration: description: Details about an application registration. content: application/json: schema: $ref: '#/components/schemas/GetApplicationRegistrationResponse' UpdateApplicationRegistration: description: Details about the application registration being updated. content: application/json: schema: $ref: '#/components/schemas/UpdateApplicationRegistrationResponse' PortalAuditLogWebhook: description: Portal audit log webhook response content: application/json: schema: type: object properties: enabled: description: Indicates if the data should be sent to the configured audit log destination. type: boolean example: true default: false audit_log_destination_id: description: ID of the audit log destination. type: string format: uuid default: null nullable: true x-speakeasy-param-computed: false include_principal_name: description: Whether to include the principal name in the audit log entries sent to the webhook. type: boolean example: true default: false x-property-annotations: include_principal_name: - x-internal - x-unstable PortalWebhookBadRequest: description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' PortalSourceIPRestriction: description: The portal's IP allow list configuration. content: application/json: schema: $ref: '#/components/schemas/IPEntry' Unauthorized: description: Unauthorized content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' Forbidden: description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/ForbiddenError' NotFound: description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/NotFoundError' Conflict: description: Conflict content: application/problem+json: schema: $ref: '#/components/schemas/ConflictError' BadRequest: description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' Internal: description: Internal content: application/problem+json: schema: $ref: '#/components/schemas/BaseError' ApiSlugConflict: description: Conflict - `slug` property must be unique content: application/problem+json: schema: type: object properties: status: type: number title: type: string type: type: string default: null nullable: true x-speakeasy-param-computed: false instance: type: string required: - status - title - instance ApiSpecConflict: description: Conflict - An API may only have one specification content: application/problem+json: schema: $ref: '#/components/schemas/ConflictError' ApiSpecHiddenConflict: description: Conflict - name attribute must be unique across specifications content: application/problem+json: schema: $ref: '#/components/schemas/ConflictError' ApiVersionPatchConflict: description: Conflict - May occur when constraints are violated content: application/problem+json: schema: $ref: '#/components/schemas/ConflictError' ApiImplementationConflict: description: Conflict - A gateway service can only be linked to a single API content: application/problem+json: schema: $ref: '#/components/schemas/ConflictError' ApiUnauthorized: description: ApiUnauthorized content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' ApiNotFound: description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/NotFoundError' ApiForbidden: description: ApiForbidden content: application/problem+json: schema: $ref: '#/components/schemas/ForbiddenError' ApiPublicationBadRequest: description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' ApiResponse: description: API content: application/json: schema: $ref: '#/components/schemas/ApiResponseSchema' ApiDocumentResponse: description: API document content: application/json: schema: type: object 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' additionalProperties: false required: - id - parent_document_id - title - slug - status - content - updated_at - created_at title: API Document ApiSpecResponse: description: API specification (OpenAPI or AsyncAPI) content: application/json: schema: type: object properties: id: description: The API specification identifier. type: string format: uuid example: 7710d5c4-d902-410b-992f-18b814155b53 readOnly: true x-speakeasy-param-suppress-computed-diff: true content: 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"}}}}}}' type: string validation_messages: description: The errors that occurred while parsing the API specification. type: array items: type: object additionalProperties: false required: - message properties: message: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true type: description: | The type of specification being stored. This allows us to render the specification correctly. type: string example: oas3 enum: - oas2 - oas3 - asyncapi title: API Spec Type x-speakeasy-unknown-values: allow created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - id - content - type - created_at - updated_at - validation_messages title: API Specification ApiVersionResponse: description: API version (OpenAPI or AsyncAPI) content: application/json: schema: type: object properties: id: description: The API version identifier. type: string format: uuid example: 7710d5c4-d902-410b-992f-18b814155b53 readOnly: true x-speakeasy-param-suppress-computed-diff: true version: description: The version of the api. type: string example: 1.0.0 spec: type: object default: null additionalProperties: false nullable: true properties: content: default: null 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"}}}}}}' nullable: true type: string x-speakeasy-param-computed: false type: description: | The type of specification being stored. This allows us to render the specification correctly. type: string example: oas3 enum: - oas2 - oas3 - asyncapi readOnly: true title: API Spec Type x-speakeasy-param-suppress-computed-diff: true x-speakeasy-unknown-values: allow validation_messages: description: The errors that occurred while parsing the API version spec. type: array items: type: object additionalProperties: false required: - message properties: message: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true provider: description: | The provider used to supply the spec content. In write requests, provide this instead of or alongside content. If omitted on writes, the server infers type raw from spec.content. oneOf: - $ref: '#/components/schemas/RawApiSpecProvider' - $ref: '#/components/schemas/UrlApiSpecProvider' - $ref: '#/components/schemas/IntegrationApiSpecProviderPayload' - $ref: '#/components/schemas/ResourceBoundIntegrationApiSpecProviderPayload' title: ApiSpecProvider x-internal: true x-property-annotations: provider: - x-internal x-speakeasy-param-computed: false created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - id - version - created_at - updated_at title: API Version ApiPublicationResponse: description: An API publication in a portal content: application/json: schema: description: An API publication in a portal type: object properties: environment: $ref: '#/components/schemas/ApiEnvironmentName' auto_approve_registrations: $ref: '#/components/schemas/AutoApproveRegistrations' auth_strategy_ids: $ref: '#/components/schemas/ApiPublicationAuthStrategyIds' visibility: $ref: '#/components/schemas/ApiPublicationVisibility' form_id: description: 'UUID of portal form associated with API publication, must be linked to given portal and have type of ''api_registration''' type: string format: uuid nullable: true x-speakeasy-param-computed: true warnings: description: Informational warnings (e.g. incompatible fields stripped for ACE). Empty if none. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - visibility - created_at - updated_at - auth_strategy_ids title: API Publication x-property-annotations: form_id: - x-internal - x-unstable environment: - x-internal - x-unstable ApiImplementationResponse: description: An API implementation content: application/json: schema: description: An entity that implements an API type: object oneOf: - $ref: '#/components/schemas/ApiImplementationGatewayServiceEntity' - $ref: '#/components/schemas/ApiImplementationControlPlaneEntity' required: - id - created_at - updated_at title: API Implementation UnsupportedMediaType: description: Unsupported Media Type content: application/problem+json: schema: $ref: '#/components/schemas/UnsupportedMediaTypeError' MeshAccessLogItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshAccessLogItem' MeshAccessLogList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshAccessLogItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshAccessLogCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshAccessLogDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshCircuitBreakerItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshCircuitBreakerItem' MeshCircuitBreakerList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshCircuitBreakerItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshCircuitBreakerCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshCircuitBreakerDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshFaultInjectionItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshFaultInjectionItem' MeshFaultInjectionList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshFaultInjectionItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshFaultInjectionCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshFaultInjectionDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshHealthCheckItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshHealthCheckItem' MeshHealthCheckList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshHealthCheckItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshHealthCheckCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshHealthCheckDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshHTTPRouteItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshHTTPRouteItem' MeshHTTPRouteList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshHTTPRouteItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshHTTPRouteCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshHTTPRouteDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshLoadBalancingStrategyItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshLoadBalancingStrategyItem' MeshLoadBalancingStrategyList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshLoadBalancingStrategyItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshLoadBalancingStrategyCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshLoadBalancingStrategyDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshMetricItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshMetricItem' MeshMetricList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshMetricItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshMetricCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshMetricDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshPassthroughItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshPassthroughItem' MeshPassthroughList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshPassthroughItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshPassthroughCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshPassthroughDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshProxyPatchItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshProxyPatchItem' MeshProxyPatchList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshProxyPatchItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshProxyPatchCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshProxyPatchDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshRateLimitItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshRateLimitItem' MeshRateLimitList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshRateLimitItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshRateLimitCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshRateLimitDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshRetryItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshRetryItem' MeshRetryList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshRetryItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshRetryCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshRetryDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshTCPRouteItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshTCPRouteItem' MeshTCPRouteList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshTCPRouteItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshTCPRouteCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshTCPRouteDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshTimeoutItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshTimeoutItem' MeshTimeoutList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshTimeoutItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshTimeoutCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshTimeoutDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshTLSItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshTLSItem' MeshTLSList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshTLSItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshTLSCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshTLSDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshTraceItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshTraceItem' MeshTraceList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshTraceItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshTraceCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshTraceDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshTrafficPermissionItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshTrafficPermissionItem' MeshTrafficPermissionList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshTrafficPermissionItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshTrafficPermissionCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshTrafficPermissionDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshItem' MeshList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshItem' next: description: URL to the next page type: string total: description: The total number of entities type: number MeshGatewayCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshGatewayDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshGatewayItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshGatewayItem' MeshGatewayList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshGatewayItem' next: description: URL to the next page type: string total: description: The total number of entities type: number SecretCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true SecretDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object SecretItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/SecretItem' SecretList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/SecretItem' default: null nullable: true x-speakeasy-param-computed: false next: description: URL to the next page type: string default: null nullable: true x-speakeasy-param-computed: false total: description: The total number of entities type: number default: null nullable: true x-speakeasy-param-computed: false ZoneEgressCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true ZoneEgressDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object ZoneEgressItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/ZoneEgressItem' ZoneEgressList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ZoneEgressItem' default: null nullable: true x-speakeasy-param-computed: false next: description: URL to the next page type: string default: null nullable: true x-speakeasy-param-computed: false total: description: The total number of entities type: number default: null nullable: true x-speakeasy-param-computed: false ZoneIngressCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true ZoneIngressDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object ZoneIngressItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/ZoneIngressItem' ZoneIngressList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ZoneIngressItem' default: null nullable: true x-speakeasy-param-computed: false next: description: URL to the next page type: string default: null nullable: true x-speakeasy-param-computed: false total: description: The total number of entities type: number default: null nullable: true x-speakeasy-param-computed: false HostnameGeneratorItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/HostnameGeneratorItem' HostnameGeneratorList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/HostnameGeneratorItem' default: null nullable: true x-speakeasy-param-computed: false total: description: The total number of entities type: number default: null nullable: true x-speakeasy-param-computed: false next: description: URL to the next page type: string default: null nullable: true x-speakeasy-param-computed: false HostnameGeneratorCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true HostnameGeneratorDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshExternalServiceItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshExternalServiceItem' MeshExternalServiceList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshExternalServiceItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshExternalServiceCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshExternalServiceDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshIdentityItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshIdentityItem' MeshIdentityList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshIdentityItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshIdentityCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshIdentityDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshMultiZoneServiceItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshMultiZoneServiceItem' MeshMultiZoneServiceList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshMultiZoneServiceItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshMultiZoneServiceCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshMultiZoneServiceDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshOpenTelemetryBackendItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshOpenTelemetryBackendItem' MeshOpenTelemetryBackendList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshOpenTelemetryBackendItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshOpenTelemetryBackendCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshOpenTelemetryBackendDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshServiceItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshServiceItem' MeshServiceList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshServiceItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshServiceCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshServiceDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshTrustItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshTrustItem' MeshTrustList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshTrustItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshTrustCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshTrustDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshZoneAddressItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshZoneAddressItem' MeshZoneAddressList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshZoneAddressItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshZoneAddressCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshZoneAddressDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object WorkloadItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/WorkloadItem' WorkloadList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/WorkloadItem' default: null nullable: true x-speakeasy-param-computed: false total: description: The total number of entities type: number default: null nullable: true x-speakeasy-param-computed: false next: description: URL to the next page type: string default: null nullable: true x-speakeasy-param-computed: false WorkloadCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true WorkloadDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshGlobalRateLimitItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshGlobalRateLimitItem' MeshGlobalRateLimitList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshGlobalRateLimitItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshGlobalRateLimitCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshGlobalRateLimitDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshOPAItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshOPAItem' MeshOPAList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshOPAItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshOPACreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshOPADeleteSuccessResponse: description: Successful response content: application/json: schema: type: object AccessAuditCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true AccessAuditDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object AccessAuditItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/AccessAuditItem' AccessAuditList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/AccessAuditItem' default: null nullable: true x-speakeasy-param-computed: false next: description: URL to the next page type: string default: null nullable: true x-speakeasy-param-computed: false total: description: The total number of entities type: number default: null nullable: true x-speakeasy-param-computed: false AccessRoleCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true AccessRoleDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object AccessRoleItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/AccessRoleItem' AccessRoleList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/AccessRoleItem' default: null nullable: true x-speakeasy-param-computed: false next: description: URL to the next page type: string default: null nullable: true x-speakeasy-param-computed: false total: description: The total number of entities type: number default: null nullable: true x-speakeasy-param-computed: false AccessRoleBindingCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true AccessRoleBindingDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object AccessRoleBindingItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/AccessRoleBindingItem' AccessRoleBindingList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/AccessRoleBindingItem' default: null nullable: true x-speakeasy-param-computed: false next: description: URL to the next page type: string default: null nullable: true x-speakeasy-param-computed: false total: description: The total number of entities type: number default: null nullable: true x-speakeasy-param-computed: false RetrieveMeshControlPlaneResponse: description: A response to creating a control plane. content: application/json: schema: $ref: '#/components/schemas/MeshControlPlane' CreateMeshControlPlaneResponse: description: A response to creating a control plane. content: application/json: schema: $ref: '#/components/schemas/MeshControlPlane' CreateMeshControlPlaneValidationError: description: Validation Error content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' PutMeshControlPlaneValidationError: description: Validation Error content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' DeleteMeshControlPlaneValidationError: description: Validation Error content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' MeshControlPlaneForbiddenError: description: Permission denied content: application/problem+json: schema: $ref: '#/components/schemas/ForbiddenError' MeshControlPlaneUnauthorizedError: description: Unauthorized Error content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' MeshControlPlaneNotFoundError: description: Not found content: application/problem+json: schema: $ref: '#/components/schemas/NotFoundError' PutMeshControlPlaneResponse: description: A response to updating a control plane. content: application/json: schema: $ref: '#/components/schemas/MeshControlPlane' ListMeshControlPlanesResponse: description: A paginated list response for a collection of control planes. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/MeshControlPlane' title: ListMeshControlPlanesResponse ClientSecretBody: description: A Client Secret item content: application/json: schema: $ref: '#/components/schemas/ClientSecretItem' AuthServer: description: An auth server content: application/json: schema: $ref: '#/components/schemas/AuthServer' Claim: description: A claim content: application/json: schema: $ref: '#/components/schemas/Claim' Scope: description: A scope content: application/json: schema: $ref: '#/components/schemas/Scope' Client: description: A client content: application/json: schema: $ref: '#/components/schemas/Client' CreatedClient: description: A client with a secret content: application/json: schema: $ref: '#/components/schemas/CreatedClient' PersonalAccessTokenSettingsResponse: description: Response containing personal access token settings. content: application/json: schema: x-speakeasy-entity: OrganizationPersonalAccessTokenSettings type: object properties: pats_enabled: type: boolean default: true max_expiration_period_days: $ref: '#/components/schemas/MaxPATExpirationPeriodDays' additionalProperties: false required: - pats_enabled - max_expiration_period_days CreateGatewayResponse: description: A response to creating a gateway. content: application/json: schema: $ref: '#/components/schemas/EventGatewayInfo' UpdateGatewayResponse: description: A response to updating a gateway. content: application/json: schema: $ref: '#/components/schemas/EventGatewayInfo' NotAvailable: description: Service not available content: application/problem+json: schema: $ref: '#/components/schemas/BaseError' CreateAddOnResponse: description: Response format for creating an add-on. content: application/json: schema: $ref: '#/components/schemas/AddOnResponse' RetrieveAddOnResponse: description: Response format for retrieving an add-on by ID. content: application/json: schema: $ref: '#/components/schemas/AddOnResponse' UpdateAddOnResponse: description: Response format for updating an add-on. content: application/json: schema: $ref: '#/components/schemas/AddOnResponse' KongDirectoryResponse: description: A Directory content: application/json: schema: $ref: '#/components/schemas/KongDirectory' CreateAIGatewayResponse: description: AI Gateway created successfully. content: application/json: schema: $ref: '#/components/schemas/AIGateway' GetAIGatewayResponse: description: A successful response returning an AI Gateway. content: application/json: schema: $ref: '#/components/schemas/AIGateway' UpdateAIGatewayResponse: description: AI Gateway updated successfully. content: application/json: schema: $ref: '#/components/schemas/AIGateway' CreateAIGatewayModelResponse: description: Model created successfully. content: application/json: schema: $ref: '#/components/schemas/AIGatewayModel' GetAIGatewayModelResponse: description: A successful response returning the AI Gateway Model. content: application/json: schema: $ref: '#/components/schemas/AIGatewayModel' UpdateAIGatewayModelResponse: description: Model updated successfully. content: application/json: schema: $ref: '#/components/schemas/AIGatewayModel' CreateAIGatewayDataPlaneCertificateResponse: description: Response body for creating a DataPlane certificate. content: application/json: schema: $ref: '#/components/schemas/AIGatewayDataPlaneClientCertificate' GetAIGatewayDataPlaneCertificateResponse: description: Response body for retrieving a DataPlane certificate. content: application/json: schema: $ref: '#/components/schemas/AIGatewayDataPlaneClientCertificate' CreateAIGatewayVaultResponse: description: AI Gateway Vault created successfully. content: application/json: schema: $ref: '#/components/schemas/AIGatewayVault' GetAIGatewayVaultResponse: description: A successful response returning an AI Gateway Vault. content: application/json: schema: $ref: '#/components/schemas/AIGatewayVault' UpdateAIGatewayVaultResponse: description: Vault updated successfully. content: application/json: schema: $ref: '#/components/schemas/AIGatewayVault' CreateAIGatewayPolicyResponse: description: Policy created successfully. content: application/json: schema: $ref: '#/components/schemas/AIGatewayPolicy' GetAIGatewayPolicyResponse: description: A successful response returning the AI Gateway Policy. content: application/json: schema: $ref: '#/components/schemas/AIGatewayPolicy' UpdateAIGatewayPolicyResponse: description: Policy updated successfully. content: application/json: schema: $ref: '#/components/schemas/AIGatewayPolicy' CreateAIGatewayMCPServerResponse: description: MCP Server created successfully. content: application/json: schema: $ref: '#/components/schemas/AIGatewayMCPServer' GetMCPServerResponse: description: A successful response returning an MCP Server. content: application/json: schema: $ref: '#/components/schemas/AIGatewayMCPServer' UpdateAIGatewayMCPServerResponse: description: MCP Server updated successfully. content: application/json: schema: $ref: '#/components/schemas/AIGatewayMCPServer' CreateAIGatewayAgentResponse: description: AI Agent created successfully. content: application/json: schema: $ref: '#/components/schemas/AIGatewayAgent' GetAIGatewayAgentResponse: description: A successful response returning an AI Gateway Agent. content: application/json: schema: $ref: '#/components/schemas/AIGatewayAgent' UpdateAIGatewayAgentResponse: description: Agent updated successfully. content: application/json: schema: $ref: '#/components/schemas/AIGatewayAgent' CreateAIGatewayConsumerResponse: description: AI Gateway Consumer created successfully. content: application/json: schema: $ref: '#/components/schemas/AIGatewayConsumer' GetAIGatewayConsumerResponse: description: A successful response returning an AI Gateway Consumer. content: application/json: schema: $ref: '#/components/schemas/AIGatewayConsumer' UpdateAIGatewayConsumerResponse: description: Consumer updated successfully. content: application/json: schema: $ref: '#/components/schemas/AIGatewayConsumer' CreateAIGatewayConsumerCredentialResponse: description: AI Gateway Consumer credential created successfully. content: application/json: schema: $ref: '#/components/schemas/AIGatewayConsumerCredentialWithKey' GetAIGatewayConsumerCredentialResponse: description: A successful response returning an AI Gateway Consumer credential. content: application/json: schema: $ref: '#/components/schemas/AIGatewayConsumerCredential' CreateAIGatewayConsumerGroupResponse: description: AI Gateway Consumer Group created successfully. content: application/json: schema: $ref: '#/components/schemas/AIGatewayConsumerGroup' GetAIGatewayConsumerGroupResponse: description: A successful response returning an AI Gateway Consumer Group. content: application/json: schema: $ref: '#/components/schemas/AIGatewayConsumerGroup' UpdateAIGatewayConsumerGroupResponse: description: Consumer Group updated successfully. content: application/json: schema: $ref: '#/components/schemas/AIGatewayConsumerGroup' AddAIGatewayConsumerToGroupResponse: description: Consumer added to consumer group successfully. content: application/json: schema: type: object properties: consumer: description: The unique ID of the consumer that was added to the consumer group. type: string consumer_group: $ref: '#/components/schemas/AIGatewayConsumerGroup' required: - consumer - consumer_group x-speakeasy-transform-from-api: jq: .consumer = .consumer.id CreateAIGatewayConfigStoreResponse: description: AI Gateway Config Store created successfully. content: application/json: schema: $ref: '#/components/schemas/AIGatewayConfigStore' GetAIGatewayConfigStoreResponse: description: A successful response returning an AI Gateway Config Store. content: application/json: schema: $ref: '#/components/schemas/AIGatewayConfigStore' UpdateAIGatewayConfigStoreResponse: description: Config Store updated successfully. content: application/json: schema: $ref: '#/components/schemas/AIGatewayConfigStore' CreateAIGatewayConfigStoreSecretResponse: description: AI Gateway Config Store Secret created successfully. content: application/json: schema: $ref: '#/components/schemas/AIGatewayConfigStoreSecret' GetAIGatewayConfigStoreSecretResponse: description: A successful response returning an AI Gateway Config Store Secret. content: application/json: schema: $ref: '#/components/schemas/AIGatewayConfigStoreSecret' UpdateAIGatewayConfigStoreSecretResponse: description: Config Store Secret updated successfully. content: application/json: schema: $ref: '#/components/schemas/AIGatewayConfigStoreSecret' CreateAIGatewayModelProviderResponse: description: Model provider created successfully. content: application/json: schema: $ref: '#/components/schemas/AIGatewayModelProvider' GetAIGatewayModelProviderResponse: description: A successful response returning an AI Gateway Model Provider. content: application/json: schema: $ref: '#/components/schemas/AIGatewayModelProvider' UpdateAIGatewayModelProviderResponse: description: Model provider updated successfully. content: application/json: schema: $ref: '#/components/schemas/AIGatewayModelProvider' CreateAIGatewayIdentityProviderResponse: description: Identity Provider created successfully. content: application/json: schema: $ref: '#/components/schemas/AIGatewayIdentityProvider' GetAIGatewayIdentityProviderResponse: description: A successful response returning an AI Gateway Identity Provider. content: application/json: schema: $ref: '#/components/schemas/AIGatewayIdentityProvider' UpdateAIGatewayIdentityProviderResponse: description: Identity provider updated successfully. content: application/json: schema: $ref: '#/components/schemas/AIGatewayIdentityProvider' TooManyRequests: description: Too Many Requests content: application/problem+json: schema: $ref: '#/components/schemas/TooManyRequestsError' 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](https://cloud.konghq.com/global/account/tokens/) in the Konnect dashboard. The PAT 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 kpat_xgfT...'` 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 authenticate with. serviceAccessToken: type: http scheme: bearer bearerFormat: JWT description: | The Service access token is meant to be used between internal services. tags: - 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 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: Portals IP Allow List description: APIs related to Konnect Portal IP Allow List. - name: API - name: API Documentation - name: API Specification - name: API Publication - name: API Implementation - name: Mesh - name: Auth Server description: 'Auth Servers expose an OAuth 2.0 and OpenID Connect server interface for generating access tokens. The management API will give you the ability to create, configure and manage multiple Auth Servers per Konnect organization. Auth Servers are a regional Konnect entity.' - name: Auth Server Clients description: 'Clients represent the identity of machines, such as microservices, mobile apps, or scripts entity. The management API will give you the ability to create, configure and manage multiple Clients per Auth Server.' - name: Auth Server Claims description: 'Claims are statements about the Client, included in tokens issued by the Auth Server. The management API will give you the ability to create, configure and manage multiple Claims per Auth Server, and include them in tokens based on the requested Scopes.' - name: Auth Server Scopes description: 'Scopes define the extent of access that an access token grants to a Client. The management API will give you the ability to create, configure and manage multiple Scopes per Auth Server, and restrict their usage by Client.' - name: Dashboards - name: Event Gateways description: | Create an Event Gateway Control Plane, used to store Event Gateway configuration - name: Event Gateway Backend Clusters description: | A backend cluster is an abstraction of a real Kafka cluster. It stores the connection and configuration details required for Kong Event Gateway to proxy traffic to Kafka. Multiple Kafka clusters can be proxied through a single Kong Event Gateway. - name: Event Gateway Virtual Clusters description: | Virtual clusters are the primary way clients interact with the Event Gateway proxy. They allow you to isolate clients from each other when connecting to the same backend cluster, and provide each client with modified view while still appearing as a standard Kafka cluster. - name: Event Gateway Listeners description: | A listener represents hostname-port or IP-port combinations that connect to TCP sockets. Listeners need at least as many ports as backend brokers if you use port mapping in a Forward to Virtual Cluster policy. For SNI routing, you can route all brokers using a listener with only one port. Ports can be expressed as a single port or range. Addresses can be IPv4, IPv6, or hostnames. A listener can have policies that enforce TLS certificates and perform SNI routing. The listener runs at Layer 4 of the network stack. In Kong Event Gateway, listeners first take in the connection and then route the TCP connection to a virtual cluster based on conditions defined in listener policies. - name: Event Gateway Listener Policies description: | Policies control how Kafka protocol traffic is modified between the client and the backend cluster. Listener policies are routing policies that pass traffic to the virtual cluster. - name: Event Gateway Virtual Cluster Policies description: | Policies control how Kafka protocol traffic is modified between the client and the backend cluster. Cluster policies are transformation and validation policies that can be applied to Kafka messages. - name: Event Gateway Virtual Cluster Produce Policies description: | Produce policies operate on Kafka messages before they are written to the Kafka cluster. Where possible, apply transformations to the data using produce policies rather than consume policies for maximum efficiency. - name: Event Gateway Virtual Cluster Consume Policies description: | Consume policies operate on Kafka messages as they are read from a Kafka cluster. Transformations may be applied at consume time, but they are applied once per Consumer. Where possible, transofmrations should be applied as a Produce policy - name: Event Gateway DataPlane Certificates description: | DataPlane certificates control how your running Event Gateway instances connect to the Control Plane - name: Event Gateway Static Keys description: | Static Keys are used by the Encrypt and Decrypt policies to encrypt data at rest - name: Event Gateway Schema Registries description: | Configure a schema registry that can be used to validate payloads when producing/consuming messages - name: Event Gateway TLS Trust Bundles description: | A TLS trust bundle defines a set of trusted certificate authorities (CAs) used for client certificate verification during mutual TLS (mTLS). Trust bundles are referenced by TLS listener policies to determine which client certificates are accepted. - name: Event Gateway Vaults - name: Add-Ons description: | Optional services that extend the capabilities of a Cloud Gateway data plane group. The currently supported add-on type is managed cache (`managed-cache.v0`), which provisions a Redis-compatible in-memory cache co-located with your data planes. Each add-on is scoped to a control plane or control plane group, and is automatically deployed across all data plane groups that belong to that owner. - name: Kong Identity Directories description: | Use a directory to group consumers around an identity, defined by organizational boundaries, such as a production directory or a development directory. Directories are connected to a [geographic region](https://docs.konghq.com/konnect/geo/) in Konnect. Centrally managed consumers defined in directories can be used across multiple control planes. - name: AI Gateways description: API related to the management of Konnect AI Gateway resources. - name: AI Gateway DataPlane Certificates description: API related to the management of AI Gateway DataPlane Certificates. - name: AI Gateway Config Stores description: API related to the management of AI Gateway Config Stores. - name: AI Gateway Vaults description: API related to the management of AI Gateway vaults for storing secrets. - name: AI Gateway Agents description: AI Agents registered with the AI Gateway. - name: AI Gateway Consumers description: Individual consumers with credentials and group memberships for AI Gateway access control. - name: AI Gateway Consumer Groups description: Consumer groups for applying rate-limiting and access policies to AI Gateway traffic. - name: AI Gateway Identity Providers description: Identity providers for authenticating users and accessing AI Gateway resources. - name: AI Gateway Models description: 'Models that define routing, capabilities, and backend targets for the AI Gateway.' - name: AI Gateway Policies description: 'Policies that control security, rate-limiting, and guardrail behavior for the AI Gateway.' - name: AI Gateway MCP Servers description: MCP Servers that expose tools for AI Gateway integrations. - name: AI Gateway Model Providers description: Model providers that define the backend AI service connections for the AI Gateway. security: - personalAccessToken: [] - systemAccountAccessToken: [] - konnectAccessToken: [] - serviceAccessToken: [] x-speakeasy-retries: strategy: backoff backoff: initialInterval: 500 maxInterval: 60000 maxElapsedTime: 3600000 exponent: 1.5 statusCodes: - 429 retryConnectionErrors: true