openapi: 3.1.0 info: title: Konnect API - Go SDK version: 3.14.0 description: The Konnect platform API contact: name: Kong Inc url: 'https://konghq.com' email: support@konghq.com 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"`. license: name: Apache 2.0 url: 'https://www.apache.org/licenses/LICENSE-2.0.html' x-oas-source: kong/platform-api@ x-oas-source-link: 'https://github.com/Kong/platform-api/commit/' 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' paths: '/v1/apis/{apiId}/service-mappings': parameters: - name: apiId in: path description: ID of the API. required: true schema: type: string format: uuid get: operationId: list-service-mappings-for-api summary: List Service Mappings for an API description: Returns a paginated collection of Service mappings for the given API. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/CatalogServiceApiMappingSort' - $ref: '#/components/parameters/CatalogApiServiceMappingFilter' responses: '200': $ref: '#/components/responses/ListCatalogServiceApiMappingsResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Catalog Service API Mappings /v1/catalog-services: post: x-speakeasy-entity-operation: CatalogService#create operationId: create-catalog-service summary: Create Service description: Creates a service. requestBody: $ref: '#/components/requestBodies/CreateCatalogServiceRequest' responses: '201': $ref: '#/components/responses/CatalogServiceResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Catalog Services get: operationId: list-catalog-services summary: List Services description: Returns a paginated collection of services. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/CatalogServiceFilter' - $ref: '#/components/parameters/CatalogServiceSort' responses: '200': $ref: '#/components/responses/ListCatalogServicesResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Catalog Services '/v1/catalog-services/{id}': parameters: - name: id in: path description: The `id` of the service. required: true schema: type: string example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 get: x-speakeasy-entity-operation: terraform-resource: CatalogService#read terraform-datasource: null operationId: fetch-catalog-service summary: Get a Service description: Fetches a service. responses: '200': $ref: '#/components/responses/CatalogServiceResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Catalog Services patch: x-speakeasy-entity-operation: CatalogService#update operationId: update-catalog-service summary: Update Service description: Updates a service. requestBody: $ref: '#/components/requestBodies/UpdateCatalogServiceRequest' responses: '200': $ref: '#/components/responses/CatalogServiceResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - Catalog Services delete: x-speakeasy-entity-operation: CatalogService#delete operationId: delete-catalog-service summary: Delete Service description: Deletes a service. responses: '204': description: Service was deleted successfully. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Catalog Services '/v1/catalog-services/{id}/resources': parameters: - name: id in: path description: The `id` of the service. required: true schema: type: string example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 get: operationId: list-catalog-service-resources summary: List Service Resources description: Returns a paginated collection of resources mapped to a service. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/CatalogResourceRefFilter' responses: '200': $ref: '#/components/responses/ListCatalogServiceResourcesResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Catalog Service Resources '/v1/catalog-services/{id}/scorecards': parameters: - name: id in: path description: The `id` of the service. required: true schema: type: string example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 get: operationId: list-catalog-service-scorecards summary: List Catalog Service Scorecards description: Returns a paginated collection of scorecards targeting the given service. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/ScorecardFilter' - $ref: '#/components/parameters/ScorecardSort' responses: '200': $ref: '#/components/responses/ListCatalogServiceScorecardsResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Scorecards '/v1/catalog-services/{serviceId}/api-mappings': parameters: - name: serviceId in: path description: The `id` of the service. required: true schema: type: string example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 get: operationId: list-catalog-service-api-mappings summary: List API Mappings for a Service description: Returns a paginated collection of API mappings for the given service. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/CatalogServiceApiMappingSort' - $ref: '#/components/parameters/CatalogServiceApiMappingFilter' responses: '200': $ref: '#/components/responses/ListCatalogServiceApiMappingsResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Catalog Service API Mappings post: operationId: create-catalog-service-api-mapping summary: Create API Mapping for a Service description: Creates a new API mapping for the given service. requestBody: $ref: '#/components/requestBodies/CreateCatalogServiceApiMappingBody' responses: '201': $ref: '#/components/responses/CatalogServiceApiMappingResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - Catalog Service API Mappings '/v1/catalog-services/{serviceId}/api-mappings/{mappingId}': parameters: - name: serviceId in: path description: The `id` of the service. required: true schema: type: string example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 - name: mappingId in: path description: ID of the catalog service API mapping. required: true schema: type: string format: uuid example: d277faad-ed4e-4c56-a0fb-acce065dee34 get: operationId: get-catalog-service-api-mapping summary: Get API Mapping for a Service description: Returns information about a specific API mapping for the given service. responses: '200': $ref: '#/components/responses/CatalogServiceApiMappingResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Catalog Service API Mappings delete: operationId: delete-catalog-service-api-mapping summary: Delete API Mapping for a Service description: Deletes a specific API mapping for the given service. responses: '204': description: Catalog service API mapping was deleted successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Catalog Service API Mappings '/v1/catalog-services/{serviceId}/scorecards/{scorecardId}': parameters: - name: serviceId in: path description: The `id` of the service. required: true schema: type: string example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 - name: scorecardId in: path description: The `id` of the scorecard. required: true schema: type: string format: uuid example: f3704e4c-104d-4f21-998a-20d4364c893f get: operationId: fetch-catalog-service-scorecard summary: Get a Catalog Service Scorecard description: Fetches the given scorecard targeting the service. responses: '200': $ref: '#/components/responses/CatalogServiceScorecardResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Scorecards /v1/criteria-templates: get: operationId: list-criteria-templates summary: List Criteria Templates description: Returns a paginated collection of criteria templates. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/CriteriaTemplateFilter' - $ref: '#/components/parameters/CriteriaTemplateSort' responses: '200': $ref: '#/components/responses/ListCriteriaTemplatesResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Criteria Templates /v1/event-gateways: get: operationId: list-event-gateways summary: List all Event Gateways description: Returns an array of gateway objects containing information about the Konnect Event Gateways. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageAfter' - $ref: '#/components/parameters/EventGatewayCommonFilter' responses: '200': $ref: '#/components/responses/ListEventGatewaysResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/Internal' '503': $ref: '#/components/responses/NotAvailable' tags: - Event Gateways 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 patch: operationId: patch-event-gateway summary: Partially Update Event Gateway description: Patch an individual gateway. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PatchGatewayRequest' 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}/backend-clusters': parameters: - $ref: '#/components/parameters/gatewayId' get: operationId: list-event-gateway-backend-clusters summary: List Backend Clusters description: Returns a list of backend clusters associated with the specified Event Gateway. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageAfter' - $ref: '#/components/parameters/EventGatewayCommonFilter' responses: '200': $ref: '#/components/responses/ListBackendClustersResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Backend Clusters 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}/data-plane-certificates': parameters: - $ref: '#/components/parameters/gatewayId' get: operationId: list-event-gateway-data-plane-certificates summary: List Event Gateway DataPlane Certificates description: Returns a list of dataplane certificates that are associated to this event gateway. A dataplane certificate allows dataplanes configured with the certificate and corresponding private key to establish connection with this event gateway. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageAfter' - $ref: '#/components/parameters/EventGatewayCommonFilter' responses: '200': $ref: '#/components/responses/ListEventGatewayDataPlaneCertificatesResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway DataPlane Certificates 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}/listeners': parameters: - $ref: '#/components/parameters/gatewayId' get: operationId: list-event-gateway-listeners summary: List Event Gateway Listeners description: Returns a list of listeners associated with the specified Event Gateway. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageAfter' - $ref: '#/components/parameters/EventGatewayListenersFilter' responses: '200': $ref: '#/components/responses/ListEventGatewayListenersResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Listeners 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}/listeners/{eventGatewayListenerId}/policies': parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/eventGatewayListenerId' get: operationId: list-event-gateway-listener-policies summary: List Policies for Listener description: Returns a list of policies associated with the specified Event Gateway listener. parameters: - $ref: '#/components/parameters/EventGatewayCommonFilter' responses: '200': $ref: '#/components/responses/ListEventGatewayListenerPoliciesResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Listener Policies post: x-speakeasy-entity-operation: terraform-resource: EventGatewayListenerPolicy#create terraform-datasource: null operationId: create-event-gateway-listener-policy 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: $ref: '#/components/requestBodies/CreateEventGatewayListenerPolicyRequest' 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 '/v1/event-gateways/{gatewayId}/listeners/{eventGatewayListenerId}/policies/{policyId}': 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 get: x-speakeasy-entity-operation: terraform-resource: EventGatewayListenerPolicy#read terraform-datasource: null operationId: get-event-gateway-listener-policy 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: EventGatewayListenerPolicy#update terraform-datasource: null operationId: update-event-gateway-listener-policy summary: Update Policy for Listener description: Updates an existing policy associated with the specified Event Gateway listener. requestBody: $ref: '#/components/requestBodies/UpdateEventGatewayListenerPolicyRequest' 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 patch: operationId: patch-event-gateway-listener-policy summary: Partially Update Policy for Listener description: Partially updates an existing policy associated with the specified Event Gateway listener. requestBody: $ref: '#/components/requestBodies/PatchEventGatewayListenerPolicyRequest' 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: EventGatewayListenerPolicy#delete terraform-datasource: null operationId: delete-event-gateway-listener-policy 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 '/v1/event-gateways/{gatewayId}/listeners/{eventGatewayListenerId}/policies/{policyId}/move': parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/eventGatewayListenerId' - $ref: '#/components/parameters/policyId' post: operationId: move-event-gateway-listener-policy summary: Move Policy description: | Moves the position of a specific policy relative to the chain associated with the Event Gateway listener. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MoveEventGatewayPolicy' responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Listener Policies '/v1/event-gateways/{gatewayId}/listeners/{eventGatewayListenerId}/policy-chain': parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/eventGatewayListenerId' get: operationId: get-event-gateway-listener-policy-chain summary: Get Policy Chain for Listener description: | Get the policy chain for a listener composed of all the ids of the policies in order of execution. responses: '200': $ref: '#/components/responses/EventGatewayPolicyChainResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Listener Policies put: operationId: update-event-gateway-listener-policy-chain summary: Update Policy Chain for Listener description: Update the policy chain for a listener by providing an ordered list of policy ids. requestBody: $ref: '#/components/requestBodies/UpdateEventGatewayPolicyChainRequest' responses: '200': $ref: '#/components/responses/EventGatewayPolicyChainResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Listener Policies '/v1/event-gateways/{gatewayId}/nodes': parameters: - $ref: '#/components/parameters/gatewayId' get: operationId: list-event-gateway-nodes summary: List Nodes description: Returns a list of nodes associated with the specified Event Gateway. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageAfter' responses: '200': $ref: '#/components/responses/ListEventGatewayNodesResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Nodes '/v1/event-gateways/{gatewayId}/nodes/{eventGatewayNodeId}': parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/eventGatewayNodeId' get: operationId: get-event-gateway-node summary: Get a Node description: Returns information about a specific node associated with the Event Gateway. responses: '200': description: A single node object. content: application/json: schema: $ref: '#/components/schemas/GatewayNode' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Nodes '/v1/event-gateways/{gatewayId}/nodes/{eventGatewayNodeId}/errors': parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/eventGatewayNodeId' get: operationId: list-event-gateway-node-errors summary: List Node Errors description: Returns information about the node errors. responses: '200': $ref: '#/components/responses/ListEventGatewayNodeErrorsResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Nodes '/v1/event-gateways/{gatewayId}/nodes/{eventGatewayNodeId}/status': parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/eventGatewayNodeId' get: operationId: get-event-gateway-node-status summary: Get Node Status description: Returns information about the node status. responses: '200': $ref: '#/components/responses/EventGatewayNodeStatus' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Nodes '/v1/event-gateways/{gatewayId}/schema-registries': parameters: - $ref: '#/components/parameters/gatewayId' get: operationId: list-event-gateway-schema-registries summary: List Schema Registries description: Returns a list of schema registries associated with the specified Event Gateway. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageAfter' - $ref: '#/components/parameters/EventGatewayCommonFilter' responses: '200': $ref: '#/components/responses/ListSchemaRegistriesResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Schema Registries 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}/static-keys': parameters: - $ref: '#/components/parameters/gatewayId' get: operationId: list-event-gateway-static-keys summary: List Event Gateway Static Keys description: Returns a list of static keys associated to this event gateway. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageAfter' - $ref: '#/components/parameters/EventGatewayCommonFilter' responses: '200': $ref: '#/components/responses/ListEventGatewayStaticKeysResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Static Keys 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' get: operationId: list-event-gateway-tls-trust-bundles summary: List TLS Trust Bundles description: |- Returns a list of TLS trust bundles associated with the specified Event Gateway. **Requires a minimum runtime version of `1.1`**. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageAfter' - $ref: '#/components/parameters/EventGatewayCommonFilter' responses: '200': $ref: '#/components/responses/ListTLSTrustBundlesResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway TLS Trust Bundles x-min-runtime-version: '1.1' 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' '/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' 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' 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' '/v1/event-gateways/{gatewayId}/virtual-clusters': parameters: - $ref: '#/components/parameters/gatewayId' get: operationId: list-event-gateway-virtual-clusters summary: List all virtual clusters description: Returns a paginated list of virtual clusters associated with the specified Event Gateway. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageAfter' - name: filter in: query description: Filter documents returned in the response. required: false schema: type: object properties: backend_cluster_id: $ref: '#/components/schemas/StringFieldEqualsFilter' name: $ref: '#/components/schemas/StringFieldContainsFilter' style: deepObject responses: '200': $ref: '#/components/responses/ListVirtualClustersResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Clusters 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}/virtual-clusters/{virtualClusterId}/cluster-policies': parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' get: operationId: list-event-gateway-virtual-cluster-cluster-level-policies summary: List Cluster Policies for Virtual Cluster description: Returns a list of cluster-level policies associated with the virtual cluster. parameters: - $ref: '#/components/parameters/EventGatewayPolicyListFilter' responses: '200': $ref: '#/components/responses/ListClusterPoliciesResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Policies post: x-speakeasy-entity-operation: terraform-resource: EventGatewayVirtualClusterClusterPolicy#create terraform-datasource: null operationId: create-event-gateway-virtual-cluster-cluster-level-policy 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: $ref: '#/components/requestBodies/CreateEventGatewayClusterPolicyRequest' 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 '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/cluster-policies/{policyId}': 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 get: x-speakeasy-entity-operation: terraform-resource: EventGatewayVirtualClusterClusterPolicy#read terraform-datasource: null operationId: get-event-gateway-virtual-cluster-cluster-level-policy 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: EventGatewayVirtualClusterClusterPolicy#update terraform-datasource: null operationId: update-event-gateway-virtual-cluster-cluster-level-policy summary: Update Cluster Policy for Virtual Cluster description: Updates an existing cluster-level policy associated with the specified Event Gateway virtual cluster. requestBody: $ref: '#/components/requestBodies/UpdateEventGatewayClusterPolicyRequest' 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 patch: operationId: patch-event-gateway-virtual-cluster-cluster-level-policy summary: Patch Cluster Policy for Virtual Cluster description: Partially updates an existing cluster-level policy associated with the specified Event Gateway virtual cluster. requestBody: $ref: '#/components/requestBodies/PatchEventGatewayPolicyRequest' 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: EventGatewayVirtualClusterClusterPolicy#delete terraform-datasource: null operationId: delete-event-gateway-virtual-cluster-cluster-level-policy 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 '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/cluster-policies/{policyId}/move': parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' - $ref: '#/components/parameters/policyId' post: operationId: move-event-gateway-virtual-cluster-cluster-level-policy summary: Move Cluster Policy description: | Moves the position of a specific cluster-level policy relative to the chain associated with the Event Gateway virtual cluster. If a policy is defined under a parent policy, it moves the position relative to the sibling policies under the same parent. requestBody: content: application/json: schema: $ref: '#/components/schemas/MoveEventGatewayPolicy' responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Policies '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/cluster-policy-chain': parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' get: operationId: get-event-gateway-virtual-cluster-cluster-level-policy-chain summary: Get Cluster Policy Chain for Virtual Cluster description: | Get the cluster-level policy chain for a virtual cluster composed of all the ids of the cluster-level policies in order of execution. responses: '200': $ref: '#/components/responses/EventGatewayPolicyChainResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Policies put: operationId: update-event-gateway-virtual-cluster-cluster-level-policy-chain summary: Update Cluster Policy Chain description: Update the cluster-level policy chain for a virtual cluster by providing an ordered list of cluster-level policy ids. requestBody: $ref: '#/components/requestBodies/UpdateEventGatewayPolicyChainRequest' responses: '200': $ref: '#/components/responses/EventGatewayPolicyChainResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Policies '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/consume-policies': parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' get: operationId: list-event-gateway-virtual-cluster-consume-policies summary: List Consume Policies for Virtual Cluster description: Returns a list of consume policies associated with the specified Event Gateway virtual cluster. parameters: - $ref: '#/components/parameters/EventGatewayPolicyListFilter' responses: '200': $ref: '#/components/responses/ListConsumePoliciesResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Consume Policies post: x-speakeasy-entity-operation: terraform-resource: EventGatewayVirtualClusterConsumePolicy#create terraform-datasource: null operationId: create-event-gateway-virtual-cluster-consume-policy 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: $ref: '#/components/requestBodies/CreateEventGatewayConsumePolicyRequest' 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 '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/consume-policies/{policyId}': 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 get: x-speakeasy-entity-operation: terraform-resource: EventGatewayVirtualClusterConsumePolicy#read terraform-datasource: null operationId: get-event-gateway-virtual-cluster-consume-policy 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: EventGatewayVirtualClusterConsumePolicy#update terraform-datasource: null operationId: update-event-gateway-virtual-cluster-consume-policy summary: Update Consume Policy for Virtual Cluster description: Updates an existing consume policy associated with the specified Event Gateway virtual cluster. requestBody: $ref: '#/components/requestBodies/UpdateEventGatewayConsumePolicyRequest' 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 patch: operationId: patch-event-gateway-virtual-cluster-consume-policy summary: Patch Consume Policy for Virtual Cluster description: Updates an existing consume policy associated with the specified Event Gateway virtual cluster. requestBody: $ref: '#/components/requestBodies/PatchEventGatewayPolicyRequest' 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: EventGatewayVirtualClusterConsumePolicy#delete terraform-datasource: null operationId: delete-event-gateway-virtual-cluster-consume-policy 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 '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/consume-policies/{policyId}/move': parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' - $ref: '#/components/parameters/policyId' post: operationId: move-event-gateway-virtual-cluster-consume-policy summary: Move Consume Policy description: | Moves the position of a specific consume policy relative to the chain associated with the Event Gateway virtual cluster. If a policy is defined under a parent policy, it moves the position relative to the sibling policies under the same parent. requestBody: content: application/json: schema: $ref: '#/components/schemas/MoveEventGatewayPolicy' responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Consume Policies '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/consume-policy-chain': parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' get: operationId: get-event-gateway-virtual-cluster-consume-policy-chain summary: Get Consume Policy Chain description: | Get the consume policy chain for a virtual cluster composed of all the ids of the consume policies in order of execution. responses: '200': $ref: '#/components/responses/EventGatewayPolicyChainResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Consume Policies put: operationId: update-event-gateway-virtual-cluster-consume-policy-chain summary: Update Consume Policy Chain description: Update the consume policy chain for a virtual cluster by providing an ordered list of consume policy ids. requestBody: $ref: '#/components/requestBodies/UpdateEventGatewayPolicyChainRequest' responses: '200': $ref: '#/components/responses/EventGatewayPolicyChainResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Consume Policies '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/produce-policies': parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' get: operationId: list-event-gateway-virtual-cluster-produce-policies summary: List Produce Policies for Virtual Cluster description: Returns a list of produce policies associated with the specified Event Gateway virtual cluster. parameters: - $ref: '#/components/parameters/EventGatewayPolicyListFilter' responses: '200': $ref: '#/components/responses/ListProducePoliciesResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Produce Policies post: x-speakeasy-entity-operation: terraform-resource: EventGatewayVirtualClusterProducePolicy#create terraform-datasource: null operationId: create-event-gateway-virtual-cluster-produce-policy 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: $ref: '#/components/requestBodies/CreateEventGatewayProducePolicyRequest' 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 '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/produce-policies/{policyId}': 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 get: x-speakeasy-entity-operation: terraform-resource: EventGatewayVirtualClusterProducePolicy#read terraform-datasource: null operationId: get-event-gateway-virtual-cluster-produce-policy 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: EventGatewayVirtualClusterProducePolicy#update terraform-datasource: null operationId: update-event-gateway-virtual-cluster-produce-policy summary: Update Produce Policy for Virtual Cluster description: Updates an existing produce policy associated with the specified Event Gateway virtual cluster. requestBody: $ref: '#/components/requestBodies/UpdateEventGatewayProducePolicyRequest' 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 patch: operationId: patch-event-gateway-virtual-cluster-produce-policy summary: Patch Produce Policy for Virtual Cluster description: Partially updates an existing produce policy associated with the specified Event Gateway virtual cluster. requestBody: $ref: '#/components/requestBodies/PatchEventGatewayPolicyRequest' 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: EventGatewayVirtualClusterProducePolicy#delete terraform-datasource: null operationId: delete-event-gateway-virtual-cluster-produce-policy 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 '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/produce-policies/{policyId}/move': parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' - $ref: '#/components/parameters/policyId' post: operationId: move-event-gateway-virtual-cluster-produce-policy summary: Move Produce Policy description: | Moves the position of a specific produce policy relative to the chain associated with the Event Gateway virtual cluster. If a policy is defined under a parent policy, it moves the position relative to the sibling policies under the same parent. requestBody: content: application/json: schema: $ref: '#/components/schemas/MoveEventGatewayPolicy' responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Produce Policies '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/produce-policy-chain': parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' get: operationId: get-event-gateway-virtual-cluster-produce-policy-chain summary: Get Produce Policy Chain for Virtual Cluster description: | Get the produce policy chain for a virtual cluster composed of all the ids of the produce policies in order of execution. responses: '200': $ref: '#/components/responses/EventGatewayPolicyChainResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Produce Policies put: operationId: update-event-gateway-virtual-cluster-produce-policy-chain summary: Update Produce Policy Chain description: Update the produce policy chain for a virtual cluster by providing an ordered list of produce policy ids. requestBody: $ref: '#/components/requestBodies/UpdateEventGatewayPolicyChainRequest' responses: '200': $ref: '#/components/responses/EventGatewayPolicyChainResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Produce Policies /v1/integration-instances: post: x-speakeasy-entity-operation: IntegrationInstance#create operationId: create-integration-instance summary: Create Integration Instance description: Creates an integration instance. requestBody: $ref: '#/components/requestBodies/CreateIntegrationInstanceRequest' responses: '201': $ref: '#/components/responses/IntegrationInstanceResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Integration Instances get: operationId: list-integration-instances summary: List Integration Instances description: Returns a paginated collection of integration instances. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/IntegrationInstanceFilter' - $ref: '#/components/parameters/IntegrationInstanceSort' responses: '200': $ref: '#/components/responses/ListIntegrationInstancesResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Integration Instances '/v1/integration-instances/{id}': parameters: - name: id in: path description: The `id` of the integration instance. required: true schema: type: string example: 3f51fa25-310a-421d-bd1a-007f859021a3 get: x-speakeasy-entity-operation: terraform-resource: IntegrationInstance#read terraform-datasource: null operationId: fetch-integration-instance summary: Get an Integration Instance description: Fetches a integration instance. responses: '200': $ref: '#/components/responses/IntegrationInstanceResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Integration Instances patch: x-speakeasy-entity-operation: IntegrationInstance#update operationId: update-integration-instance summary: Update Integration Instance description: Updates an integration instance. requestBody: $ref: '#/components/requestBodies/UpdateIntegrationInstanceRequest' responses: '200': $ref: '#/components/responses/IntegrationInstanceResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - Integration Instances delete: x-speakeasy-entity-operation: IntegrationInstance#delete operationId: delete-integration-instance summary: Delete Integration Instance description: Deletes an integration instance. responses: '204': description: Integration Instance was deleted successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Integration Instances '/v1/integration-instances/{integrationInstanceId}/auth-config': parameters: - name: integrationInstanceId in: path description: The `id` of the integration instance. required: true schema: type: string example: 3f51fa25-310a-421d-bd1a-007f859021a3 get: x-speakeasy-entity-operation: terraform-resource: IntegrationInstanceAuthConfig#read terraform-datasource: null operationId: get-integration-instance-auth-config summary: Get Integration Instance Auth Config description: Fetches auth config scoped to the given integration instance. responses: '200': $ref: '#/components/responses/IntegrationInstanceAuthConfigResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Integration Instance Auth Config put: x-speakeasy-entity-operation: 'IntegrationInstanceAuthConfig#create,update' operationId: upsert-integration-instance-auth-config summary: Upsert Integration Instance Auth Config description: Upserts auth config scoped to the given integration instance. requestBody: $ref: '#/components/requestBodies/UpsertIntegrationInstanceAuthConfigRequest' responses: '200': $ref: '#/components/responses/IntegrationInstanceAuthConfigResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Integration Instance Auth Config delete: x-speakeasy-entity-operation: IntegrationInstanceAuthConfig#delete operationId: delete-integration-instance-auth-config summary: Delete Integration Instance Auth Config description: Deletes the auth config scoped to the given integration instance. responses: '204': description: Integration Instance Auth Config was deleted successfully. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Integration Instance Auth Config '/v1/integration-instances/{integrationInstanceId}/auth-credential': parameters: - name: integrationInstanceId in: path description: The `id` of the integration instance. required: true schema: type: string example: 3f51fa25-310a-421d-bd1a-007f859021a3 post: x-speakeasy-entity-operation: IntegrationInstanceAuthCredential#create operationId: create-integration-instance-auth-credential summary: Create Integration Instance Auth Credential description: | Creates an auth credential scoped to the given integration instance. Auth credentials are singleton resources that have a 1-to-1 relationship with an integration instance. An attempt to create subsequent auth credentials for an instance will result in a 409 response. requestBody: $ref: '#/components/requestBodies/CreateIntegrationInstanceAuthCredentialRequest' responses: '201': $ref: '#/components/responses/IntegrationInstanceAuthCredentialResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - Integration Instance Auth Credentials get: x-speakeasy-entity-operation: terraform-resource: IntegrationInstanceAuthCredential#read terraform-datasource: null operationId: get-integration-instance-auth-credential summary: Get Integration Instance Auth Credential description: Fetches the auth credential scoped to the given integration instance. responses: '200': $ref: '#/components/responses/IntegrationInstanceAuthCredentialResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Integration Instance Auth Credentials delete: x-speakeasy-entity-operation: IntegrationInstanceAuthCredential#delete operationId: delete-integration-instance-auth-credential summary: Delete Integration Instance Auth Credential description: Deletes the auth credential scoped to the given integration instance. responses: '204': description: Integration Instance Auth Credential was deleted successfully. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Integration Instance Auth Credentials '/v1/integration-instances/{integrationInstanceId}/resources/{resourceId}': parameters: - name: integrationInstanceId in: path description: The `id` of the integration instance. required: true schema: type: string example: 3f51fa25-310a-421d-bd1a-007f859021a3 - name: resourceId in: path description: The `id` of the resource. required: true schema: type: string example: AflTNLY0tTQhv2my patch: operationId: update-resource summary: Update Resource description: Updates a resource. requestBody: $ref: '#/components/requestBodies/UpdateCatalogResourceRequest' responses: '200': $ref: '#/components/responses/CatalogResourceResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Catalog Resources /v1/integrations: get: operationId: list-catalog-integrations summary: List Integrations description: | Returns a paginated collection of all catalog integrations available to connect. Each integration represents a built-in connector that extends the platform's capabilities; enabling discovery, resource management, event ingestion, and more. Integrations expose metadata that describes how they authenticate, what configuration they require, and how they interact with catalog entities like Resources and Services. Currently, integrations are platform-defined and cannot be extend or registered by customers. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/CatalogIntegrationFilter' - $ref: '#/components/parameters/CatalogIntegrationSort' responses: '200': $ref: '#/components/responses/ListCatalogIntegrationsResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Catalog Integrations '/v1/mcp-cp/{controlPlaneId}/mcp-servers': parameters: - $ref: '#/components/parameters/controlPlaneId' get: operationId: list-mcp-servers-by-control-plane summary: List MCP Servers by Control Plane description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Returns an array of MCP server objects for the specified control plane. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageAfter' - $ref: '#/components/parameters/MCPServerCommonFilter' responses: '200': $ref: '#/components/responses/ListMCPServersCPInfoResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - MCP Servers '/v1/mcp-cp/{controlPlaneId}/mcp-servers/{mcpServerId}': parameters: - $ref: '#/components/parameters/controlPlaneId' - $ref: '#/components/parameters/mcpServerId' get: operationId: get-mcp-server-by-control-plane summary: Get MCP Server by Control Plane description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Retrieves an MCP server by its ID within a specific control plane context. responses: '200': description: A response to retrieving a single MCP server within a control plane context. content: application/json: schema: $ref: '#/components/schemas/MCPServerCPInfo' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - MCP Servers '/v1/mcp-cp/{controlPlaneId}/mcp-servers/{mcpServerId}/code': parameters: - $ref: '#/components/parameters/controlPlaneId' - $ref: '#/components/parameters/mcpServerId' get: operationId: get-mcp-server-code summary: Get generated Python code for the MCP Server description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Generates MCP server Python code from the OpenAPI specifications associated with the MCP server. responses: '200': description: Generated Python code for the MCP server content: application/json: schema: $ref: '#/components/schemas/MCPServerCodeResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - MCP Servers '/v1/mcp-cp/{controlPlaneId}/mcp-servers/{mcpServerId}/kong-entities': parameters: - $ref: '#/components/parameters/controlPlaneId' - $ref: '#/components/parameters/mcpServerId' get: operationId: get-mcp-server-kong-entities summary: Get Kong entities for the MCP Server Gateway description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Retrieves Kong entities (Routes, Services, Plugins) for the Gateway in front of the MCP Server. parameters: - name: runtime_version in: query description: Kong Gateway runtime version to generate entities for required: false schema: type: string example: 3.13.0.0 responses: '200': description: Kong entities for the MCP server content: application/json: schema: $ref: '#/components/schemas/KongEntitiesResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - MCP Servers '/v1/mcp-cp/{controlPlaneId}/mcp-servers/{mcpServerId}/status': parameters: - $ref: '#/components/parameters/controlPlaneId' - $ref: '#/components/parameters/mcpServerId' post: operationId: post-mcp-server-status summary: Report MCP Server deployment status description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Reports the current deployment status of an MCP server, including replica counts and per-version pod statuses. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MCPServerStatusRequest' responses: '204': description: Status accepted. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - MCP Servers '/v1/mcp-cp/{controlPlaneId}/signals': parameters: - $ref: '#/components/parameters/controlPlaneId' get: operationId: get-mcp-server-signals summary: Get MCP Server Signals description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Client-initiated signals fetch with long-polling capabilities. The client supplies `capabilities` as a deepObject query parameter: - Keys are capability names (e.g. `mcp`) - Values contain the capability request fields (`version`) Example: GET /mcp-cp/{controlPlaneId}/signals?capabilities[mcp][version]=5 The CP responds with a JSON payload containing zero or more signals that the client should process. If no signals are available, the CP responds with HTTP 304 Not Modified. parameters: - $ref: '#/components/parameters/MCPCapabilities' responses: '200': $ref: '#/components/responses/MCPServerSignalsResponse' '304': description: No signals available (client is up to date) '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - MCP Servers /v1/mcp-servers: get: operationId: list-mcp-server-configs summary: List all MCP Servers description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Returns an array of MCP server objects. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageAfter' - $ref: '#/components/parameters/MCPServerCommonFilter' responses: '200': $ref: '#/components/responses/ListMCPServersResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - MCP Servers post: operationId: create-mcp-server-config summary: Create an MCP Server description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Create an MCP Server in the Konnect Organization. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateMCPServerRequest' responses: '201': $ref: '#/components/responses/CreateMCPServerResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' tags: - MCP Servers '/v1/mcp-servers/{mcpServerId}': parameters: - $ref: '#/components/parameters/mcpServerId' get: operationId: get-mcp-server-config summary: Get MCP Server description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Returns information about an individual MCP server. responses: '200': description: A response to retrieving a single MCP server. content: application/json: schema: $ref: '#/components/schemas/MCPServerInfo' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - MCP Servers put: operationId: update-mcp-server-config summary: Update MCP Server description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Update an individual MCP server. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateMCPServerRequest' responses: '200': $ref: '#/components/responses/UpdateMCPServerResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - MCP Servers patch: operationId: patch-mcp-server-config summary: Partially Update MCP Server description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Partially update an individual MCP server. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PatchMCPServerRequest' responses: '200': $ref: '#/components/responses/UpdateMCPServerResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - MCP Servers delete: operationId: delete-mcp-server-config summary: Delete MCP Server description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Delete an MCP server. responses: '204': description: Successfully deleted MCP server. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - MCP Servers '/v1/mcp-servers/{mcpServerId}/status': parameters: - $ref: '#/components/parameters/mcpServerId' get: operationId: get-mcp-server-status summary: Get MCP Server deployment status description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Returns the current aggregated deployment status of an MCP server. responses: '200': description: Deployment status of the MCP server. content: application/json: schema: $ref: '#/components/schemas/MCPServerStatusResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - MCP Servers /v1/notifications/configurations: get: operationId: list-user-configurations summary: List available user configurations description: List available user configurations. parameters: - $ref: '#/components/parameters/ConfigurationFilter' responses: '200': $ref: '#/components/responses/UserConfigurationListResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Notifications '/v1/notifications/configurations/{eventId}/subscriptions': get: operationId: list-event-subscriptions summary: List event subscriptions description: List event subscriptions. parameters: - $ref: '#/components/parameters/eventId' responses: '200': $ref: '#/components/responses/EventSubscriptionListResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Notifications post: operationId: create-event-subscription summary: Create a new subscription for an event description: Create a new subscription for an event. parameters: - $ref: '#/components/parameters/eventId' requestBody: $ref: '#/components/requestBodies/EventSubscriptionRequest' responses: '201': $ref: '#/components/responses/EventSubscriptionResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Notifications '/v1/notifications/configurations/{eventId}/subscriptions/{subscriptionId}': parameters: - $ref: '#/components/parameters/eventId' - $ref: '#/components/parameters/subscriptionId' get: operationId: get-event-subscription summary: Get subscription for an event description: Get subscription for an event. responses: '200': $ref: '#/components/responses/EventSubscriptionResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Notifications patch: operationId: update-event-subscription summary: Update subscription for an event description: Update subscription for an event. requestBody: $ref: '#/components/requestBodies/EventSubscriptionRequest' responses: '200': $ref: '#/components/responses/EventSubscriptionResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Notifications delete: operationId: delete-event-subscription summary: Delete subscription associated with event description: Delete subscription associated with event. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Notifications /v1/notifications/inbox: get: operationId: list-notifications summary: List available notifications description: List available notifications. parameters: - $ref: '#/components/parameters/PageBefore' - $ref: '#/components/parameters/PageAfter' - $ref: '#/components/parameters/NotificationFilter' responses: '200': $ref: '#/components/responses/NotificationListResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Notifications '/v1/notifications/inbox/{notificationId}': get: operationId: get-notification-details summary: Get notification details description: Get notification details. parameters: - $ref: '#/components/parameters/notificationId' responses: '200': $ref: '#/components/responses/NotificationResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Notifications patch: operationId: update-notification summary: Update notification description: Update notification. parameters: - $ref: '#/components/parameters/notificationId' requestBody: $ref: '#/components/requestBodies/NotificationUpdateRequest' responses: '200': $ref: '#/components/responses/NotificationResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Notifications delete: operationId: delete-notification summary: Delete notification description: Delete notification. parameters: - $ref: '#/components/parameters/notificationId' responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Notifications /v1/notifications/inbox/bulk: post: operationId: bulk-notifications summary: Mark a list of notifications to a status description: Mark a list of notifications to a status. requestBody: $ref: '#/components/requestBodies/BulkRequest' responses: '200': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Notifications /v1/resource-mappings: post: operationId: create-resource-mapping summary: Create Resource Mapping description: Creates a mapping between a catalog resource and service. requestBody: $ref: '#/components/requestBodies/CreateCatalogResourceMappingRequest' responses: '201': $ref: '#/components/responses/CatalogResourceMappingResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' tags: - Catalog Resource Mappings get: operationId: list-resource-mappings summary: List Resource Mappings description: Returns a paginated collection of catalog resource mappings. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/CatalogResourceMappingFilter' - $ref: '#/components/parameters/CatalogResourceMappingSort' responses: '200': $ref: '#/components/responses/ListCatalogResourceMappingsResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Catalog Resource Mappings '/v1/resource-mappings/{resourceMappingId}': parameters: - name: resourceMappingId in: path description: The `id` of the resource mapping. required: true schema: type: string format: uuid example: d277faad-ed4e-4c56-a0fb-acce065dee34 x-speakeasy-match: id get: operationId: fetch-resource-mapping summary: Get a Resource Mapping description: Fetches a resource mapping by ID. responses: '200': $ref: '#/components/responses/CatalogResourceMappingResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Catalog Resource Mappings delete: operationId: delete-resource-mapping summary: Delete Resource Mapping description: Removes an existing mapping between a catalog resource and service. responses: '204': description: Resource Mapping was deleted successfully. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Catalog Resource Mappings /v1/resources: get: operationId: list-resources summary: List Resources description: Returns a paginated collection of resources. parameters: - $ref: '#/components/parameters/CursorPageQuery' - $ref: '#/components/parameters/CatalogResourceFilter' - $ref: '#/components/parameters/CatalogResourceSort' responses: '200': $ref: '#/components/responses/ListCatalogResourcesResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Catalog Resources '/v1/resources/{id}': parameters: - name: id in: path description: The `id` of the resource. required: true schema: type: string example: AflTNLY0tTQhv2my get: operationId: fetch-resource summary: Get a Resource description: Fetches a resource by ID. responses: '200': $ref: '#/components/responses/CatalogResourceResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Catalog Resources '/v1/resources/{id}/catalog-services': parameters: - name: id in: path description: The `id` of the resource. required: true schema: type: string example: AflTNLY0tTQhv2my get: operationId: list-catalog-resource-services summary: List Resource Services description: Returns a paginated collection of services the given resource is mapped to. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/CatalogServiceFilter' - $ref: '#/components/parameters/CatalogServiceSort' responses: '200': $ref: '#/components/responses/ListCatalogServicesResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Catalog Resource Services /v1/scorecard-templates: get: operationId: list-scorecard-templates summary: List Scorecard Templates description: Returns a paginated collection of scorecard templates. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/ScorecardTemplateFilter' - $ref: '#/components/parameters/ScorecardTemplateSort' responses: '200': $ref: '#/components/responses/ListScorecardTemplatesResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Scorecards /v1/scorecards: post: operationId: create-scorecard summary: Create Scorecard description: Creates a scorecard. requestBody: $ref: '#/components/requestBodies/CreateScorecardRequest' responses: '201': $ref: '#/components/responses/ScorecardResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Scorecards get: operationId: list-scorecards summary: List Scorecards description: Returns a paginated collection of scorecards. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/ScorecardFilter' - $ref: '#/components/parameters/ScorecardSort' responses: '200': $ref: '#/components/responses/ListScorecardsResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Scorecards '/v1/scorecards/{id}': parameters: - name: id in: path description: The `id` of the scorecard. required: true schema: type: string format: uuid example: f3704e4c-104d-4f21-998a-20d4364c893f get: operationId: fetch-scorecard summary: Get a Scorecard description: Fetches a scorecard. responses: '200': $ref: '#/components/responses/ScorecardResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Scorecards put: operationId: update-scorecard summary: Update Scorecard description: Updates a scorecard. requestBody: $ref: '#/components/requestBodies/UpdateScorecardRequest' responses: '200': $ref: '#/components/responses/ScorecardResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Scorecards delete: operationId: delete-scorecard summary: Delete Scorecard description: Deletes a scorecard. responses: '204': description: Scorecard was deleted successfully. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Scorecards '/v1/scorecards/{id}/catalog-services': parameters: - name: id in: path description: The `id` of the scorecard. required: true schema: type: string format: uuid example: f3704e4c-104d-4f21-998a-20d4364c893f get: operationId: list-scorecard-services summary: List Scorecard Services description: Lists services targeted by a scorecard. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/ScorecardServiceFilter' - $ref: '#/components/parameters/ScorecardServiceSort' responses: '200': $ref: '#/components/responses/ListScorecardServicesResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Scorecards '/v1/scorecards/{id}/criteria': parameters: - name: id in: path description: The `id` of the scorecard. required: true schema: type: string format: uuid example: f3704e4c-104d-4f21-998a-20d4364c893f get: operationId: list-scorecard-criteria summary: List Scorecard Criteria description: 'Lists criteria, including passing service counts, belonging to a scorecard.' parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/ScorecardCriteriaFilter' - $ref: '#/components/parameters/ScorecardCriteriaSort' responses: '200': $ref: '#/components/responses/ListScorecardCriteriaResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Scorecards '/v1/scorecards/{scorecardId}/criteria/{criteriaId}/catalog-services': parameters: - name: scorecardId in: path description: The `id` of the scorecard. required: true schema: type: string format: uuid example: f3704e4c-104d-4f21-998a-20d4364c893f - name: criteriaId in: path description: The `id` of the criteria. required: true schema: type: string format: uuid example: 5c1121f9-3f3a-47c7-9bb6-c81a51128714 get: operationId: list-scorecard-criteria-services summary: List Scorecard Criteria Services description: Lists services targeted by a scorecard criteria with evaluation results per-service. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/ScorecardCriteriaServiceFilter' - $ref: '#/components/parameters/ScorecardCriteriaServiceSort' responses: '200': $ref: '#/components/responses/ListScorecardCriteriaServicesResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Scorecards /v2/application-auth-strategies: post: x-speakeasy-entity-operation: terraform-resource: ApplicationAuthStrategy#create terraform-datasource: null operationId: create-app-auth-strategy summary: Create App Auth Strategy description: Creates an application auth strategy. requestBody: $ref: '#/components/requestBodies/CreateAppAuthStrategy' responses: '201': $ref: '#/components/responses/CreateAppAuthStrategy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - App Auth Strategies get: operationId: list-app-auth-strategies summary: List App Auth Strategies description: Returns a paginated collection of application auth strategies. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/SortAppAuthStrategies' - name: filter in: query description: Filter application auth strategies returned in the response. required: false schema: type: object properties: strategy_type: $ref: '#/components/schemas/StringFieldFilter' name: $ref: '#/components/schemas/StringFieldFilter' display_name: $ref: '#/components/schemas/StringFieldFilter' dcr_provider_id: $ref: '#/components/schemas/UuidFieldFilter' dcr_provider_name: $ref: '#/components/schemas/StringFieldFilter' dcr_provider_type: $ref: '#/components/schemas/StringFieldFilter' style: deepObject responses: '200': $ref: '#/components/responses/ListAppAuthStrategies' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - App Auth Strategies '/v2/application-auth-strategies/{authStrategyId}': parameters: - $ref: '#/components/parameters/AuthStrategyId' get: x-speakeasy-entity-operation: terraform-resource: ApplicationAuthStrategy#read terraform-datasource: null operationId: get-app-auth-strategy summary: Get App Auth Strategy description: Returns an application auth strategy. responses: '200': $ref: '#/components/responses/GetAppAuthStrategy' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - App Auth Strategies put: operationId: replace-app-auth-strategy summary: Replace App Auth Strategy description: Replaces an application auth strategy. requestBody: $ref: '#/components/requestBodies/CreateAppAuthStrategy' responses: '201': $ref: '#/components/responses/CreateAppAuthStrategy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - App Auth Strategies patch: x-speakeasy-entity-operation: terraform-resource: ApplicationAuthStrategy#update terraform-datasource: null operationId: update-app-auth-strategy summary: Update App Auth Strategy description: Updates an application auth strategy. requestBody: $ref: '#/components/requestBodies/UpdateAppAuthStrategy' responses: '200': $ref: '#/components/responses/UpdateAppAuthStrategy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - App Auth Strategies delete: x-speakeasy-entity-operation: terraform-resource: ApplicationAuthStrategy#delete terraform-datasource: null operationId: delete-app-auth-strategy summary: Delete App Auth Strategy description: Deletes an application auth strategy. An application auth strategy can be deleted ONLY if it's not used by any product version within any portal regardless of their publication statuses. If an application auth strategy is still in use the request will result in an HTTP 409 CONFLICT. responses: '204': description: No Content. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - App Auth Strategies /v2/cloud-gateways/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. Specific add-on types (e.g., managed cache) are defined by the sub-kind configuration. 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-speakeasy-group: CloudGateways get: operationId: list-add-ons summary: List Add-Ons description: | Returns a paginated collection of add-ons for an organization. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/AddOnsFilter' responses: '200': $ref: '#/components/responses/ListAddOnsResponse' '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' servers: - url: 'https://global.api.konghq.com/' tags: - Add-Ons 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 an add-on by ID. 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-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 will be rejected if the managed cache partial is still in use by some plugins. 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-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. 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-speakeasy-group: CloudGateways /v2/cloud-gateways/availability.json: get: operationId: get-availability-json summary: Get Resource Availability JSON description: | Get Cloud Gateways Availability JSON document for describing cloud provider and region availability, pricing, gateway version availability, and instance type information. responses: '200': $ref: '#/components/responses/RetrieveCloudGatewaysAvailabilityDocumentResponse' security: [] servers: - url: 'https://global.api.konghq.com/' tags: - Resource Availability x-speakeasy-group: CloudGateways /v2/cloud-gateways/configurations: get: operationId: list-configurations summary: List Configurations description: | Returns a paginated collection of configurations across control-planes for an organization (restricted by permitted control-plane reads). parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/ConfigurationsFilter' responses: '200': $ref: '#/components/responses/ListConfigurationsResponse' '400': $ref: '#/components/responses/CloudGatewaysBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' servers: - url: 'https://global.api.konghq.com/' tags: - Data-Plane Group Configurations x-speakeasy-group: CloudGateways put: x-speakeasy-entity-operation: terraform-resource: 'CloudGatewayConfiguration#create,update' terraform-datasource: null operationId: create-configuration summary: Create Configuration description: | Creates a new configuration for a control-plane (restricted by permitted control-plane permissions for configurations). This request will replace any existing configuration for the requested control_plane_id and control_plane_geo by performing a diff. From this diff, new resources detected in the requested configuration will be added, resources not found in the request configuration but in the previous will be deleted, and resources found in both will be updated to the requested configuration. Networks referenced in this request that are in an offline state will automatically initialize (i.e. move to an initializing state). requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateConfigurationRequest' responses: '200': $ref: '#/components/responses/CreateConfigurationResponse' '400': $ref: '#/components/responses/CloudGatewaysBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/CloudGatewaysForbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/CloudGatewaysConflict' servers: - url: 'https://global.api.konghq.com/' tags: - Data-Plane Group Configurations x-speakeasy-group: CloudGateways '/v2/cloud-gateways/configurations/{configurationId}': get: x-speakeasy-entity-operation: terraform-resource: CloudGatewayConfiguration#get terraform-datasource: null operationId: get-configuration summary: Get Configuration description: Retrieves a configuration by ID (restricted by permitted control-plane read). parameters: - $ref: '#/components/parameters/ConfigurationId' responses: '200': $ref: '#/components/responses/RetrieveConfigurationResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Data-Plane Group Configurations x-speakeasy-group: CloudGateways /v2/cloud-gateways/custom-domains: get: operationId: list-custom-domains summary: List Custom Domains description: | Returns a paginated collection of custom domains across control-planes for an organization (restricted by permitted control-plane reads). parameters: - $ref: '#/components/parameters/CustomDomainsFilter' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' responses: '200': $ref: '#/components/responses/ListCustomDomainsResponse' '400': $ref: '#/components/responses/CloudGatewaysBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Custom Domains x-speakeasy-group: CloudGateways post: x-speakeasy-entity-operation: terraform-resource: CloudGatewayCustomDomain#create terraform-datasource: null operationId: create-custom-domains summary: Create Custom Domain description: | Creates a new custom domain for a control-plane (restricted by permitted control-plane associate-custom-domain action). requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateCustomDomainRequest' responses: '201': $ref: '#/components/responses/CreateCustomDomainResponse' '400': $ref: '#/components/responses/CloudGatewaysBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' servers: - url: 'https://global.api.konghq.com/' tags: - Custom Domains x-speakeasy-group: CloudGateways '/v2/cloud-gateways/custom-domains/{customDomainId}': get: x-speakeasy-entity-operation: terraform-resource: CloudGatewayCustomDomain#read terraform-datasource: null operationId: get-custom-domain summary: Get Custom Domain description: Retrieves a custom domain by ID (restricted by permitted control-plane reads). parameters: - $ref: '#/components/parameters/CustomDomainId' responses: '200': $ref: '#/components/responses/RetrieveCustomDomainResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Custom Domains x-speakeasy-group: CloudGateways delete: x-speakeasy-entity-operation: terraform-resource: CloudGatewayCustomDomain#delete terraform-datasource: null operationId: delete-custom-domain summary: Delete Custom Domain description: Deletes a custom domain by ID (restricted by permitted control-plane reads). parameters: - $ref: '#/components/parameters/CustomDomainId' responses: '204': description: No Content '400': $ref: '#/components/responses/CloudGatewaysBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Custom Domains x-speakeasy-group: CloudGateways x-speakeasy-retries: strategy: backoff backoff: initialInterval: 10000 maxInterval: 60000 maxElapsedTime: 1800000 exponent: 1.5 statusCodes: - 400 retryConnectionErrors: false '/v2/cloud-gateways/custom-domains/{customDomainId}/online-status': get: operationId: get-custom-domain-online-status summary: Get Custom Domain Online Status description: Retrieves the CNAME and SSL status of a custom domain. parameters: - $ref: '#/components/parameters/CustomDomainId' responses: '200': $ref: '#/components/responses/RetrieveCustomDomainOnlineStatusResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Custom Domains x-speakeasy-group: CloudGateways /v2/cloud-gateways/default-resource-configurations: get: operationId: list-default-resource-configurations summary: List Default Resource Configurations description: | Returns a paginated collection of default resource configurations for cloud-gateways, along with organizationally-defined overrides for those resource configurations. Resource configurations are settings that are applied to all cloud gateway resources in an organization. For example, the "data-plane-group-idle-timeout-minutes" resource configuration sets the idle timeout for all data plane groups in an organization. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' responses: '200': $ref: '#/components/responses/ListDefaultResourceConfigurationsResponse' '400': $ref: '#/components/responses/CloudGatewaysBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' servers: - url: 'https://global.api.konghq.com/' tags: - Resource Configurations x-speakeasy-group: CloudGateways /v2/cloud-gateways/default-resource-quotas: get: operationId: list-default-resource-quotas summary: List Default Resource Quotas description: | Returns a paginated collection of default resource quotas for cloud-gateways, along with organizationally-defined overrides for those resource quotas. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' responses: '200': $ref: '#/components/responses/ListDefaultResourceQuotasResponse' '400': $ref: '#/components/responses/CloudGatewaysBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' servers: - url: 'https://global.api.konghq.com/' tags: - Cloud Gateways Resource Quotas x-speakeasy-group: CloudGateways /v2/cloud-gateways/networks: get: x-speakeasy-entity-operation: terraform-resource: null terraform-datasource: CloudGatewayNetwork#read operationId: list-networks summary: List Networks description: Returns a paginated list of networks. parameters: - $ref: '#/components/parameters/NetworksFilter' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' responses: '200': $ref: '#/components/responses/ListNetworksResponse' '400': $ref: '#/components/responses/CloudGatewaysBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' servers: - url: 'https://global.api.konghq.com/' tags: - Networks x-speakeasy-group: CloudGateways post: x-speakeasy-entity-operation: terraform-resource: CloudGatewayNetwork#create terraform-datasource: null operationId: create-network summary: Create Network description: Creates a new network for a given provider account. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateNetworkRequest' responses: '201': $ref: '#/components/responses/CreateNetworkResponse' '400': $ref: '#/components/responses/CloudGatewaysBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/CloudGatewaysForbidden' '409': $ref: '#/components/responses/Conflict' servers: - url: 'https://global.api.konghq.com/' tags: - Networks x-speakeasy-group: CloudGateways '/v2/cloud-gateways/networks/{networkId}': get: x-speakeasy-entity-operation: terraform-resource: CloudGatewayNetwork#read terraform-datasource: null operationId: get-network summary: Get Network description: Retrieves a network by ID. parameters: - $ref: '#/components/parameters/NetworkId' responses: '200': $ref: '#/components/responses/RetrieveNetworkResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Networks x-speakeasy-group: CloudGateways patch: x-speakeasy-entity-operation: terraform-resource: CloudGatewayNetwork#update terraform-datasource: null operationId: update-network summary: Update Network description: Updates a network by ID. parameters: - $ref: '#/components/parameters/NetworkId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PatchNetworkRequest' responses: '200': $ref: '#/components/responses/PatchNetworkResponse' '400': $ref: '#/components/responses/CloudGatewaysBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/CloudGatewaysForbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' servers: - url: 'https://global.api.konghq.com/' tags: - Networks x-speakeasy-group: CloudGateways delete: x-speakeasy-entity-operation: terraform-resource: CloudGatewayNetwork#delete terraform-datasource: null operationId: delete-network summary: Delete Network description: Deletes a network by ID. parameters: - $ref: '#/components/parameters/NetworkId' responses: '204': description: No Content '400': $ref: '#/components/responses/CloudGatewaysBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Networks x-speakeasy-group: CloudGateways x-speakeasy-retries: strategy: backoff backoff: initialInterval: 10000 maxInterval: 60000 maxElapsedTime: 1800000 exponent: 1.5 statusCodes: - 400 retryConnectionErrors: false '/v2/cloud-gateways/networks/{networkId}/configuration-references': get: operationId: list-network-configurations summary: List Network Configuration References description: | Returns a paginated collection of configurations that reference a network. parameters: - $ref: '#/components/parameters/NetworkId' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' responses: '200': $ref: '#/components/responses/ListNetworkConfigurationReferencesResponse' '400': $ref: '#/components/responses/CloudGatewaysBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Networks x-speakeasy-group: CloudGateways '/v2/cloud-gateways/networks/{networkId}/private-dns': get: operationId: list-private-dns summary: List Private DNS description: Returns a paginated collection of Private DNS for a given network. parameters: - $ref: '#/components/parameters/NetworkId' - $ref: '#/components/parameters/PrivateDnsFilter' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' responses: '200': $ref: '#/components/responses/ListPrivateDnsResponse' '400': $ref: '#/components/responses/CloudGatewaysBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Private DNS x-speakeasy-group: CloudGateways post: x-speakeasy-entity-operation: terraform-resource: CloudGatewayPrivateDns#create terraform-datasource: null operationId: create-private-dns summary: Create Private DNS description: Creates a new Private DNS for a given network. parameters: - $ref: '#/components/parameters/NetworkId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreatePrivateDnsRequest' responses: '201': $ref: '#/components/responses/CreatePrivateDnsResponse' '400': $ref: '#/components/responses/CloudGatewaysBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' servers: - url: 'https://global.api.konghq.com/' tags: - Private DNS x-speakeasy-group: CloudGateways x-speakeasy-retries: strategy: backoff backoff: initialInterval: 30000 maxInterval: 60000 maxElapsedTime: 3600000 exponent: 1.5 statusCodes: - 400 retryConnectionErrors: false '/v2/cloud-gateways/networks/{networkId}/private-dns/{privateDnsId}': get: x-speakeasy-entity-operation: terraform-resource: CloudGatewayPrivateDns#read terraform-datasource: null operationId: get-private-dns summary: Get Private DNS description: Retrieves a Private DNS by ID for a given network. parameters: - $ref: '#/components/parameters/NetworkId' - $ref: '#/components/parameters/PrivateDnsId' responses: '200': $ref: '#/components/responses/RetrievePrivateDnsResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Private DNS x-speakeasy-group: CloudGateways patch: operationId: update-private-dns summary: Update Private DNS description: Updates a Private DNS by ID for a given network. parameters: - $ref: '#/components/parameters/NetworkId' - $ref: '#/components/parameters/PrivateDnsId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PatchPrivateDnsRequest' responses: '200': $ref: '#/components/responses/PatchPrivateDnsResponse' '400': $ref: '#/components/responses/CloudGatewaysBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' servers: - url: 'https://global.api.konghq.com/' tags: - Private DNS x-speakeasy-group: CloudGateways delete: x-speakeasy-entity-operation: terraform-resource: CloudGatewayPrivateDns#delete terraform-datasource: null operationId: delete-private-dns summary: Delete Private DNS description: Deletes a Private DNS by ID for a given network. parameters: - $ref: '#/components/parameters/NetworkId' - $ref: '#/components/parameters/PrivateDnsId' responses: '204': description: No Content '400': $ref: '#/components/responses/CloudGatewaysBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Private DNS x-speakeasy-group: CloudGateways x-speakeasy-retries: strategy: backoff backoff: initialInterval: 10000 maxInterval: 60000 maxElapsedTime: 1800000 exponent: 1.5 statusCodes: - 400 retryConnectionErrors: false '/v2/cloud-gateways/networks/{networkId}/transit-gateways': get: operationId: list-transit-gateways summary: List Transit Gateways description: Returns a paginated collection of transit gateways for a given network. parameters: - $ref: '#/components/parameters/NetworkId' - $ref: '#/components/parameters/TransitGatewaysFilter' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' responses: '200': $ref: '#/components/responses/ListTransitGatewaysResponse' '400': $ref: '#/components/responses/CloudGatewaysBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Transit Gateways x-speakeasy-group: CloudGateways post: x-speakeasy-entity-operation: terraform-resource: CloudGatewayTransitGateway#create terraform-datasource: null operationId: create-transit-gateway summary: Create Transit Gateway description: Creates a new transit gateway for a given network. parameters: - $ref: '#/components/parameters/NetworkId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateTransitGatewayRequest' responses: '201': $ref: '#/components/responses/CreateTransitGatewayResponse' '400': $ref: '#/components/responses/CloudGatewaysBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' servers: - url: 'https://global.api.konghq.com/' tags: - Transit Gateways x-speakeasy-group: CloudGateways x-speakeasy-retries: strategy: backoff backoff: initialInterval: 30000 maxInterval: 60000 maxElapsedTime: 3600000 exponent: 1.5 statusCodes: - 400 retryConnectionErrors: false '/v2/cloud-gateways/networks/{networkId}/transit-gateways/{transitGatewayId}': get: x-speakeasy-entity-operation: terraform-resource: CloudGatewayTransitGateway#read terraform-datasource: null operationId: get-transit-gateway summary: Get Transit Gateway description: Retrieves a transit gateway by ID for a given network. parameters: - $ref: '#/components/parameters/NetworkId' - $ref: '#/components/parameters/TransitGatewayId' responses: '200': $ref: '#/components/responses/RetrieveTransitGatewayResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Transit Gateways x-speakeasy-group: CloudGateways patch: x-speakeasy-entity-operation: terraform-resource: CloudGatewayTransitGateway#update terraform-datasource: null operationId: update-transit-gateway summary: Update Transit Gateway description: Updates a transit gateway by ID for a given network. parameters: - $ref: '#/components/parameters/NetworkId' - $ref: '#/components/parameters/TransitGatewayId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PatchTransitGatewayRequest' responses: '200': $ref: '#/components/responses/PatchTransitGatewayResponse' '400': $ref: '#/components/responses/CloudGatewaysBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' servers: - url: 'https://global.api.konghq.com/' tags: - Transit Gateways x-speakeasy-group: CloudGateways delete: x-speakeasy-entity-operation: terraform-resource: CloudGatewayTransitGateway#delete terraform-datasource: null operationId: delete-transit-gateway summary: Delete Transit Gateway description: Deletes a transit gateway by ID for a given network. parameters: - $ref: '#/components/parameters/NetworkId' - $ref: '#/components/parameters/TransitGatewayId' responses: '204': description: No Content '400': $ref: '#/components/responses/CloudGatewaysBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Transit Gateways x-speakeasy-group: CloudGateways x-speakeasy-retries: strategy: backoff backoff: initialInterval: 10000 maxInterval: 60000 maxElapsedTime: 1800000 exponent: 1.5 statusCodes: - 400 retryConnectionErrors: false /v2/cloud-gateways/provider-accounts: get: x-speakeasy-entity-operation: CloudGatewayProviderAccountList#read operationId: list-provider-accounts summary: List Provider Accounts description: Returns a a paginated collection of provider accounts for an organization. parameters: - $ref: '#/components/parameters/ProviderAccountsFilter' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' responses: '200': $ref: '#/components/responses/ListProviderAccountsResponse' '400': $ref: '#/components/responses/CloudGatewaysBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' servers: - url: 'https://global.api.konghq.com/' tags: - Provider Accounts x-speakeasy-group: CloudGateways 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 '/v2/cloud-gateways/provider-accounts/{providerAccountId}': get: operationId: get-provider-account summary: Get Provider Account description: Retrieves a provider account by ID. parameters: - $ref: '#/components/parameters/ProviderAccountId' responses: '200': $ref: '#/components/responses/RetrieveProviderAccountResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Provider Accounts x-speakeasy-group: CloudGateways /v2/cloud-gateways/resource-configurations: get: operationId: list-resource-configurations summary: List Resource Configurations description: | Returns a paginated collection of resource configurations for an organization. Resource configurations are settings that are applied to all cloud gateway resources in an organization. For example, the "data-plane-group-idle-timeout-minutes" resource configuration sets the idle timeout for all data plane groups in an organization. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' responses: '200': $ref: '#/components/responses/ListResourceConfigurationsResponse' '400': $ref: '#/components/responses/CloudGatewaysBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' servers: - url: 'https://global.api.konghq.com/' tags: - Resource Configurations x-speakeasy-group: CloudGateways '/v2/cloud-gateways/resource-configurations/{resourceConfigurationId}': get: operationId: get-resource-configuration summary: Get Resource Configuration description: Retrieves a resource configuration by ID. parameters: - $ref: '#/components/parameters/ResourceConfigurationId' responses: '200': $ref: '#/components/responses/RetrieveResourceConfigurationResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Resource Configurations x-speakeasy-group: CloudGateways /v2/cloud-gateways/resource-quotas: get: operationId: list-resource-quotas summary: List Resource Quotas description: | Returns a paginated collection of resource quotas for an organization. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' responses: '200': $ref: '#/components/responses/ListResourceQuotasResponse' '400': $ref: '#/components/responses/CloudGatewaysBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' servers: - url: 'https://global.api.konghq.com/' tags: - Cloud Gateways Resource Quotas x-speakeasy-group: CloudGateways '/v2/cloud-gateways/resource-quotas/{resourceQuotaId}': get: operationId: get-resource-quota summary: Get Resource Quota description: Retrieves a resource quota by ID. parameters: - $ref: '#/components/parameters/ResourceQuotaId' responses: '200': $ref: '#/components/responses/RetrieveResourceQuotaResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Cloud Gateways Resource Quotas x-speakeasy-group: CloudGateways /v2/control-planes: get: x-speakeasy-entity-operation: terraform-resource: null terraform-datasource: - GatewayControlPlaneList#read operationId: list-control-planes summary: List Control Planes description: Returns an array of control plane objects containing information about the Konnect Control Planes. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/ControlPlaneFilter' - $ref: '#/components/parameters/FilterByLabels' - $ref: '#/components/parameters/ControlPlaneSort' responses: '200': $ref: '#/components/responses/ListControlPlanesResponse' '400': $ref: '#/components/responses/ControlPlanesBadRequest' '401': $ref: '#/components/responses/ControlPlaneUnauthenticated' '403': $ref: '#/components/responses/ControlPlanePermissionDenied' '500': $ref: '#/components/responses/Internal' '503': $ref: '#/components/responses/ServiceUnavailable' tags: - Control Planes 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 post: x-speakeasy-entity-operation: terraform-resource: GatewayControlPlane#create terraform-datasource: null operationId: create-control-plane summary: Create Control Plane description: Create a control plane in the Konnect Organization. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateControlPlaneRequest' responses: '201': $ref: '#/components/responses/CreateControlPlaneResponse' '400': $ref: '#/components/responses/ControlPlanesBadRequest' '401': $ref: '#/components/responses/ControlPlaneUnauthenticated' '403': $ref: '#/components/responses/ControlPlanePermissionDenied' '409': $ref: '#/components/responses/ControlPlaneConflict' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' tags: - Control Planes '/v2/control-planes/{controlPlaneId}': parameters: - name: controlPlaneId in: path description: The control plane ID required: true schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a get: x-speakeasy-entity-operation: terraform-resource: GatewayControlPlane#read terraform-datasource: null operationId: get-control-plane summary: Get a Control Plane description: Returns information about an individual control plane. responses: '200': $ref: '#/components/responses/RetrieveControlPlaneResponse' '400': $ref: '#/components/responses/ControlPlanesBadRequest' '401': $ref: '#/components/responses/ControlPlaneUnauthenticated' '403': $ref: '#/components/responses/ControlPlanePermissionDenied' '404': $ref: '#/components/responses/ControlPlaneNotFound' '500': $ref: '#/components/responses/Internal' '503': $ref: '#/components/responses/ServiceUnavailable' tags: - Control Planes patch: x-speakeasy-entity-operation: terraform-resource: GatewayControlPlane#update terraform-datasource: null operationId: update-control-plane summary: Update Control Plane description: Update an individual control plane. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateControlPlaneRequest' responses: '200': $ref: '#/components/responses/UpdateControlPlaneResponse' '400': $ref: '#/components/responses/ControlPlanesBadRequest' '401': $ref: '#/components/responses/ControlPlaneUnauthenticated' '403': $ref: '#/components/responses/ControlPlanePermissionDenied' '404': $ref: '#/components/responses/ControlPlaneNotFound' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' tags: - Control Planes delete: x-speakeasy-entity-operation: terraform-resource: GatewayControlPlane#delete terraform-datasource: null operationId: delete-control-plane summary: Delete Control Plane description: Delete an individual control plane. responses: '204': description: No Content '400': $ref: '#/components/responses/ControlPlanesBadRequest' '401': $ref: '#/components/responses/ControlPlaneUnauthenticated' '403': $ref: '#/components/responses/ControlPlanePermissionDenied' '404': $ref: '#/components/responses/ControlPlaneNotFound' '500': $ref: '#/components/responses/InternalServerError' '503': $ref: '#/components/responses/ServiceUnavailable' tags: - Control Planes '/v2/control-planes/{controlPlaneId}/config-stores': get: operationId: list-config-stores summary: List all config stores for a control plane parameters: - $ref: '#/components/parameters/controlPlaneId' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageAfter' responses: '200': $ref: '#/components/responses/ListConfigStoresResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ConfigStoreUnauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Config Stores post: x-speakeasy-entity-operation: terraform-resource: GatewayConfigStore#create terraform-datasource: null operationId: create-config-store summary: Create Config Store description: Create a Config Store parameters: - $ref: '#/components/parameters/controlPlaneId' requestBody: $ref: '#/components/requestBodies/CreateConfigStoreRequest' responses: '201': $ref: '#/components/responses/ConfigStoreResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ConfigStoreUnauthorized' '403': $ref: '#/components/responses/Forbidden' '415': $ref: '#/components/responses/UnsupportedMediaType' tags: - Config Stores '/v2/control-planes/{controlPlaneId}/config-stores/{configStoreId}': parameters: - $ref: '#/components/parameters/controlPlaneId' - $ref: '#/components/parameters/configStoreId' get: x-speakeasy-entity-operation: terraform-resource: GatewayConfigStore#read terraform-datasource: null operationId: get-config-store summary: Get a Config Store description: Returns a Config Store responses: '200': $ref: '#/components/responses/ConfigStoreResponse' '401': $ref: '#/components/responses/ConfigStoreUnauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Config Stores put: x-speakeasy-entity-operation: terraform-resource: GatewayConfigStore#update terraform-datasource: null operationId: update-config-store summary: Update an individual Config Store description: Updates a Config Store requestBody: $ref: '#/components/requestBodies/UpdateConfigStoreRequest' responses: '200': $ref: '#/components/responses/ConfigStoreResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ConfigStoreUnauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/ConfigStoreNotFound' '415': $ref: '#/components/responses/UnsupportedMediaType' tags: - Config Stores delete: x-speakeasy-entity-operation: terraform-resource: GatewayConfigStore#delete terraform-datasource: null operationId: delete-config-store summary: Delete Config Store description: Removes a config store parameters: - name: force in: query description: 'If true, delete specified config store and all secrets, even if there are secrets linked to the config store If false, do not allow deletion if there are secrets linked to the config store' schema: type: string default: 'false' enum: - 'true' - 'false' responses: '204': description: Config Store was deleted successfully. '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ConfigStoreUnauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Config Stores '/v2/control-planes/{controlPlaneId}/config-stores/{configStoreId}/secrets': parameters: - $ref: '#/components/parameters/controlPlaneId' - $ref: '#/components/parameters/configStoreId' post: x-speakeasy-entity-operation: GatewayConfigStoreSecret#create operationId: create-config-store-secret summary: Create Config Store Secret description: Creates a secret for a Config Store. requestBody: $ref: '#/components/requestBodies/CreateConfigStoreSecretRequest' responses: '201': $ref: '#/components/responses/ConfigStoreSecretResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ConfigStoreSecretUnauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/ConfigStoreSecretNotFound' '415': $ref: '#/components/responses/UnsupportedMediaType' tags: - Config Store Secrets get: operationId: list-config-store-secrets summary: List Config Store Secrets description: Returns a collection of all secrets for a Config Store. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageAfter' responses: '200': $ref: '#/components/responses/ListConfigStoreSecretsResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ConfigStoreSecretUnauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/ConfigStoreSecretNotFound' tags: - Config Store Secrets '/v2/control-planes/{controlPlaneId}/config-stores/{configStoreId}/secrets/{key}': parameters: - $ref: '#/components/parameters/controlPlaneId' - $ref: '#/components/parameters/configStoreId' - name: key in: path description: Config Store Secret key required: true schema: type: string example: ConfigStoreSecretKey get: x-speakeasy-entity-operation: terraform-resource: GatewayConfigStoreSecret#read terraform-datasource: null operationId: get-config-store-secret summary: Get a Config Store Secret description: Returns the secret entity for the Config Store. Secret values once stored cannot be retrieved. responses: '200': $ref: '#/components/responses/ConfigStoreSecretResponse' '401': $ref: '#/components/responses/ConfigStoreSecretUnauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/ConfigStoreSecretNotFound' tags: - Config Store Secrets put: x-speakeasy-entity-operation: GatewayConfigStoreSecret#update operationId: update-config-store-secret summary: Update Config Store Secret description: Updates a secret for a Config Store. requestBody: $ref: '#/components/requestBodies/UpdateConfigStoreSecretRequest' responses: '200': $ref: '#/components/responses/ConfigStoreSecretResponse' '201': $ref: '#/components/responses/ConfigStoreSecretResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ConfigStoreSecretUnauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/ConfigStoreSecretNotFound' '415': $ref: '#/components/responses/UnsupportedMediaType' tags: - Config Store Secrets delete: x-speakeasy-entity-operation: GatewayConfigStoreSecret#delete operationId: delete-config-store-secret summary: Delete Config Store Secret description: Removes a secret from a Config Store. responses: '204': description: Secret for the Config Store was deleted successfully. '401': $ref: '#/components/responses/ConfigStoreSecretUnauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/ConfigStoreSecretNotFound' tags: - Config Store Secrets '/v2/control-planes/{controlPlaneId}/core-entities/acls': get: operationId: list-acl summary: List all ACLs description: List all ACLs parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing ACLs content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/ACL' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' '401': $ref: '#/components/responses/HTTP401Error' tags: - ACLs parameters: - $ref: '#/components/parameters/controlPlaneId' '/v2/control-planes/{controlPlaneId}/core-entities/acls/{ACLId}': get: operationId: get-acl summary: Get an ACL description: Get an ACL using ID. responses: '200': description: Successfully fetched ACL content: application/json: schema: $ref: '#/components/schemas/ACL' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - ACLs parameters: - $ref: '#/components/parameters/ACLId' - $ref: '#/components/parameters/controlPlaneId' '/v2/control-planes/{controlPlaneId}/core-entities/basic-auths': get: operationId: list-basic-auth summary: List all Basic-auth credentials description: List all Basic-auth credentials parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing Basic-auth credentials content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/BasicAuth' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' '401': $ref: '#/components/responses/HTTP401Error' tags: - Basic-auth credentials parameters: - $ref: '#/components/parameters/controlPlaneId' '/v2/control-planes/{controlPlaneId}/core-entities/basic-auths/{BasicAuthId}': get: operationId: get-basic-auth summary: Get a Basic-auth credential description: Get a Basic-auth credential using ID. responses: '200': description: Successfully fetched Basic-auth credential content: application/json: schema: $ref: '#/components/schemas/BasicAuth' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - Basic-auth credentials parameters: - $ref: '#/components/parameters/BasicAuthId' - $ref: '#/components/parameters/controlPlaneId' '/v2/control-planes/{controlPlaneId}/core-entities/ca_certificates': get: operationId: list-ca_certificate summary: List all CA Certificates description: List all CA Certificates parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing CA Certificates content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/CACertificate' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' '401': $ref: '#/components/responses/HTTP401Error' tags: - CA Certificates parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-ca_certificate summary: Create a new CA Certificate description: Create a new CA Certificate requestBody: description: Description of the new CA Certificate for creation required: true content: application/json: schema: $ref: '#/components/schemas/CACertificate' responses: '201': description: Successfully created CA Certificate content: application/json: schema: $ref: '#/components/schemas/CACertificate' '401': $ref: '#/components/responses/HTTP401Error' tags: - CA Certificates '/v2/control-planes/{controlPlaneId}/core-entities/ca_certificates/{CACertificateId}': delete: operationId: delete-ca_certificate summary: Delete a CA Certificate description: Delete a CA Certificate parameters: - $ref: '#/components/parameters/CACertificateId' responses: '204': description: Successfully deleted CA Certificate or the resource didn't exist '401': $ref: '#/components/responses/HTTP401Error' tags: - CA Certificates get: operationId: get-ca_certificate summary: Get a CA Certificate description: Get a CA Certificate using ID. responses: '200': description: Successfully fetched CA Certificate content: application/json: schema: $ref: '#/components/schemas/CACertificate' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - CA Certificates parameters: - $ref: '#/components/parameters/CACertificateId' - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-ca_certificate summary: Upsert a CA Certificate description: Create or Update CA Certificate using ID. requestBody: description: Description of the CA Certificate required: true content: application/json: schema: $ref: '#/components/schemas/CACertificate' responses: '200': description: Successfully upserted CA Certificate content: application/json: schema: $ref: '#/components/schemas/CACertificate' '401': $ref: '#/components/responses/HTTP401Error' tags: - CA Certificates '/v2/control-planes/{controlPlaneId}/core-entities/certificates': get: operationId: list-certificate summary: List all Certificates description: List all Certificates parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing Certificates content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Certificate' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' '401': $ref: '#/components/responses/HTTP401Error' tags: - Certificates parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-certificate summary: Create a new Certificate description: Create a new Certificate requestBody: description: Description of the new Certificate for creation required: true content: application/json: schema: $ref: '#/components/schemas/Certificate' responses: '201': description: Successfully created Certificate content: application/json: schema: $ref: '#/components/schemas/Certificate' '401': $ref: '#/components/responses/HTTP401Error' tags: - Certificates '/v2/control-planes/{controlPlaneId}/core-entities/certificates/{CertificateId}': delete: operationId: delete-certificate summary: Delete a Certificate description: Delete a Certificate parameters: - $ref: '#/components/parameters/CertificateId' responses: '204': description: Successfully deleted Certificate or the resource didn't exist '401': $ref: '#/components/responses/HTTP401Error' tags: - Certificates get: operationId: get-certificate summary: Get a Certificate description: Get a Certificate using ID. responses: '200': description: Successfully fetched Certificate content: application/json: schema: $ref: '#/components/schemas/Certificate' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - Certificates parameters: - $ref: '#/components/parameters/CertificateId' - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-certificate summary: Upsert a Certificate description: Create or Update Certificate using ID. requestBody: description: Description of the Certificate required: true content: application/json: schema: $ref: '#/components/schemas/Certificate' responses: '200': description: Successfully upserted Certificate content: application/json: schema: $ref: '#/components/schemas/Certificate' '401': $ref: '#/components/responses/HTTP401Error' tags: - Certificates '/v2/control-planes/{controlPlaneId}/core-entities/certificates/{CertificateId}/snis': get: operationId: list-sni-with-certificate summary: List all SNIs associated with a Certificate description: List all SNIs associated with a Certificate parameters: - $ref: '#/components/parameters/CertificateId' - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing SNIs content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/SNI' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - SNIs parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-sni-with-certificate summary: Create a new SNI associated with a Certificate description: Create a new SNI associated with a Certificate parameters: - $ref: '#/components/parameters/CertificateId' requestBody: description: Description of new SNI for creation required: true content: application/json: schema: $ref: '#/components/schemas/SNIWithoutParents' responses: '201': description: Successfully created SNI content: application/json: schema: $ref: '#/components/schemas/SNI' tags: - SNIs '/v2/control-planes/{controlPlaneId}/core-entities/certificates/{CertificateId}/snis/{SNIId}': delete: operationId: delete-sni-with-certificate summary: Delete a an SNI associated with a Certificate description: Delete a an SNI associated with a Certificate using ID or name. parameters: - $ref: '#/components/parameters/CertificateId' - $ref: '#/components/parameters/SNIId' responses: '204': description: Successfully deleted SNI or the resource didn't exist tags: - SNIs get: operationId: get-sni-with-certificate summary: Get an SNI associated with a Certificate description: Get an SNI associated with a Certificate using ID or name. parameters: - $ref: '#/components/parameters/CertificateId' - $ref: '#/components/parameters/SNIId' responses: '200': description: Successfully fetched SNI content: application/json: schema: $ref: '#/components/schemas/SNI' '404': description: Resource does not exist tags: - SNIs parameters: - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-sni-with-certificate summary: Upsert an SNI associated with a Certificate description: Create or Update an SNI associated with a Certificate using ID or name. parameters: - $ref: '#/components/parameters/CertificateId' - $ref: '#/components/parameters/SNIId' requestBody: description: Description of the SNI required: true content: application/json: schema: $ref: '#/components/schemas/SNIWithoutParents' responses: '200': description: Successfully upserted SNI content: application/json: schema: $ref: '#/components/schemas/SNI' tags: - SNIs '/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups': get: operationId: list-consumer_group summary: List all Consumer Groups description: List all Consumer Groups parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing Consumer Groups content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/ConsumerGroup' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' '401': $ref: '#/components/responses/HTTP401Error' tags: - Consumer Groups parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-consumer_group summary: Create a new Consumer Group description: Create a new Consumer Group requestBody: description: Description of the new Consumer Group for creation required: true content: application/json: schema: $ref: '#/components/schemas/ConsumerGroup' responses: '201': description: Successfully created Consumer Group content: application/json: schema: $ref: '#/components/schemas/ConsumerGroup' '401': $ref: '#/components/responses/HTTP401Error' tags: - Consumer Groups '/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{ConsumerGroupId}': delete: operationId: delete-consumer_group summary: Delete a Consumer Group description: Delete a Consumer Group parameters: - $ref: '#/components/parameters/ConsumerGroupId' responses: '204': description: Successfully deleted Consumer Group or the resource didn't exist '401': $ref: '#/components/responses/HTTP401Error' tags: - Consumer Groups get: operationId: get-consumer_group summary: Get a Consumer Group description: Get a Consumer Group using ID. parameters: - $ref: '#/components/parameters/ListConsumers' responses: '200': description: Successfully fetched Consumer Group content: application/json: schema: $ref: '#/components/schemas/ConsumerGroupInsideWrapper' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - Consumer Groups parameters: - $ref: '#/components/parameters/ConsumerGroupId' - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-consumer_group summary: Upsert a Consumer Group description: Create or Update Consumer Group using ID. requestBody: description: Description of the Consumer Group required: true content: application/json: schema: $ref: '#/components/schemas/ConsumerGroup' responses: '200': description: Successfully upserted Consumer Group content: application/json: schema: $ref: '#/components/schemas/ConsumerGroup' '401': $ref: '#/components/responses/HTTP401Error' tags: - Consumer Groups '/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{ConsumerGroupId}/consumers': delete: operationId: remove-all-consumers-from-consumer-group summary: Remove consumers from consumer group description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Removes all consumers from a Consumer Groups. This operation does not delete the consumer group. responses: '204': description: Consumers removed from group '404': description: Consumer group or consumer association does not exist tags: - Consumer Groups get: operationId: list-consumers-for-consumer-group summary: List all Consumers in a Consumer Group description: List all consumers in a consumer group parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing of consumers content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Consumer' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - Consumer Groups parameters: - $ref: '#/components/parameters/ConsumerGroupIdManageConsumers' - $ref: '#/components/parameters/controlPlaneId' post: x-speakeasy-entity-operation: GatewayConsumerGroupMember#create operationId: add-consumer-to-group summary: Add consumer to consumer group description: Add a consumer to a consumer group requestBody: content: application/json: schema: type: object properties: consumer: type: string example: cf4c7e60-11db-49dd-b300-7c7e5f0f7e6b x-speakeasy-name-override: consumer_id responses: '201': description: Consumer added to group content: application/json: schema: type: object properties: consumer_group: $ref: '#/components/schemas/ConsumerGroup' consumers: type: array items: $ref: '#/components/schemas/Consumer' tags: - Consumer Groups '/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{ConsumerGroupId}/consumers/{ConsumerId}': delete: x-speakeasy-entity-operation: GatewayConsumerGroupMember#delete operationId: remove-consumer-from-group summary: Remove consumer from consumer group description: Remove a consumer from a consumer group responses: '204': description: Consumer removed from group tags: - Consumer Groups parameters: - $ref: '#/components/parameters/ConsumerGroupIdManageConsumers' - name: ConsumerId in: path required: true schema: type: string x-speakeasy-name-override: consumer_id - $ref: '#/components/parameters/controlPlaneId' '/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{ConsumerGroupId}/plugins': get: operationId: list-plugin-with-consumer_group summary: List all Plugins associated with a Consumer Group description: List all Plugins associated with a Consumer Group parameters: - $ref: '#/components/parameters/ConsumerGroupId' - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing Plugins content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Plugin' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - Plugins parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-plugin-with-consumer_group summary: Create a new Plugin associated with a Consumer Group description: Create a new Plugin associated with a Consumer Group parameters: - $ref: '#/components/parameters/ConsumerGroupId' requestBody: description: Description of new Plugin for creation required: true content: application/json: schema: $ref: '#/components/schemas/PluginWithoutParents' responses: '201': description: Successfully created Plugin content: application/json: schema: $ref: '#/components/schemas/Plugin' tags: - Plugins '/v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{ConsumerGroupId}/plugins/{PluginId}': delete: operationId: delete-plugin-with-consumer_group summary: Delete a a Plugin associated with a Consumer Group description: Delete a a Plugin associated with a Consumer Group using ID. parameters: - $ref: '#/components/parameters/ConsumerGroupId' - $ref: '#/components/parameters/PluginId' responses: '204': description: Successfully deleted Plugin or the resource didn't exist tags: - Plugins get: operationId: get-plugin-with-consumer_group summary: Get a Plugin associated with a Consumer Group description: Get a Plugin associated with a Consumer Group using ID. parameters: - $ref: '#/components/parameters/ConsumerGroupId' - $ref: '#/components/parameters/PluginId' - $ref: '#/components/parameters/ExpandPartials' responses: '200': description: Successfully fetched Plugin content: application/json: schema: $ref: '#/components/schemas/Plugin' '404': description: Resource does not exist tags: - Plugins parameters: - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-plugin-with-consumer_group summary: Upsert a Plugin associated with a Consumer Group description: Create or Update a Plugin associated with a Consumer Group using ID. parameters: - $ref: '#/components/parameters/ConsumerGroupId' - $ref: '#/components/parameters/PluginId' requestBody: description: Description of the Plugin required: true content: application/json: schema: $ref: '#/components/schemas/PluginWithoutParents' responses: '200': description: Successfully upserted Plugin content: application/json: schema: $ref: '#/components/schemas/Plugin' tags: - Plugins '/v2/control-planes/{controlPlaneId}/core-entities/consumers': get: operationId: list-consumer summary: List all Consumers description: List all Consumers parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' - $ref: '#/components/parameters/CustomId' - $ref: '#/components/parameters/NameContainsFilter' - $ref: '#/components/parameters/NameEqualsFilter' responses: '200': description: A successful response listing Consumers content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Consumer' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' '401': $ref: '#/components/responses/HTTP401Error' tags: - Consumers parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-consumer summary: Create a new Consumer description: Create a new Consumer requestBody: description: Description of the new Consumer for creation required: true content: application/json: schema: $ref: '#/components/schemas/Consumer' responses: '201': description: Successfully created Consumer content: application/json: schema: $ref: '#/components/schemas/Consumer' '401': $ref: '#/components/responses/HTTP401Error' tags: - Consumers '/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerId}': delete: operationId: delete-consumer summary: Delete a Consumer description: Delete a Consumer parameters: - $ref: '#/components/parameters/ConsumerId' responses: '204': description: Successfully deleted Consumer or the resource didn't exist '401': $ref: '#/components/responses/HTTP401Error' tags: - Consumers get: operationId: get-consumer summary: Get a Consumer description: Get a Consumer using ID or username. responses: '200': description: Successfully fetched Consumer content: application/json: schema: $ref: '#/components/schemas/Consumer' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - Consumers parameters: - $ref: '#/components/parameters/ConsumerId' - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-consumer summary: Upsert a Consumer description: Create or Update Consumer using ID or username. requestBody: description: Description of the Consumer required: true content: application/json: schema: $ref: '#/components/schemas/Consumer' responses: '200': description: Successfully upserted Consumer content: application/json: schema: $ref: '#/components/schemas/Consumer' '401': $ref: '#/components/responses/HTTP401Error' tags: - Consumers '/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerId}/consumer_groups': delete: operationId: remove-consumer-from-all-consumer-groups summary: Remove consumer from all consumer groups description: Removes a consumer from all Consumer Groups. This operation does not delete the consumer group. parameters: - $ref: '#/components/parameters/ConsumerId' responses: '204': description: Consumer removed from all groups '404': description: Consumer does not exist tags: - Consumers get: operationId: list-consumer-groups-for-consumer summary: List all Consumer Groups a Consumer belongs to description: List all Consumer Groups a Consumer belongs to parameters: - $ref: '#/components/parameters/ConsumerId' - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing Consumer Groups content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/ConsumerGroup' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - Consumers parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: add-consumer-to-specific-consumer-group summary: Add consumer to a specific consumer group description: Add a consumer to a consumer group parameters: - $ref: '#/components/parameters/ConsumerId' requestBody: content: application/json: schema: type: object properties: group: type: string example: fedee695-2ae2-4e45-877a-776d9b2fc793 x-speakeasy-name-override: group responses: '201': description: Consumer added to a specific group content: application/json: schema: type: object properties: consumer: $ref: '#/components/schemas/Consumer' consumer_groups: type: array items: $ref: '#/components/schemas/ConsumerGroup' tags: - Consumers '/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerId}/consumer_groups/{ConsumerGroupId}': delete: operationId: remove-consumer-from-consumer-group summary: Remove consumer from consumer group description: Removes a consumer from a Consumer Group. This operation does not delete the consumer group. parameters: - $ref: '#/components/parameters/ConsumerId' - $ref: '#/components/parameters/ConsumerGroupId' responses: '204': description: Consumer removed from group tags: - Consumers parameters: - $ref: '#/components/parameters/controlPlaneId' '/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/acls': get: operationId: list-acl-with-consumer summary: List all ACLs associated with a Consumer description: List all ACLs associated with a Consumer parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing ACLs content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/ACL' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - ACLs parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-acl-with-consumer summary: Create a new ACL associated with a Consumer description: Create a new ACL associated with a Consumer parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' requestBody: description: Description of new ACL for creation required: true content: application/json: schema: $ref: '#/components/schemas/ACLWithoutParents' responses: '201': description: Successfully created ACL content: application/json: schema: $ref: '#/components/schemas/ACL' tags: - ACLs '/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/acls/{ACLId}': delete: operationId: delete-acl-with-consumer summary: Delete a an ACL associated with a Consumer description: Delete a an ACL associated with a Consumer using ID. parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/ACLId' responses: '204': description: Successfully deleted ACL or the resource didn't exist tags: - ACLs get: operationId: get-acl-with-consumer summary: Get an ACL associated with a Consumer description: Get an ACL associated with a Consumer using ID. parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/ACLId' responses: '200': description: Successfully fetched ACL content: application/json: schema: $ref: '#/components/schemas/ACL' '404': description: Resource does not exist tags: - ACLs parameters: - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-acl-with-consumer summary: Upsert an ACL associated with a Consumer description: Create or Update an ACL associated with a Consumer using ID. parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/ACLId' requestBody: description: Description of the ACL required: true content: application/json: schema: $ref: '#/components/schemas/ACLWithoutParents' responses: '200': description: Successfully upserted ACL content: application/json: schema: $ref: '#/components/schemas/ACL' tags: - ACLs '/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/basic-auth': get: operationId: list-basic-auth-with-consumer summary: List all Basic-auth credentials associated with a Consumer description: List all Basic-auth credentials associated with a Consumer parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing Basic-auth credentials content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/BasicAuth' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - Basic-auth credentials parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-basic-auth-with-consumer summary: Create a new Basic-auth credential associated with a Consumer description: Create a new Basic-auth credential associated with a Consumer parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' requestBody: description: Description of new Basic-auth credential for creation required: true content: application/json: schema: $ref: '#/components/schemas/BasicAuthWithoutParents' responses: '201': description: Successfully created Basic-auth credential content: application/json: schema: $ref: '#/components/schemas/BasicAuth' tags: - Basic-auth credentials '/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/basic-auth/{BasicAuthId}': delete: operationId: delete-basic-auth-with-consumer summary: Delete a a Basic-auth credential associated with a Consumer description: Delete a a Basic-auth credential associated with a Consumer using ID. parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/BasicAuthId' responses: '204': description: Successfully deleted Basic-auth credential or the resource didn't exist tags: - Basic-auth credentials get: operationId: get-basic-auth-with-consumer summary: Get a Basic-auth credential associated with a Consumer description: Get a Basic-auth credential associated with a Consumer using ID. parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/BasicAuthId' responses: '200': description: Successfully fetched Basic-auth credential content: application/json: schema: $ref: '#/components/schemas/BasicAuth' '404': description: Resource does not exist tags: - Basic-auth credentials parameters: - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-basic-auth-with-consumer summary: Upsert a Basic-auth credential associated with a Consumer description: Create or Update a Basic-auth credential associated with a Consumer using ID. parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/BasicAuthId' requestBody: description: Description of the Basic-auth credential required: true content: application/json: schema: $ref: '#/components/schemas/BasicAuthWithoutParents' responses: '200': description: Successfully upserted Basic-auth credential content: application/json: schema: $ref: '#/components/schemas/BasicAuth' tags: - Basic-auth credentials '/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/hmac-auth': get: operationId: list-hmac-auth-with-consumer summary: List all HMAC-auth credentials associated with a Consumer description: List all HMAC-auth credentials associated with a Consumer parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing HMAC-auth credentials content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/HMACAuth' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - HMAC-auth credentials parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-hmac-auth-with-consumer summary: Create a new HMAC-auth credential associated with a Consumer description: Create a new HMAC-auth credential associated with a Consumer parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' requestBody: description: Description of new HMAC-auth credential for creation required: true content: application/json: schema: $ref: '#/components/schemas/HMACAuthWithoutParents' responses: '201': description: Successfully created HMAC-auth credential content: application/json: schema: $ref: '#/components/schemas/HMACAuth' tags: - HMAC-auth credentials '/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/hmac-auth/{HMACAuthId}': delete: operationId: delete-hmac-auth-with-consumer summary: Delete a a HMAC-auth credential associated with a Consumer description: Delete a a HMAC-auth credential associated with a Consumer using ID. parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/HMACAuthId' responses: '204': description: Successfully deleted HMAC-auth credential or the resource didn't exist tags: - HMAC-auth credentials get: operationId: get-hmac-auth-with-consumer summary: Get a HMAC-auth credential associated with a Consumer description: Get a HMAC-auth credential associated with a Consumer using ID. parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/HMACAuthId' responses: '200': description: Successfully fetched HMAC-auth credential content: application/json: schema: $ref: '#/components/schemas/HMACAuth' '404': description: Resource does not exist tags: - HMAC-auth credentials parameters: - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-hmac-auth-with-consumer summary: Upsert a HMAC-auth credential associated with a Consumer description: Create or Update a HMAC-auth credential associated with a Consumer using ID. parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/HMACAuthId' requestBody: description: Description of the HMAC-auth credential required: true content: application/json: schema: $ref: '#/components/schemas/HMACAuthWithoutParents' responses: '200': description: Successfully upserted HMAC-auth credential content: application/json: schema: $ref: '#/components/schemas/HMACAuth' tags: - HMAC-auth credentials '/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/jwt': get: operationId: list-jwt-with-consumer summary: List all JWTs associated with a Consumer description: List all JWTs associated with a Consumer parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing JWTs content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/JWT' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - JWTs parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-jwt-with-consumer summary: Create a new JWT associated with a Consumer description: Create a new JWT associated with a Consumer parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' requestBody: description: Description of new JWT for creation content: application/json: schema: $ref: '#/components/schemas/JWTWithoutParents' responses: '201': description: Successfully created JWT content: application/json: schema: $ref: '#/components/schemas/JWT' tags: - JWTs '/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/jwt/{JWTId}': delete: operationId: delete-jwt-with-consumer summary: Delete a a JWT associated with a Consumer description: Delete a a JWT associated with a Consumer using ID. parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/JWTId' responses: '204': description: Successfully deleted JWT or the resource didn't exist tags: - JWTs get: operationId: get-jwt-with-consumer summary: Get a JWT associated with a Consumer description: Get a JWT associated with a Consumer using ID. parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/JWTId' responses: '200': description: Successfully fetched JWT content: application/json: schema: $ref: '#/components/schemas/JWT' '404': description: Resource does not exist tags: - JWTs parameters: - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-jwt-with-consumer summary: Upsert a JWT associated with a Consumer description: Create or Update a JWT associated with a Consumer using ID. parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/JWTId' requestBody: description: Description of the JWT content: application/json: schema: $ref: '#/components/schemas/JWTWithoutParents' responses: '200': description: Successfully upserted JWT content: application/json: schema: $ref: '#/components/schemas/JWT' tags: - JWTs '/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/key-auth': get: operationId: list-key-auth-with-consumer summary: List all API-keys associated with a Consumer description: List all API-keys associated with a Consumer parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing API-keys content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/KeyAuth' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - API-keys parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-key-auth-with-consumer summary: Create a new API-key associated with a Consumer description: Create a new API-key associated with a Consumer parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' requestBody: description: Description of new API-key for creation content: application/json: schema: $ref: '#/components/schemas/KeyAuthWithoutParents' responses: '201': description: Successfully created API-key content: application/json: schema: $ref: '#/components/schemas/KeyAuth' tags: - API-keys '/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/key-auth/{KeyAuthId}': delete: operationId: delete-key-auth-with-consumer summary: Delete a an API-key associated with a Consumer description: Delete a an API-key associated with a Consumer using ID. parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/KeyAuthId' responses: '204': description: Successfully deleted API-key or the resource didn't exist tags: - API-keys get: operationId: get-key-auth-with-consumer summary: Get an API-key associated with a Consumer description: Get an API-key associated with a Consumer using ID. parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/KeyAuthId' responses: '200': description: Successfully fetched API-key content: application/json: schema: $ref: '#/components/schemas/KeyAuth' '404': description: Resource does not exist tags: - API-keys parameters: - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-key-auth-with-consumer summary: Upsert an API-key associated with a Consumer description: Create or Update an API-key associated with a Consumer using ID. parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/KeyAuthId' requestBody: description: Description of the API-key content: application/json: schema: $ref: '#/components/schemas/KeyAuthWithoutParents' responses: '200': description: Successfully upserted API-key content: application/json: schema: $ref: '#/components/schemas/KeyAuth' tags: - API-keys '/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/mtls-auth': get: operationId: list-mtls-auth-with-consumer summary: List all MTLS-auth credentials associated with a Consumer description: List all MTLS-auth credentials associated with a Consumer parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing MTLS-auth credentials content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/MTLSAuth' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - MTLS-auth credentials parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-mtls-auth-with-consumer summary: Create a new MTLS-auth credential associated with a Consumer description: Create a new MTLS-auth credential associated with a Consumer parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' requestBody: description: Description of new MTLS-auth credential for creation required: true content: application/json: schema: $ref: '#/components/schemas/MTLSAuthWithoutParents' responses: '201': description: Successfully created MTLS-auth credential content: application/json: schema: $ref: '#/components/schemas/MTLSAuth' tags: - MTLS-auth credentials '/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/mtls-auth/{MTLSAuthId}': delete: operationId: delete-mtls-auth-with-consumer summary: Delete a a MTLS-auth credential associated with a Consumer description: Delete a a MTLS-auth credential associated with a Consumer using ID. parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/MTLSAuthId' responses: '204': description: Successfully deleted MTLS-auth credential or the resource didn't exist tags: - MTLS-auth credentials get: operationId: get-mtls-auth-with-consumer summary: Get a MTLS-auth credential associated with a Consumer description: Get a MTLS-auth credential associated with a Consumer using ID. parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/MTLSAuthId' responses: '200': description: Successfully fetched MTLS-auth credential content: application/json: schema: $ref: '#/components/schemas/MTLSAuth' '404': description: Resource does not exist tags: - MTLS-auth credentials parameters: - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-mtls-auth-with-consumer summary: Upsert a MTLS-auth credential associated with a Consumer description: Create or Update a MTLS-auth credential associated with a Consumer using ID. parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/MTLSAuthId' requestBody: description: Description of the MTLS-auth credential required: true content: application/json: schema: $ref: '#/components/schemas/MTLSAuthWithoutParents' responses: '200': description: Successfully upserted MTLS-auth credential content: application/json: schema: $ref: '#/components/schemas/MTLSAuth' tags: - MTLS-auth credentials '/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/plugins': get: operationId: list-plugin-with-consumer summary: List all Plugins associated with a Consumer description: List all Plugins associated with a Consumer parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing Plugins content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Plugin' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - Plugins parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-plugin-with-consumer summary: Create a new Plugin associated with a Consumer description: Create a new Plugin associated with a Consumer parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' requestBody: description: Description of new Plugin for creation required: true content: application/json: schema: $ref: '#/components/schemas/PluginWithoutParents' responses: '201': description: Successfully created Plugin content: application/json: schema: $ref: '#/components/schemas/Plugin' tags: - Plugins '/v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/plugins/{PluginId}': delete: operationId: delete-plugin-with-consumer summary: Delete a a Plugin associated with a Consumer description: Delete a a Plugin associated with a Consumer using ID. parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/PluginId' responses: '204': description: Successfully deleted Plugin or the resource didn't exist tags: - Plugins get: operationId: get-plugin-with-consumer summary: Get a Plugin associated with a Consumer description: Get a Plugin associated with a Consumer using ID. parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/PluginId' - $ref: '#/components/parameters/ExpandPartials' responses: '200': description: Successfully fetched Plugin content: application/json: schema: $ref: '#/components/schemas/Plugin' '404': description: Resource does not exist tags: - Plugins parameters: - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-plugin-with-consumer summary: Upsert a Plugin associated with a Consumer description: Create or Update a Plugin associated with a Consumer using ID. parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/PluginId' requestBody: description: Description of the Plugin required: true content: application/json: schema: $ref: '#/components/schemas/PluginWithoutParents' responses: '200': description: Successfully upserted Plugin content: application/json: schema: $ref: '#/components/schemas/Plugin' tags: - Plugins '/v2/control-planes/{controlPlaneId}/core-entities/custom-plugins': get: operationId: list-custom-plugin summary: List all CustomPlugins description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. List all CustomPlugins parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing CustomPlugins content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/CustomPlugin' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' '401': $ref: '#/components/responses/HTTP401Error' tags: - CustomPlugins parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-custom-plugin summary: Create a new CustomPlugin description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Create a new CustomPlugin requestBody: description: Description of the new CustomPlugin for creation required: true content: application/json: schema: $ref: '#/components/schemas/CustomPlugin' responses: '201': description: Successfully created CustomPlugin content: application/json: schema: $ref: '#/components/schemas/CustomPlugin' '401': $ref: '#/components/responses/HTTP401Error' tags: - CustomPlugins '/v2/control-planes/{controlPlaneId}/core-entities/custom-plugins/{CustomPluginId}': delete: operationId: delete-custom-plugin summary: Delete a CustomPlugin description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Delete a CustomPlugin parameters: - $ref: '#/components/parameters/CustomPluginId' responses: '204': description: Successfully deleted CustomPlugin or the resource didn't exist '401': $ref: '#/components/responses/HTTP401Error' tags: - CustomPlugins get: operationId: get-custom-plugin summary: Get a CustomPlugin description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Get a CustomPlugin using ID or name. responses: '200': description: Successfully fetched CustomPlugin content: application/json: schema: $ref: '#/components/schemas/CustomPlugin' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - CustomPlugins parameters: - $ref: '#/components/parameters/CustomPluginId' - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-custom-plugin summary: Upsert a CustomPlugin description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Create or Update CustomPlugin using ID or name. requestBody: description: Description of the CustomPlugin required: true content: application/json: schema: $ref: '#/components/schemas/CustomPlugin' responses: '200': description: Successfully upserted CustomPlugin content: application/json: schema: $ref: '#/components/schemas/CustomPlugin' '401': $ref: '#/components/responses/HTTP401Error' tags: - CustomPlugins '/v2/control-planes/{controlPlaneId}/core-entities/degraphql_routes': get: operationId: list-degraphql_route summary: List all Degraphql_routes description: List all Degraphql_routes parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing Degraphql_routes content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Degraphql_route' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' '401': $ref: '#/components/responses/HTTP401Error' tags: - Degraphql_routes parameters: - $ref: '#/components/parameters/controlPlaneId' '/v2/control-planes/{controlPlaneId}/core-entities/degraphql_routes/{Degraphql_routeId}': get: operationId: get-degraphql_route summary: Get a Degraphql_route description: Get a Degraphql_route using ID or name. responses: '200': description: Successfully fetched Degraphql_route content: application/json: schema: $ref: '#/components/schemas/Degraphql_route' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - Degraphql_routes parameters: - $ref: '#/components/parameters/Degraphql_routeId' - $ref: '#/components/parameters/controlPlaneId' '/v2/control-planes/{controlPlaneId}/core-entities/graphql-rate-limiting-advanced/costs': get: operationId: list-graphql-rate-limiting-advanced-cost summary: List all GraphQL Cost Decorations description: List all GraphQL Cost Decorations parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing GraphQL Cost Decorations content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/GraphQLCostDecoration' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' '401': $ref: '#/components/responses/HTTP401Error' tags: - GraphQL Cost Decorations parameters: - $ref: '#/components/parameters/controlPlaneId' '/v2/control-planes/{controlPlaneId}/core-entities/graphql-rate-limiting-advanced/costs/{GraphQLCostDecorationId}': get: operationId: get-graphql-rate-limiting-advanced-cost summary: Get a GraphQL Cost Decoration description: Get a GraphQL Cost Decoration using ID. responses: '200': description: Successfully fetched GraphQL Cost Decoration content: application/json: schema: $ref: '#/components/schemas/GraphQLCostDecoration' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - GraphQL Cost Decorations parameters: - $ref: '#/components/parameters/GraphQLCostDecorationId' - $ref: '#/components/parameters/controlPlaneId' '/v2/control-planes/{controlPlaneId}/core-entities/hmac-auths': get: operationId: list-hmac-auth summary: List all HMAC-auth credentials description: List all HMAC-auth credentials parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing HMAC-auth credentials content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/HMACAuth' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' '401': $ref: '#/components/responses/HTTP401Error' tags: - HMAC-auth credentials parameters: - $ref: '#/components/parameters/controlPlaneId' '/v2/control-planes/{controlPlaneId}/core-entities/hmac-auths/{HMACAuthId}': get: operationId: get-hmac-auth summary: Get a HMAC-auth credential description: Get a HMAC-auth credential using ID. responses: '200': description: Successfully fetched HMAC-auth credential content: application/json: schema: $ref: '#/components/schemas/HMACAuth' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - HMAC-auth credentials parameters: - $ref: '#/components/parameters/HMACAuthId' - $ref: '#/components/parameters/controlPlaneId' '/v2/control-planes/{controlPlaneId}/core-entities/jwts': get: operationId: list-jwt summary: List all JWTs description: List all JWTs parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing JWTs content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/JWT' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' '401': $ref: '#/components/responses/HTTP401Error' tags: - JWTs parameters: - $ref: '#/components/parameters/controlPlaneId' '/v2/control-planes/{controlPlaneId}/core-entities/jwts/{JWTId}': get: operationId: get-jwt summary: Get a JWT description: Get a JWT using ID. responses: '200': description: Successfully fetched JWT content: application/json: schema: $ref: '#/components/schemas/JWT' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - JWTs parameters: - $ref: '#/components/parameters/JWTId' - $ref: '#/components/parameters/controlPlaneId' '/v2/control-planes/{controlPlaneId}/core-entities/key-auths': get: operationId: list-key-auth summary: List all API-keys description: List all API-keys parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing API-keys content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/KeyAuth' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' '401': $ref: '#/components/responses/HTTP401Error' tags: - API-keys parameters: - $ref: '#/components/parameters/controlPlaneId' '/v2/control-planes/{controlPlaneId}/core-entities/key-auths/{KeyAuthId}': get: operationId: get-key-auth summary: Get an API-key description: Get an API-key using ID. responses: '200': description: Successfully fetched API-key content: application/json: schema: $ref: '#/components/schemas/KeyAuth' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - API-keys parameters: - $ref: '#/components/parameters/KeyAuthId' - $ref: '#/components/parameters/controlPlaneId' '/v2/control-planes/{controlPlaneId}/core-entities/key-sets': get: operationId: list-key-set summary: List all KeySets description: List all KeySets parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing KeySets content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/KeySet' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' '401': $ref: '#/components/responses/HTTP401Error' tags: - KeySets parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-key-set summary: Create a new KeySet description: Create a new KeySet requestBody: description: Description of the new KeySet for creation content: application/json: schema: $ref: '#/components/schemas/KeySet' responses: '201': description: Successfully created KeySet content: application/json: schema: $ref: '#/components/schemas/KeySet' '401': $ref: '#/components/responses/HTTP401Error' tags: - KeySets '/v2/control-planes/{controlPlaneId}/core-entities/key-sets/{KeySetId}': delete: operationId: delete-key-set summary: Delete a KeySet description: Delete a KeySet parameters: - $ref: '#/components/parameters/KeySetId' responses: '204': description: Successfully deleted KeySet or the resource didn't exist '401': $ref: '#/components/responses/HTTP401Error' tags: - KeySets get: operationId: get-key-set summary: Get a KeySet description: Get a KeySet using ID or name. responses: '200': description: Successfully fetched KeySet content: application/json: schema: $ref: '#/components/schemas/KeySet' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - KeySets parameters: - $ref: '#/components/parameters/KeySetId' - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-key-set summary: Upsert a KeySet description: Create or Update KeySet using ID or name. requestBody: description: Description of the KeySet content: application/json: schema: $ref: '#/components/schemas/KeySet' responses: '200': description: Successfully upserted KeySet content: application/json: schema: $ref: '#/components/schemas/KeySet' '401': $ref: '#/components/responses/HTTP401Error' tags: - KeySets '/v2/control-planes/{controlPlaneId}/core-entities/key-sets/{KeySetId}/keys': get: operationId: list-key-with-key-set summary: List all Keys associated with a KeySet description: List all Keys associated with a KeySet parameters: - $ref: '#/components/parameters/KeySetId' - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing Keys content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Key' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - Keys parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-key-with-key-set summary: Create a new Key associated with a KeySet description: Create a new Key associated with a KeySet parameters: - $ref: '#/components/parameters/KeySetId' requestBody: description: Description of new Key for creation required: true content: application/json: schema: $ref: '#/components/schemas/KeyWithoutParents' responses: '201': description: Successfully created Key content: application/json: schema: $ref: '#/components/schemas/Key' tags: - Keys '/v2/control-planes/{controlPlaneId}/core-entities/key-sets/{KeySetId}/keys/{KeyId}': delete: operationId: delete-key-with-key-set summary: Delete a a Key associated with a KeySet description: Delete a a Key associated with a KeySet using ID or name. parameters: - $ref: '#/components/parameters/KeySetId' - $ref: '#/components/parameters/KeyId' responses: '204': description: Successfully deleted Key or the resource didn't exist tags: - Keys get: operationId: get-key-with-key-set summary: Get a Key associated with a KeySet description: Get a Key associated with a KeySet using ID or name. parameters: - $ref: '#/components/parameters/KeySetId' - $ref: '#/components/parameters/KeyId' responses: '200': description: Successfully fetched Key content: application/json: schema: $ref: '#/components/schemas/Key' '404': description: Resource does not exist tags: - Keys parameters: - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-key-with-key-set summary: Upsert a Key associated with a KeySet description: Create or Update a Key associated with a KeySet using ID or name. parameters: - $ref: '#/components/parameters/KeySetId' - $ref: '#/components/parameters/KeyId' requestBody: description: Description of the Key required: true content: application/json: schema: $ref: '#/components/schemas/KeyWithoutParents' responses: '200': description: Successfully upserted Key content: application/json: schema: $ref: '#/components/schemas/Key' tags: - Keys '/v2/control-planes/{controlPlaneId}/core-entities/keys': get: operationId: list-key summary: List all Keys description: List all Keys parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing Keys content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Key' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' '401': $ref: '#/components/responses/HTTP401Error' tags: - Keys parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-key summary: Create a new Key description: Create a new Key requestBody: description: Description of the new Key for creation required: true content: application/json: schema: $ref: '#/components/schemas/Key' responses: '201': description: Successfully created Key content: application/json: schema: $ref: '#/components/schemas/Key' '401': $ref: '#/components/responses/HTTP401Error' tags: - Keys '/v2/control-planes/{controlPlaneId}/core-entities/keys/{KeyId}': delete: operationId: delete-key summary: Delete a Key description: Delete a Key parameters: - $ref: '#/components/parameters/KeyId' responses: '204': description: Successfully deleted Key or the resource didn't exist '401': $ref: '#/components/responses/HTTP401Error' tags: - Keys get: operationId: get-key summary: Get a Key description: Get a Key using ID or name. responses: '200': description: Successfully fetched Key content: application/json: schema: $ref: '#/components/schemas/Key' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - Keys parameters: - $ref: '#/components/parameters/KeyId' - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-key summary: Upsert a Key description: Create or Update Key using ID or name. requestBody: description: Description of the Key required: true content: application/json: schema: $ref: '#/components/schemas/Key' responses: '200': description: Successfully upserted Key content: application/json: schema: $ref: '#/components/schemas/Key' '401': $ref: '#/components/responses/HTTP401Error' tags: - Keys '/v2/control-planes/{controlPlaneId}/core-entities/mtls-auths': get: operationId: list-mtls-auth summary: List all MTLS-auth credentials description: List all MTLS-auth credentials parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing MTLS-auth credentials content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/MTLSAuth' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' '401': $ref: '#/components/responses/HTTP401Error' tags: - MTLS-auth credentials parameters: - $ref: '#/components/parameters/controlPlaneId' '/v2/control-planes/{controlPlaneId}/core-entities/mtls-auths/{MTLSAuthId}': get: operationId: get-mtls-auth summary: Get a MTLS-auth credential description: Get a MTLS-auth credential using ID. responses: '200': description: Successfully fetched MTLS-auth credential content: application/json: schema: $ref: '#/components/schemas/MTLSAuth' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - MTLS-auth credentials parameters: - $ref: '#/components/parameters/MTLSAuthId' - $ref: '#/components/parameters/controlPlaneId' '/v2/control-planes/{controlPlaneId}/core-entities/partials': get: operationId: list-partial summary: List all Partials description: List all Partials parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing Partials content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Partial' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' '401': $ref: '#/components/responses/HTTP401Error' tags: - Partials parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-partial summary: Create a new Partial description: Create a new Partial requestBody: description: Description of the new Partial for creation required: true content: application/json: schema: $ref: '#/components/schemas/Partial' responses: '201': description: Successfully created Partial content: application/json: schema: $ref: '#/components/schemas/Partial' '401': $ref: '#/components/responses/HTTP401Error' tags: - Partials '/v2/control-planes/{controlPlaneId}/core-entities/partials/{PartialId}': delete: operationId: delete-partial summary: Delete a Partial description: Delete a Partial parameters: - $ref: '#/components/parameters/PartialId' responses: '204': description: Successfully deleted Partial or the resource didn't exist '401': $ref: '#/components/responses/HTTP401Error' tags: - Partials get: operationId: get-partial summary: Get a Partial description: Get a Partial using ID. responses: '200': description: Successfully fetched Partial content: application/json: schema: $ref: '#/components/schemas/Partial' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - Partials parameters: - $ref: '#/components/parameters/PartialId' - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-partial summary: Upsert a Partial description: Create or Update Partial using ID. requestBody: description: Description of the Partial required: true content: application/json: schema: $ref: '#/components/schemas/Partial' responses: '200': description: Successfully upserted Partial content: application/json: schema: $ref: '#/components/schemas/Partial' '401': $ref: '#/components/responses/HTTP401Error' tags: - Partials '/v2/control-planes/{controlPlaneId}/core-entities/partials/{PartialId}/links': get: operationId: list-partial-link summary: List partial links description: List all plugins linked to the partial parameters: - $ref: '#/components/parameters/PartialId' - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: The plugins linked to the partial content: application/json: schema: type: object properties: count: description: The total number of plugins linked to the partial type: integer example: 10 data: type: array items: $ref: '#/components/schemas/PartialLink' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - Partial Links parameters: - $ref: '#/components/parameters/controlPlaneId' '/v2/control-planes/{controlPlaneId}/core-entities/plugin-schemas': parameters: - $ref: '#/components/parameters/controlPlaneId' get: operationId: list-plugin-schemas summary: List Custom Plugin Schemas description: Returns an array of custom plugins schemas associated with a control plane. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageAfter' responses: '200': $ref: '#/components/responses/list-plugin-schemas' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Custom Plugin Schemas post: x-speakeasy-entity-operation: terraform-resource: GatewayCustomPluginSchema#create terraform-datasource: null operationId: create-plugin-schemas summary: Upload custom plugin schema description: Upload a custom plugin schema associated with a control plane. requestBody: $ref: '#/components/requestBodies/create-plugin-schemas' responses: '201': $ref: '#/components/responses/plugin-schemas' '400': $ref: '#/components/responses/KonnectCPLegacyBadRequest' '401': $ref: '#/components/responses/KonnectCPLegacyUnauthorized' '403': $ref: '#/components/responses/KonnectCPLegacyForbidden' '409': $ref: '#/components/responses/KonnectCPLegacyConflict' tags: - Custom Plugin Schemas '/v2/control-planes/{controlPlaneId}/core-entities/plugin-schemas/{name}': parameters: - $ref: '#/components/parameters/controlPlaneId' - name: name in: path description: The custom plugin name required: true schema: type: string example: myplugin get: x-speakeasy-entity-operation: terraform-resource: GatewayCustomPluginSchema#read terraform-datasource: null operationId: get-plugin-schema summary: Get a custom plugin schema description: Returns information about a custom plugin from a given name. responses: '200': $ref: '#/components/responses/plugin-schemas' '401': $ref: '#/components/responses/KonnectCPLegacyUnauthorized' '403': $ref: '#/components/responses/KonnectCPLegacyForbidden' '404': $ref: '#/components/responses/KonnectCPLegacyNotFound' tags: - Custom Plugin Schemas delete: x-speakeasy-entity-operation: terraform-resource: GatewayCustomPluginSchema#delete terraform-datasource: null operationId: delete-plugin-schemas summary: Delete custom plugin schema description: Delete an individual custom plugin schema. responses: '204': description: No Content '401': $ref: '#/components/responses/KonnectCPLegacyUnauthorized' '403': $ref: '#/components/responses/KonnectCPLegacyForbidden' '404': $ref: '#/components/responses/KonnectCPLegacyNotFound' tags: - Custom Plugin Schemas put: x-speakeasy-entity-operation: terraform-resource: GatewayCustomPluginSchema#update terraform-datasource: null operationId: update-plugin-schemas summary: Create or update a custom plugin schema description: Create or update an individual custom plugin schema. requestBody: $ref: '#/components/requestBodies/create-plugin-schemas' responses: '200': $ref: '#/components/responses/plugin-schemas' '400': $ref: '#/components/responses/KonnectCPLegacyBadRequest' '401': $ref: '#/components/responses/KonnectCPLegacyUnauthorized' '403': $ref: '#/components/responses/KonnectCPLegacyForbidden' '404': $ref: '#/components/responses/KonnectCPLegacyNotFound' tags: - Custom Plugin Schemas '/v2/control-planes/{controlPlaneId}/core-entities/plugins': get: operationId: list-plugin summary: List all Plugins description: List all Plugins parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' - $ref: '#/components/parameters/NameContainsFilter' - $ref: '#/components/parameters/NameEqualsFilter' responses: '200': description: A successful response listing Plugins content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Plugin' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' '401': $ref: '#/components/responses/HTTP401Error' tags: - Plugins parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-plugin summary: Create a new Plugin description: Create a new Plugin requestBody: description: Description of the new Plugin for creation required: true content: application/json: schema: $ref: '#/components/schemas/Plugin' responses: '201': description: Successfully created Plugin content: application/json: schema: $ref: '#/components/schemas/Plugin' '401': $ref: '#/components/responses/HTTP401Error' tags: - Plugins '/v2/control-planes/{controlPlaneId}/core-entities/plugins/{PluginId}': delete: operationId: delete-plugin summary: Delete a Plugin description: Delete a Plugin parameters: - $ref: '#/components/parameters/PluginId' responses: '204': description: Successfully deleted Plugin or the resource didn't exist '401': $ref: '#/components/responses/HTTP401Error' tags: - Plugins get: operationId: get-plugin summary: Get a Plugin description: Get a Plugin using ID. parameters: - $ref: '#/components/parameters/ExpandPartials' responses: '200': description: Successfully fetched Plugin content: application/json: schema: $ref: '#/components/schemas/Plugin' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - Plugins parameters: - $ref: '#/components/parameters/PluginId' - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-plugin summary: Upsert a Plugin description: Create or Update Plugin using ID. requestBody: description: Description of the Plugin required: true content: application/json: schema: $ref: '#/components/schemas/Plugin' responses: '200': description: Successfully upserted Plugin content: application/json: schema: $ref: '#/components/schemas/Plugin' '401': $ref: '#/components/responses/HTTP401Error' tags: - Plugins '/v2/control-planes/{controlPlaneId}/core-entities/routes': get: operationId: list-route summary: List all Routes description: List all Routes parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' - $ref: '#/components/parameters/NameContainsFilter' - $ref: '#/components/parameters/NameEqualsFilter' responses: '200': description: A successful response listing Routes content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Route' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' '401': $ref: '#/components/responses/HTTP401Error' tags: - Routes parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-route summary: Create a new Route description: Create a new Route requestBody: description: Description of the new Route for creation required: true content: application/json: schema: $ref: '#/components/schemas/Route' responses: '201': description: Successfully created Route content: application/json: schema: $ref: '#/components/schemas/Route' '401': $ref: '#/components/responses/HTTP401Error' tags: - Routes '/v2/control-planes/{controlPlaneId}/core-entities/routes/{RouteId}': delete: operationId: delete-route summary: Delete a Route description: Delete a Route parameters: - $ref: '#/components/parameters/RouteId' responses: '204': description: Successfully deleted Route or the resource didn't exist '401': $ref: '#/components/responses/HTTP401Error' tags: - Routes get: operationId: get-route summary: Get a Route description: Get a Route using ID or name. responses: '200': description: Successfully fetched Route content: application/json: schema: $ref: '#/components/schemas/Route' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - Routes parameters: - $ref: '#/components/parameters/RouteId' - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-route summary: Upsert a Route description: Create or Update Route using ID or name. requestBody: description: Description of the Route required: true content: application/json: schema: $ref: '#/components/schemas/Route' responses: '200': description: Successfully upserted Route content: application/json: schema: $ref: '#/components/schemas/Route' '401': $ref: '#/components/responses/HTTP401Error' tags: - Routes '/v2/control-planes/{controlPlaneId}/core-entities/routes/{RouteId}/plugins': get: operationId: list-plugin-with-route summary: List all Plugins associated with a Route description: List all Plugins associated with a Route parameters: - $ref: '#/components/parameters/RouteId' - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing Plugins content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Plugin' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - Plugins parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-plugin-with-route summary: Create a new Plugin associated with a Route description: Create a new Plugin associated with a Route parameters: - $ref: '#/components/parameters/RouteId' requestBody: description: Description of new Plugin for creation required: true content: application/json: schema: $ref: '#/components/schemas/PluginWithoutParents' responses: '201': description: Successfully created Plugin content: application/json: schema: $ref: '#/components/schemas/Plugin' tags: - Plugins '/v2/control-planes/{controlPlaneId}/core-entities/routes/{RouteId}/plugins/{PluginId}': delete: operationId: delete-plugin-with-route summary: Delete a a Plugin associated with a Route description: Delete a a Plugin associated with a Route using ID. parameters: - $ref: '#/components/parameters/RouteId' - $ref: '#/components/parameters/PluginId' responses: '204': description: Successfully deleted Plugin or the resource didn't exist tags: - Plugins get: operationId: get-plugin-with-route summary: Get a Plugin associated with a Route description: Get a Plugin associated with a Route using ID. parameters: - $ref: '#/components/parameters/RouteId' - $ref: '#/components/parameters/PluginId' - $ref: '#/components/parameters/ExpandPartials' responses: '200': description: Successfully fetched Plugin content: application/json: schema: $ref: '#/components/schemas/Plugin' '404': description: Resource does not exist tags: - Plugins parameters: - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-plugin-with-route summary: Upsert a Plugin associated with a Route description: Create or Update a Plugin associated with a Route using ID. parameters: - $ref: '#/components/parameters/RouteId' - $ref: '#/components/parameters/PluginId' requestBody: description: Description of the Plugin required: true content: application/json: schema: $ref: '#/components/schemas/PluginWithoutParents' responses: '200': description: Successfully upserted Plugin content: application/json: schema: $ref: '#/components/schemas/Plugin' tags: - Plugins '/v2/control-planes/{controlPlaneId}/core-entities/schemas/{entityName}/validate': parameters: - name: entityName in: path description: The name of the entity required: true schema: type: string - $ref: '#/components/parameters/controlPlaneId' post: operationId: validate-entity-schema summary: Validate entity schema description: Validate schema for an entity requestBody: description: Request body of a Koko entity to validate against its schema content: application/json: schema: type: object additionalProperties: true responses: '200': $ref: '#/components/responses/ValidateEntityResponse' tags: - Schemas '/v2/control-planes/{controlPlaneId}/core-entities/schemas/partials/{partialType}': get: operationId: fetch-partial-schema summary: Get partial schema description: Get the schema for a partial responses: '200': $ref: '#/components/responses/GetPartialSchemaResponse' tags: - Schemas parameters: - name: partialType in: path description: The type of a partial required: true schema: type: string - $ref: '#/components/parameters/controlPlaneId' '/v2/control-planes/{controlPlaneId}/core-entities/schemas/plugins/{pluginName}': get: operationId: fetch-plugin-schema summary: Get plugin schema description: Get the schema for a plugin responses: '200': $ref: '#/components/responses/GetPluginSchemaResponse' tags: - Plugins x-keep-sdk: true parameters: - name: pluginName in: path description: The name of the plugin required: true schema: type: string - $ref: '#/components/parameters/controlPlaneId' '/v2/control-planes/{controlPlaneId}/core-entities/services': get: operationId: list-service summary: List all Services description: List all Services parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' - $ref: '#/components/parameters/NameContainsFilter' - $ref: '#/components/parameters/NameEqualsFilter' responses: '200': description: A successful response listing Services content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Service' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' '401': $ref: '#/components/responses/HTTP401Error' tags: - Services parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-service summary: Create a new Service description: Create a new Service requestBody: description: Description of the new Service for creation required: true content: application/json: schema: $ref: '#/components/schemas/Service' responses: '201': description: Successfully created Service content: application/json: schema: $ref: '#/components/schemas/Service' '401': $ref: '#/components/responses/HTTP401Error' tags: - Services '/v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}': delete: operationId: delete-service summary: Delete a Service description: Delete a Service parameters: - $ref: '#/components/parameters/ServiceId' responses: '204': description: Successfully deleted Service or the resource didn't exist '401': $ref: '#/components/responses/HTTP401Error' tags: - Services get: operationId: get-service summary: Get a Service description: Get a Service using ID or name. responses: '200': description: Successfully fetched Service content: application/json: schema: $ref: '#/components/schemas/Service' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - Services parameters: - $ref: '#/components/parameters/ServiceId' - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-service summary: Upsert a Service description: Create or Update Service using ID or name. requestBody: description: Description of the Service required: true content: application/json: schema: $ref: '#/components/schemas/Service' responses: '200': description: Successfully upserted Service content: application/json: schema: $ref: '#/components/schemas/Service' '401': $ref: '#/components/responses/HTTP401Error' tags: - Services '/v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}/degraphql/routes': get: operationId: list-degraphql_route-with-service summary: List all Degraphql_routes associated with a Service description: List all Degraphql_routes associated with a Service parameters: - $ref: '#/components/parameters/ServiceId' - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing Degraphql_routes content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Degraphql_route' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - Degraphql_routes parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-degraphql_route-with-service summary: Create a new Degraphql_route associated with a Service description: Create a new Degraphql_route associated with a Service parameters: - $ref: '#/components/parameters/ServiceId' requestBody: description: Description of new Degraphql_route for creation required: true content: application/json: schema: $ref: '#/components/schemas/Degraphql_routeWithoutParents' responses: '201': description: Successfully created Degraphql_route content: application/json: schema: $ref: '#/components/schemas/Degraphql_route' tags: - Degraphql_routes '/v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}/degraphql/routes/{Degraphql_routeId}': delete: operationId: delete-degraphql_route-with-service summary: Delete a a Degraphql_route associated with a Service description: Delete a a Degraphql_route associated with a Service using ID or name. parameters: - $ref: '#/components/parameters/ServiceId' - $ref: '#/components/parameters/Degraphql_routeId' responses: '204': description: Successfully deleted Degraphql_route or the resource didn't exist tags: - Degraphql_routes get: operationId: get-degraphql_route-with-service summary: Get a Degraphql_route associated with a Service description: Get a Degraphql_route associated with a Service using ID or name. parameters: - $ref: '#/components/parameters/ServiceId' - $ref: '#/components/parameters/Degraphql_routeId' responses: '200': description: Successfully fetched Degraphql_route content: application/json: schema: $ref: '#/components/schemas/Degraphql_route' '404': description: Resource does not exist tags: - Degraphql_routes parameters: - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-degraphql_route-with-service summary: Upsert a Degraphql_route associated with a Service description: Create or Update a Degraphql_route associated with a Service using ID or name. parameters: - $ref: '#/components/parameters/ServiceId' - $ref: '#/components/parameters/Degraphql_routeId' requestBody: description: Description of the Degraphql_route required: true content: application/json: schema: $ref: '#/components/schemas/Degraphql_routeWithoutParents' responses: '200': description: Successfully upserted Degraphql_route content: application/json: schema: $ref: '#/components/schemas/Degraphql_route' tags: - Degraphql_routes '/v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}/graphql-rate-limiting-advanced/costs': get: operationId: list-graphql-rate-limiting-advanced-cost-with-service summary: List all GraphQL Cost Decorations associated with a Service description: List all GraphQL Cost Decorations associated with a Service parameters: - $ref: '#/components/parameters/ServiceId' - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing GraphQL Cost Decorations content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/GraphQLCostDecoration' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - GraphQL Cost Decorations parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-graphql-rate-limiting-advanced-cost-with-service summary: Create a new GraphQL Cost Decoration associated with a Service description: Create a new GraphQL Cost Decoration associated with a Service parameters: - $ref: '#/components/parameters/ServiceId' requestBody: description: Description of new GraphQL Cost Decoration for creation required: true content: application/json: schema: $ref: '#/components/schemas/GraphQLCostDecorationWithoutParents' responses: '201': description: Successfully created GraphQL Cost Decoration content: application/json: schema: $ref: '#/components/schemas/GraphQLCostDecoration' tags: - GraphQL Cost Decorations '/v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}/graphql-rate-limiting-advanced/costs/{GraphQLCostDecorationId}': delete: operationId: delete-graphql-rate-limiting-advanced-cost-with-service summary: Delete a a GraphQL Cost Decoration associated with a Service description: Delete a a GraphQL Cost Decoration associated with a Service using ID. parameters: - $ref: '#/components/parameters/ServiceId' - $ref: '#/components/parameters/GraphQLCostDecorationId' responses: '204': description: Successfully deleted GraphQL Cost Decoration or the resource didn't exist tags: - GraphQL Cost Decorations get: operationId: get-graphql-rate-limiting-advanced-cost-with-service summary: Get a GraphQL Cost Decoration associated with a Service description: Get a GraphQL Cost Decoration associated with a Service using ID. parameters: - $ref: '#/components/parameters/ServiceId' - $ref: '#/components/parameters/GraphQLCostDecorationId' responses: '200': description: Successfully fetched GraphQL Cost Decoration content: application/json: schema: $ref: '#/components/schemas/GraphQLCostDecoration' '404': description: Resource does not exist tags: - GraphQL Cost Decorations parameters: - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-graphql-rate-limiting-advanced-cost-with-service summary: Upsert a GraphQL Cost Decoration associated with a Service description: Create or Update a GraphQL Cost Decoration associated with a Service using ID. parameters: - $ref: '#/components/parameters/ServiceId' - $ref: '#/components/parameters/GraphQLCostDecorationId' requestBody: description: Description of the GraphQL Cost Decoration required: true content: application/json: schema: $ref: '#/components/schemas/GraphQLCostDecorationWithoutParents' responses: '200': description: Successfully upserted GraphQL Cost Decoration content: application/json: schema: $ref: '#/components/schemas/GraphQLCostDecoration' tags: - GraphQL Cost Decorations '/v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}/plugins': get: operationId: list-plugin-with-service summary: List all Plugins associated with a Service description: List all Plugins associated with a Service parameters: - $ref: '#/components/parameters/ServiceId' - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing Plugins content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Plugin' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - Plugins parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-plugin-with-service summary: Create a new Plugin associated with a Service description: Create a new Plugin associated with a Service parameters: - $ref: '#/components/parameters/ServiceId' requestBody: description: Description of new Plugin for creation required: true content: application/json: schema: $ref: '#/components/schemas/PluginWithoutParents' responses: '201': description: Successfully created Plugin content: application/json: schema: $ref: '#/components/schemas/Plugin' tags: - Plugins '/v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}/plugins/{PluginId}': delete: operationId: delete-plugin-with-service summary: Delete a a Plugin associated with a Service description: Delete a a Plugin associated with a Service using ID. parameters: - $ref: '#/components/parameters/ServiceId' - $ref: '#/components/parameters/PluginId' responses: '204': description: Successfully deleted Plugin or the resource didn't exist tags: - Plugins get: operationId: get-plugin-with-service summary: Get a Plugin associated with a Service description: Get a Plugin associated with a Service using ID. parameters: - $ref: '#/components/parameters/ServiceId' - $ref: '#/components/parameters/PluginId' - $ref: '#/components/parameters/ExpandPartials' responses: '200': description: Successfully fetched Plugin content: application/json: schema: $ref: '#/components/schemas/Plugin' '404': description: Resource does not exist tags: - Plugins parameters: - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-plugin-with-service summary: Upsert a Plugin associated with a Service description: Create or Update a Plugin associated with a Service using ID. parameters: - $ref: '#/components/parameters/ServiceId' - $ref: '#/components/parameters/PluginId' requestBody: description: Description of the Plugin required: true content: application/json: schema: $ref: '#/components/schemas/PluginWithoutParents' responses: '200': description: Successfully upserted Plugin content: application/json: schema: $ref: '#/components/schemas/Plugin' tags: - Plugins '/v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}/routes': get: operationId: list-route-with-service summary: List all Routes associated with a Service description: List all Routes associated with a Service parameters: - $ref: '#/components/parameters/ServiceId' - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing Routes content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Route' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - Routes parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-route-with-service summary: Create a new Route associated with a Service description: Create a new Route associated with a Service parameters: - $ref: '#/components/parameters/ServiceId' requestBody: description: Description of new Route for creation required: true content: application/json: schema: $ref: '#/components/schemas/RouteWithoutParents' responses: '201': description: Successfully created Route content: application/json: schema: $ref: '#/components/schemas/Route' tags: - Routes '/v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}/routes/{RouteId}': delete: operationId: delete-route-with-service summary: Delete a a Route associated with a Service description: Delete a a Route associated with a Service using ID or name. parameters: - $ref: '#/components/parameters/ServiceId' - $ref: '#/components/parameters/RouteId' responses: '204': description: Successfully deleted Route or the resource didn't exist tags: - Routes get: operationId: get-route-with-service summary: Get a Route associated with a Service description: Get a Route associated with a Service using ID or name. parameters: - $ref: '#/components/parameters/ServiceId' - $ref: '#/components/parameters/RouteId' responses: '200': description: Successfully fetched Route content: application/json: schema: $ref: '#/components/schemas/Route' '404': description: Resource does not exist tags: - Routes parameters: - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-route-with-service summary: Upsert a Route associated with a Service description: Create or Update a Route associated with a Service using ID or name. parameters: - $ref: '#/components/parameters/ServiceId' - $ref: '#/components/parameters/RouteId' requestBody: description: Description of the Route required: true content: application/json: schema: $ref: '#/components/schemas/RouteWithoutParents' responses: '200': description: Successfully upserted Route content: application/json: schema: $ref: '#/components/schemas/Route' tags: - Routes '/v2/control-planes/{controlPlaneId}/core-entities/snis': get: operationId: list-sni summary: List all SNIs description: List all SNIs parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing SNIs content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/SNI' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' '401': $ref: '#/components/responses/HTTP401Error' tags: - SNIs parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-sni summary: Create a new SNI description: Create a new SNI requestBody: description: Description of the new SNI for creation required: true content: application/json: schema: $ref: '#/components/schemas/SNI' responses: '201': description: Successfully created SNI content: application/json: schema: $ref: '#/components/schemas/SNI' '401': $ref: '#/components/responses/HTTP401Error' tags: - SNIs '/v2/control-planes/{controlPlaneId}/core-entities/snis/{SNIId}': delete: operationId: delete-sni summary: Delete an SNI description: Delete an SNI parameters: - $ref: '#/components/parameters/SNIId' responses: '204': description: Successfully deleted SNI or the resource didn't exist '401': $ref: '#/components/responses/HTTP401Error' tags: - SNIs get: operationId: get-sni summary: Get an SNI description: Get an SNI using ID or name. responses: '200': description: Successfully fetched SNI content: application/json: schema: $ref: '#/components/schemas/SNI' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - SNIs parameters: - $ref: '#/components/parameters/SNIId' - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-sni summary: Upsert a SNI description: Create or Update SNI using ID or name. requestBody: description: Description of the SNI required: true content: application/json: schema: $ref: '#/components/schemas/SNI' responses: '200': description: Successfully upserted SNI content: application/json: schema: $ref: '#/components/schemas/SNI' '401': $ref: '#/components/responses/HTTP401Error' tags: - SNIs '/v2/control-planes/{controlPlaneId}/core-entities/targets': get: operationId: list-targets summary: List all targets for a control plane description: Returns a collection of all targets for a control plane. parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': $ref: '#/components/responses/ListTargets' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Targets parameters: - $ref: '#/components/parameters/controlPlaneId' '/v2/control-planes/{controlPlaneId}/core-entities/upstreams': get: operationId: list-upstream summary: List all Upstreams description: List all Upstreams parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing Upstreams content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Upstream' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' '401': $ref: '#/components/responses/HTTP401Error' tags: - Upstreams parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-upstream summary: Create a new Upstream description: Create a new Upstream requestBody: description: Description of the new Upstream for creation required: true content: application/json: schema: $ref: '#/components/schemas/Upstream' responses: '201': description: Successfully created Upstream content: application/json: schema: $ref: '#/components/schemas/Upstream' '401': $ref: '#/components/responses/HTTP401Error' tags: - Upstreams '/v2/control-planes/{controlPlaneId}/core-entities/upstreams/{UpstreamId}': delete: operationId: delete-upstream summary: Delete an Upstream description: Delete an Upstream parameters: - $ref: '#/components/parameters/UpstreamId' responses: '204': description: Successfully deleted Upstream or the resource didn't exist '401': $ref: '#/components/responses/HTTP401Error' tags: - Upstreams get: operationId: get-upstream summary: Get an Upstream description: Get an Upstream using ID or name. responses: '200': description: Successfully fetched Upstream content: application/json: schema: $ref: '#/components/schemas/Upstream' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - Upstreams parameters: - $ref: '#/components/parameters/UpstreamId' - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-upstream summary: Upsert a Upstream description: Create or Update Upstream using ID or name. requestBody: description: Description of the Upstream required: true content: application/json: schema: $ref: '#/components/schemas/Upstream' responses: '200': description: Successfully upserted Upstream content: application/json: schema: $ref: '#/components/schemas/Upstream' '401': $ref: '#/components/responses/HTTP401Error' tags: - Upstreams '/v2/control-planes/{controlPlaneId}/core-entities/upstreams/{UpstreamIdForTarget}/targets': get: operationId: list-target-with-upstream summary: List all Targets associated with an Upstream description: List all Targets associated with an Upstream parameters: - $ref: '#/components/parameters/UpstreamIdForTarget' - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing Targets content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Target' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - Targets parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-target-with-upstream summary: Create a new Target associated with an Upstream description: Create a new Target associated with an Upstream parameters: - $ref: '#/components/parameters/UpstreamIdForTarget' requestBody: description: Description of new Target for creation required: true content: application/json: schema: $ref: '#/components/schemas/TargetWithoutParents' responses: '201': description: Successfully created Target content: application/json: schema: $ref: '#/components/schemas/Target' tags: - Targets '/v2/control-planes/{controlPlaneId}/core-entities/upstreams/{UpstreamIdForTarget}/targets/{TargetId}': delete: operationId: delete-target-with-upstream summary: Delete a a Target associated with an Upstream description: Delete a a Target associated with an Upstream using ID or target. parameters: - $ref: '#/components/parameters/UpstreamIdForTarget' - $ref: '#/components/parameters/TargetId' responses: '204': description: Successfully deleted Target or the resource didn't exist tags: - Targets get: operationId: get-target-with-upstream summary: Get a Target associated with an Upstream description: Get a Target associated with an Upstream using ID or target. parameters: - $ref: '#/components/parameters/UpstreamIdForTarget' - $ref: '#/components/parameters/TargetId' responses: '200': description: Successfully fetched Target content: application/json: schema: $ref: '#/components/schemas/Target' '404': description: Resource does not exist tags: - Targets parameters: - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-target-with-upstream summary: Upsert a Target associated with an Upstream description: Create or Update a Target associated with an Upstream using ID or target. parameters: - $ref: '#/components/parameters/UpstreamIdForTarget' - $ref: '#/components/parameters/TargetId' requestBody: description: Description of the Target required: true content: application/json: schema: $ref: '#/components/schemas/TargetWithoutParents' responses: '200': description: Successfully upserted Target content: application/json: schema: $ref: '#/components/schemas/Target' tags: - Targets '/v2/control-planes/{controlPlaneId}/core-entities/vaults': get: operationId: list-vault summary: List all Vaults description: List all Vaults parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': description: A successful response listing Vaults content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Vault' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' '401': $ref: '#/components/responses/HTTP401Error' tags: - Vaults parameters: - $ref: '#/components/parameters/controlPlaneId' post: operationId: create-vault summary: Create a new Vault description: Create a new Vault requestBody: description: Description of the new Vault for creation required: true content: application/json: schema: $ref: '#/components/schemas/Vault' responses: '201': description: Successfully created Vault content: application/json: schema: $ref: '#/components/schemas/Vault' '401': $ref: '#/components/responses/HTTP401Error' tags: - Vaults '/v2/control-planes/{controlPlaneId}/core-entities/vaults/{VaultId}': delete: operationId: delete-vault summary: Delete a Vault description: Delete a Vault parameters: - $ref: '#/components/parameters/VaultId' responses: '204': description: Successfully deleted Vault or the resource didn't exist '401': $ref: '#/components/responses/HTTP401Error' tags: - Vaults get: operationId: get-vault summary: Get a Vault description: Get a Vault using ID or prefix. responses: '200': description: Successfully fetched Vault content: application/json: schema: $ref: '#/components/schemas/Vault' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - Vaults parameters: - $ref: '#/components/parameters/VaultId' - $ref: '#/components/parameters/controlPlaneId' put: operationId: upsert-vault summary: Upsert a Vault description: Create or Update Vault using ID or prefix. requestBody: description: Description of the Vault required: true content: application/json: schema: $ref: '#/components/schemas/Vault' responses: '200': description: Successfully upserted Vault content: application/json: schema: $ref: '#/components/schemas/Vault' '401': $ref: '#/components/responses/HTTP401Error' tags: - Vaults '/v2/control-planes/{controlPlaneId}/dp-client-certificates': parameters: - $ref: '#/components/parameters/controlPlaneId' get: operationId: list-dp-client-certificates summary: List DP Client Certificates description: Returns a list of pinned dataplane client certificates that are associated to this control plane. A pinned dataplane certificate allows dataplanes configured with the certificate and corresponding private key to establish connection with this control plane. responses: '200': $ref: '#/components/responses/ListDataPlaneCertificatesResponse' '401': $ref: '#/components/responses/KonnectCPLegacyUnauthorized' '403': $ref: '#/components/responses/KonnectCPLegacyForbidden' '404': $ref: '#/components/responses/KonnectCPLegacyNotFound' tags: - DP Certificates post: x-speakeasy-entity-operation: terraform-resource: GatewayDataPlaneClientCertificate#create terraform-datasource: null operationId: create-dataplane-certificate summary: Pin New DP Client Certificate description: Pin a new DP Client Certificate to this control plane. A pinned dataplane certificate allows dataplanes configured with the certificate and corresponding private key to establish connection with this control plane. requestBody: $ref: '#/components/requestBodies/DataPlaneClientCertificateRequest' responses: '201': $ref: '#/components/responses/DataPlaneClientCertificateResponse' '400': $ref: '#/components/responses/KonnectCPLegacyBadRequest' '401': $ref: '#/components/responses/KonnectCPLegacyUnauthorized' '403': $ref: '#/components/responses/KonnectCPLegacyForbidden' '404': $ref: '#/components/responses/KonnectCPLegacyNotFound' tags: - DP Certificates '/v2/control-planes/{controlPlaneId}/dp-client-certificates/{certificateId}': parameters: - $ref: '#/components/parameters/controlPlaneId' - $ref: '#/components/parameters/DataPlaneCertificateId' get: x-speakeasy-entity-operation: terraform-resource: GatewayDataPlaneClientCertificate#read terraform-datasource: null operationId: get-dataplane-certificate summary: Get a DP Client Certificate description: Retrieve a pinned dataplane client certificate associated to this control plane. A pinned dataplane certificate allows dataplanes configured with the certificate and corresponding private key to establish connection with this control plane. responses: '200': $ref: '#/components/responses/DataPlaneClientCertificateResponse' '401': $ref: '#/components/responses/KonnectCPLegacyUnauthorized' '403': $ref: '#/components/responses/KonnectCPLegacyForbidden' '404': $ref: '#/components/responses/KonnectCPLegacyNotFound' tags: - DP Certificates put: x-speakeasy-entity-operation: terraform-resource: GatewayDataPlaneClientCertificate#update terraform-datasource: null operationId: update-dataplane-certificate summary: Update DP Client Certificate description: Update a DP Client Certificate for this control plane. A dataplane certificate allows dataplanes configured with the certificate and corresponding private key to establish connection with this control plane. requestBody: $ref: '#/components/requestBodies/DataPlaneClientCertificateRequest' responses: '200': $ref: '#/components/responses/DataPlaneClientCertificateResponse' '400': $ref: '#/components/responses/KonnectCPLegacyBadRequest' '401': $ref: '#/components/responses/KonnectCPLegacyUnauthorized' '403': $ref: '#/components/responses/KonnectCPLegacyForbidden' '404': $ref: '#/components/responses/KonnectCPLegacyNotFound' tags: - DP Certificates delete: x-speakeasy-entity-operation: terraform-resource: GatewayDataPlaneClientCertificate#delete terraform-datasource: null operationId: delete-dataplane-certificate summary: Delete DP Client Certificate description: Remove a pinned dataplane client certificate associated to this control plane. Removing a pinned dataplane certificate would invalidate any dataplanes currently connected to this control plane using this certificate. responses: '204': description: No Content '401': $ref: '#/components/responses/KonnectCPLegacyUnauthorized' '403': $ref: '#/components/responses/KonnectCPLegacyForbidden' '404': $ref: '#/components/responses/KonnectCPLegacyNotFound' tags: - DP Certificates '/v2/control-planes/{controlPlaneId}/expected-config-hash': get: operationId: get-expected-config-hash summary: Get an Expected Config Hash description: Retrieve the expected config hash for this control plane. The expected config hash can be used to verify if the config hash of a data plane node is up to date with the control plane. The config hash will be the same if they are in sync. responses: '200': $ref: '#/components/responses/GetExpectedConfigHashResponse' tags: - DP Nodes parameters: - $ref: '#/components/parameters/controlPlaneId' '/v2/control-planes/{controlPlaneId}/group-member-status': parameters: - name: controlPlaneId in: path description: ID of a control plane required: true schema: type: string get: operationId: get-control-planes-id-group-member-status summary: Get Control Plane Group Member Status description: Determines the group membership status of a control plane. responses: '200': $ref: '#/components/responses/GetGroupMemberStatus' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/Internal' '503': $ref: '#/components/responses/ServiceUnavailable' tags: - Control Plane Groups '/v2/control-planes/{controlPlaneId}/group-memberships': parameters: - name: controlPlaneId in: path description: ID of a control plane group required: true schema: type: string get: operationId: get-control-planes-id-group-memberships summary: List Control Plane Group Memberships description: Returns an array of control planes that are a member of this control plane group. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageAfter' responses: '200': $ref: '#/components/responses/ListGroupMemberships' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/Internal' '503': $ref: '#/components/responses/ServiceUnavailable' tags: - Control Plane Groups put: operationId: put-control-planes-id-group-memberships summary: Upsert Control Plane Group Members description: Adds one or more control planes as a member of a control plane group. requestBody: $ref: '#/components/requestBodies/GroupMembershipUpsert' responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/Internal' '503': $ref: '#/components/responses/ServiceUnavailable' tags: - Control Plane Groups '/v2/control-planes/{controlPlaneId}/group-memberships/add': parameters: - name: controlPlaneId in: path description: ID of a control plane group required: true schema: type: string post: x-speakeasy-entity-operation: terraform-resource: GatewayControlPlaneMembership#create terraform-datasource: null operationId: post-control-planes-id-group-memberships-add summary: Add Control Plane Group Members description: Adds one or more control planes as a member of a control plane group. requestBody: $ref: '#/components/requestBodies/GroupMembershipAdd' responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/Internal' '503': $ref: '#/components/responses/ServiceUnavailable' tags: - Control Plane Groups '/v2/control-planes/{controlPlaneId}/group-memberships/remove': parameters: - name: controlPlaneId in: path description: ID of a control plane group required: true schema: type: string post: x-speakeasy-entity-operation: terraform-resource: GatewayControlPlaneMembership#delete terraform-datasource: null operationId: post-control-planes-id-group-memberships-remove summary: Remove Control Plane Group Members description: Removes one or more control planes from the members of a control plane group. requestBody: $ref: '#/components/requestBodies/GroupMembershipRemove' responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/Internal' '503': $ref: '#/components/responses/ServiceUnavailable' tags: - Control Plane Groups '/v2/control-planes/{controlPlaneId}/group-status': parameters: - name: controlPlaneId in: path description: ID of a control plane group required: true schema: type: string get: operationId: get-control-planes-id-group-status summary: Get Control Plane Group Status description: 'Returns the status of a control plane group, including existing conflicts.' responses: '200': $ref: '#/components/responses/GetGroupStatus' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/Internal' '503': $ref: '#/components/responses/ServiceUnavailable' tags: - Control Plane Groups '/v2/control-planes/{controlPlaneId}/nodes': get: operationId: list-dataplane-nodes summary: List Data Plane Node Records description: Returns a list of data plane node records that are associated to this control plane. A data plane node record contains metadata information for the data plane running Kong Gateway. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageAfter' responses: '200': $ref: '#/components/responses/list-nodes' tags: - DP Nodes parameters: - $ref: '#/components/parameters/controlPlaneId' '/v2/control-planes/{controlPlaneId}/nodes/{nodeId}': parameters: - $ref: '#/components/parameters/controlPlaneId' - $ref: '#/components/parameters/nodeId' get: operationId: get-nodes-node_id summary: Get a Data Plane Node Record description: Retrieve a specific data plane node record associated to this control plane. A data plane node record contains all the metadata information of the Kong Gateway dataplane. parameters: - $ref: '#/components/parameters/pagination-size' - $ref: '#/components/parameters/pagination-tags-filter' responses: '200': $ref: '#/components/responses/get-node' tags: - DP Nodes delete: operationId: delete-nodes-node_id summary: Delete Data Plane Node Record description: Remove a specific data plane node record associated to this control plane. Deleting this record does not prevent the data plane node from re-connecting to the control plane. responses: '204': description: No Content tags: - DP Nodes '/v2/control-planes/{controlPlaneId}/nodes/eol': get: operationId: get-nodes-eol summary: List End-of-Life Data Plane Node Records description: 'Returns a list of records of data plane nodes, whose versions are approaching End of Full Support/End of Life, that are associated with this control plane. Each record contains a data plane node''s id, version, and corresponding resolution message to upgrade to the closest Long Term Support version.' parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageAfter' responses: '200': $ref: '#/components/responses/list-nodes-eol' tags: - DP Nodes parameters: - $ref: '#/components/parameters/controlPlaneId' /v2/dashboards: get: operationId: dashboards-list summary: List dashboards description: Get a paginated list of dashboards that your account has access to. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/DashboardListFilters' - $ref: '#/components/parameters/DashboardSort' responses: '200': description: List of dashboards content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/DashboardResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - 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 /v2/dcr-providers: post: operationId: create-dcr-provider summary: Create DCR provider description: Creates a DCR provider. requestBody: $ref: '#/components/requestBodies/CreateDcrProvider' responses: '201': $ref: '#/components/responses/CreateDcrProvider' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - DCR Providers get: operationId: list-dcr-providers summary: List DCR Providers description: Returns a paginated collection of DCR providers. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/SortDcrProviders' - $ref: '#/components/parameters/FilterDcrProvidersById' - $ref: '#/components/parameters/FilterDcrProvidersByIdShort' - $ref: '#/components/parameters/FilterDcrProvidersByIdContains' - $ref: '#/components/parameters/FilterDcrProvidersByIssuer' - $ref: '#/components/parameters/FilterDcrProvidersByIssuerShort' - $ref: '#/components/parameters/FilterDcrProvidersByIssuerContains' - $ref: '#/components/parameters/FilterDcrProvidersByName' - $ref: '#/components/parameters/FilterDcrProvidersByNameShort' - $ref: '#/components/parameters/FilterDcrProvidersByNameContains' - $ref: '#/components/parameters/FilterDcrProvidersByProviderType' - $ref: '#/components/parameters/FilterDcrProvidersByProviderTypeShort' - $ref: '#/components/parameters/FilterDcrProvidersByInitialClientId' - $ref: '#/components/parameters/FilterDcrProvidersByInitialClientIdShort' - $ref: '#/components/parameters/FilterDcrProvidersByInitialClientIdContains' - $ref: '#/components/parameters/FilterDcrProvidersByInitialClientAudience' - $ref: '#/components/parameters/FilterDcrProvidersByInitialClientAudienceShort' - $ref: '#/components/parameters/FilterDcrProvidersByInitialClientAudienceContains' responses: '200': $ref: '#/components/responses/ListDcrProviders' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - DCR Providers '/v2/dcr-providers/{dcrProviderId}': parameters: - $ref: '#/components/parameters/DcrProviderId' get: operationId: get-dcr-provider summary: Get a DCR provider description: Returns a DCR provider. responses: '200': $ref: '#/components/responses/GetDcrProvider' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - DCR Providers patch: operationId: update-dcr-provider summary: Update DCR provider description: Updates a DCR provider. requestBody: $ref: '#/components/requestBodies/UpdateDcrProvider' responses: '200': $ref: '#/components/responses/GetDcrProvider' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - DCR Providers delete: operationId: delete-dcr-provider summary: Delete DCR provider description: Deletes a DCR provider. responses: '204': description: No Content. '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - DCR Providers '/v2/dcr-providers/{dcrProviderId}/verify': parameters: - $ref: '#/components/parameters/DcrProviderId' post: operationId: verify-dcr-provider summary: Verify DCR provider configuration description: 'Verifies if a DCR provider is configured properly. Returns 200 for success, 4xx for failure.' responses: '200': $ref: '#/components/responses/VerifyDcrProvider' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - DCR Providers /v3/api-attributes: get: operationId: list-api-attributes summary: List API Attributes description: List attributes across all apis parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/ApiAttributeFilters' - $ref: '#/components/parameters/ApiAttributeSort' responses: '200': $ref: '#/components/responses/ListApiAttributesResponse' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Attributes /v3/api-implementations: get: operationId: list-api-implementations summary: List API Implementations description: List gateway implementations for this API parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/ApiImplementationFilters' - $ref: '#/components/parameters/ApiImplementationSort' responses: '200': $ref: '#/components/responses/ListApiImplementationsResponse' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Implementation /v3/api-packages: get: operationId: list-api-packages summary: List API Packages description: List API packages parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/ApiPackageFilters' - $ref: '#/components/parameters/ApiPackageSort' responses: '200': $ref: '#/components/responses/ListApiPackagesResponse' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Packages post: operationId: create-api-package summary: Create API Package description: | Creates a package of APIs. An API package is a collection of APIs that can be used to group related APIs together. requestBody: $ref: '#/components/requestBodies/CreateApiPackageRequest' responses: '201': $ref: '#/components/responses/ApiPackageResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Packages '/v3/api-packages/{apiPackageId}/publications/{portalId}': parameters: - $ref: '#/components/parameters/ApiPackageId' - $ref: '#/components/parameters/PortalId' put: operationId: publish-api-package-to-portal summary: Publish API Package description: | Publish an API Package to a portal. requestBody: $ref: '#/components/requestBodies/PutApiPackagePublicationRequest' responses: '200': $ref: '#/components/responses/ApiPackagePublicationResponse' '400': $ref: '#/components/responses/ApiPublicationBadRequest' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Publication get: operationId: fetch-api-package-publication summary: Get an API Package Publication description: | Retrieve an API Package's publication in a portal. If the API Package is not published to the portal, a 404 response is returned. responses: '200': $ref: '#/components/responses/ApiPackagePublicationResponse' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Publication delete: operationId: delete-api-package-publication summary: Delete API Package Publication description: Unpublish an API Package from a portal. responses: '204': description: API Package was successfully unpublished from portal. '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Publication '/v3/api-packages/{packageId}': parameters: - name: packageId in: path description: The UUID API Package identifier required: true schema: type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 x-speakeasy-match: id get: operationId: get-api-package summary: Get API Package description: Get details of a specific API package. responses: '200': $ref: '#/components/responses/ApiPackageResponse' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Packages patch: operationId: patch-api-package summary: Patch API Package description: | Updates an existing API package. You can modify the name, description and version of the API Package. requestBody: $ref: '#/components/requestBodies/UpdateApiPackageRequest' responses: '200': $ref: '#/components/responses/ApiPackageResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' tags: - API Packages delete: operationId: delete-api-package summary: Delete API Package description: Deletes an API package. responses: '204': description: API package was deleted successfully. '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Packages '/v3/api-packages/{packageId}/computed-specification': parameters: - name: packageId in: path description: The UUID API Package identifier required: true schema: type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 get: operationId: get-api-package-computed-specification summary: Get the API package computed specification description: Fetches the computed specification of an API Package. 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' tags: - API Package Specification '/v3/api-packages/{packageId}/current-specification': parameters: - name: packageId in: path description: The UUID API Package identifier required: true schema: type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 x-speakeasy-match: id put: operationId: update-api-package-current-specification summary: Update API package current specification description: | Updates the current specification of an API package. 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/ApiSlugConflict' '415': $ref: '#/components/responses/UnsupportedMediaType' tags: - API Package Specification get: operationId: get-api-package-current-specification summary: Get the API package current specification description: Fetches the current specification of an API Package. 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' tags: - API Package Specification delete: operationId: delete-api-package-current-specification summary: Delete API Package current Specification description: | Deletes the current specification of an API Package. responses: '204': description: API Package Specification was deleted successfully. '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Package Specification '/v3/api-packages/{packageId}/documents': parameters: - name: packageId in: path description: The UUID API Package identifier required: true schema: type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 x-speakeasy-match: id post: operationId: create-api-package-document summary: Create API Package Document description: | Publish a new document attached to an API Package. 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/ApiPackageDocumentResponse' '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 Package Documentation get: operationId: list-api-package-documents summary: List API Package Documents description: Returns a collection of all documents for an API package. parameters: - $ref: '#/components/parameters/ApiDocumentFilters' responses: '200': $ref: '#/components/responses/ListApiPackageDocumentResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Package Documentation '/v3/api-packages/{packageId}/documents/{documentId}': parameters: - name: packageId in: path description: The UUID API Package identifier required: true schema: type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 x-speakeasy-match: id - $ref: '#/components/parameters/DocumentId' get: operationId: fetch-api-package-document summary: Get an API Package Document description: Returns a document for the API Package. responses: '200': $ref: '#/components/responses/ApiPackageDocumentResponse' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Package Documentation patch: operationId: update-api-package-document summary: Update API Package Document description: Updates a document for an API Package. requestBody: $ref: '#/components/requestBodies/UpdateApiDocumentRequest' responses: '200': $ref: '#/components/responses/ApiPackageDocumentResponse' '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 Package Documentation delete: operationId: delete-api-package-document summary: Delete API Package Documentation description: Removes a document from an API Package. 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 Package Documentation '/v3/api-packages/{packageId}/documents/{documentId}/move': parameters: - name: packageId in: path description: The UUID API Package identifier required: true schema: type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 x-speakeasy-match: id - $ref: '#/components/parameters/DocumentId' post: operationId: move-api-package-document summary: Move API Package Documentation description: 'This api allows the user to move a document within the document tree using the parameters parent_document_id and index. If parent_document_id is not provided, the document will be placed at the top level of the document tree. index represents a zero-indexed document order relative to its siblings under the same parent. For example, if we want to put the document at top level in first position we would send parent_document_id: null and index: 0. This api also supports using a negative index to count backwards from the end of the document list, which means you can put the document in last position by using index: -1.' requestBody: $ref: '#/components/requestBodies/MoveDocumentRequest' responses: '204': description: Document for the API Package was moved successfully. '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' '409': $ref: '#/components/responses/Conflict' tags: - API Package Documentation '/v3/api-packages/{packageId}/images/{imageType}': parameters: - $ref: '#/components/parameters/ImageType' - name: packageId in: path description: The UUID API Package identifier required: true schema: type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 x-speakeasy-match: id put: operationId: upsert-api-package-image summary: Create or Replace an API Package Image description: Create or Replace an API Package Image. The replacement image is not applied to the API Package until asynchronous validation completes successfully. requestBody: $ref: '#/components/requestBodies/ReplaceApiPackageImageRequest' responses: '200': $ref: '#/components/responses/ApiPackageImageResponse' '201': $ref: '#/components/responses/ApiPackageImageResponse' '401': $ref: '#/components/responses/ApiPackageImageUnauthorized' '403': $ref: '#/components/responses/ApiPackageImageForbidden' '404': $ref: '#/components/responses/ApiPackageImageNotFound' '409': $ref: '#/components/responses/ApiPackageImageConflict' tags: - API Package Image get: operationId: fetch-api-package-image summary: Get API Package Image description: 'Retrieves the status and metadata associated with an API package Image. Returns the latest image if it has not yet been applied (status: uploading, validating, or invalid), otherwise returns the details of currently applied image (status: valid).' responses: '200': $ref: '#/components/responses/ApiPackageImageResponse' '401': $ref: '#/components/responses/ApiPackageImageUnauthorized' '403': $ref: '#/components/responses/ApiPackageImageForbidden' '404': $ref: '#/components/responses/ApiPackageImageNotFound' tags: - API Package Image delete: operationId: delete-api-package-image summary: Delete an API Package Image description: Delete an API Package Image. responses: '204': description: API Package Image was deleted successfully. '401': $ref: '#/components/responses/ApiPackageImageUnauthorized' '403': $ref: '#/components/responses/ApiPackageImageForbidden' '404': $ref: '#/components/responses/ApiPackageImageNotFound' tags: - API Package Image '/v3/api-packages/{packageId}/images/{imageType}/raw': parameters: - $ref: '#/components/parameters/ImageType' - name: packageId in: path description: The UUID API Package identifier required: true schema: type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 x-speakeasy-match: id get: operationId: fetch-api-package-raw-image summary: Get an API Package Raw Image description: 'Retrieves the raw image of an API Package. Only the currently applied image (status: valid) can be retrieved.' responses: '302': description: Redirect to the image URL. headers: Location: description: The CDN URL of the image. schema: type: string '401': $ref: '#/components/responses/ApiPackageImageUnauthorized' '403': $ref: '#/components/responses/ApiPackageImageForbidden' '404': $ref: '#/components/responses/ApiPackageImageNotFound' tags: - API Package Image '/v3/api-packages/{packageId}/operations': parameters: - name: packageId in: path description: The UUID API Package identifier required: true schema: type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 x-speakeasy-match: id get: operationId: list-api-packages-operations summary: List API Packages Operations description: List API packages operations parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/ApiPackageOperationsFilters' - $ref: '#/components/parameters/ApiPackageOperationsSort' responses: '200': $ref: '#/components/responses/ListApiPackagesOperationsResponse' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Package Operations patch: operationId: update-api-package-operations summary: Update API Package Operation description: Update API Package Operations requestBody: $ref: '#/components/requestBodies/UpdateApiPackageOperationRequest' responses: '204': description: API operations were successfully added or removed to the package. '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' tags: - API Package Operations '/v3/api-packages/{packageId}/operations/{operationId}': parameters: - name: packageId in: path description: The UUID API Package identifier required: true schema: type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 x-speakeasy-match: id - name: operationId in: path description: The UUID API Operation identifier required: true schema: type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 x-speakeasy-match: id get: operationId: get-api-packages-operation summary: Get API Packages Operation description: Get API packages operation responses: '200': $ref: '#/components/responses/ApiPackageOperationResponse' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Package Operations delete: operationId: remove-api-package-operation summary: Remove API Package Operation description: Remove an operation from an API package. responses: '204': description: API operation was removed successfully from the package. '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Package Operations /v3/api-publications: get: operationId: list-api-publications summary: List Publications description: Returns a collection of all API Publications. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/ApiPublicationFilters' - $ref: '#/components/parameters/ApiPublicationSort' responses: '200': $ref: '#/components/responses/ListApiPublicationResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Publication /v3/apis: post: x-speakeasy-entity-operation: terraform-resource: Api#create terraform-datasource: null 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 get: operationId: list-apis summary: List APIs description: Returns a collection of all APIs. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/ApiFilters' - $ref: '#/components/parameters/ApiSort' responses: '200': $ref: '#/components/responses/ListApiResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API '/v3/apis/{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 get: operationId: list-api-documents summary: List API Documents description: Returns a collection of all documents for an API. parameters: - $ref: '#/components/parameters/ApiDocumentFilters' responses: '200': $ref: '#/components/responses/ListApiDocumentResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Documentation '/v3/apis/{apiId}/documents/{documentId}': parameters: - $ref: '#/components/parameters/ApiId' - $ref: '#/components/parameters/DocumentId' get: x-speakeasy-entity-operation: terraform-resource: ApiDocument#read terraform-datasource: null 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}/documents/{documentId}/move': parameters: - $ref: '#/components/parameters/ApiId' - $ref: '#/components/parameters/DocumentId' post: operationId: move-api-document summary: Move API Documentation description: 'This api allows the user to move a document within the document tree using the parameters parent_document_id and index. If parent_document_id is not provided, the document will be placed at the top level of the document tree. index represents a zero-indexed document order relative to its siblings under the same parent. For example, if we want to put the document at top level in first position we would send parent_document_id: null and index: 0. This api also supports using a negative index to count backwards from the end of the document list, which means you can put the document in last position by using index: -1.' requestBody: $ref: '#/components/requestBodies/MoveDocumentRequest' responses: '204': description: Document for the API was moved successfully. '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' '409': $ref: '#/components/responses/Conflict' tags: - API Documentation '/v3/apis/{apiId}/images/{imageType}': parameters: - $ref: '#/components/parameters/ApiId' - $ref: '#/components/parameters/ImageType' put: operationId: upsert-api-image summary: Create or Replace an API Image description: Create or Replace an API Image. The replacement image is not applied to the API until asynchronous validation completes successfully. requestBody: $ref: '#/components/requestBodies/ReplaceApiImageRequest' responses: '200': $ref: '#/components/responses/ApiImageResponse' '201': $ref: '#/components/responses/ApiImageResponse' '401': $ref: '#/components/responses/ApiImageUnauthorized' '403': $ref: '#/components/responses/ApiImageForbidden' '404': $ref: '#/components/responses/ApiImageNotFound' '409': $ref: '#/components/responses/ApiImageConflict' tags: - API Image get: operationId: fetch-api-image summary: Get API Image description: 'Retrieves the status and metadata associated with an API Image. Returns the latest image if it has not yet been applied (status: uploading, validating, or invalid), otherwise returns the details of currently applied image (status: valid).' responses: '200': $ref: '#/components/responses/ApiImageResponse' '401': $ref: '#/components/responses/ApiImageUnauthorized' '403': $ref: '#/components/responses/ApiImageForbidden' '404': $ref: '#/components/responses/ApiImageNotFound' tags: - API Image delete: operationId: delete-api-image summary: Delete an API Image description: Delete an API Image. responses: '204': description: API Image was deleted successfully. '401': $ref: '#/components/responses/ApiImageUnauthorized' '403': $ref: '#/components/responses/ApiImageForbidden' '404': $ref: '#/components/responses/ApiImageNotFound' tags: - API Image '/v3/apis/{apiId}/images/{imageType}/raw': parameters: - $ref: '#/components/parameters/ApiId' - $ref: '#/components/parameters/ImageType' get: operationId: fetch-api-raw-image summary: Get an API Raw Image description: 'Retrieves the raw image of an API. Only the currently applied image (status: valid) can be retrieved.' responses: '302': description: Redirect to the image URL. headers: Location: description: The CDN URL of the image. schema: type: string '401': $ref: '#/components/responses/ApiImageUnauthorized' '403': $ref: '#/components/responses/ApiImageForbidden' '404': $ref: '#/components/responses/ApiImageNotFound' tags: - API Image '/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 '/v3/apis/{apiId}/operations': parameters: - $ref: '#/components/parameters/ApiId' get: operationId: list-api-operations summary: List API Operations description: | Returns a list of operations for an API. Returns 404 if the API is not configured for access control enforcement. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/ApiOperationFilters' responses: '200': $ref: '#/components/responses/ListApiOperationResponse' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Operations '/v3/apis/{apiId}/operations/{operationId}': parameters: - $ref: '#/components/parameters/ApiId' - $ref: '#/components/parameters/OperationId' get: operationId: fetch-api-operation summary: Get an API Operation description: | Returns a specific operation for an API. Returns 404 if the API is not configured for access control enforcement. responses: '200': $ref: '#/components/responses/ApiOperationResponse' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Operations '/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}/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 get: operationId: list-api-specs summary: List API Specifications description: | Returns a list of specifications for an API. The specification can be of type OpenAPI or AsyncAPI. **Note:** You can only have one specification for an API. This endpoint is deprecated and will be removed: use /versions instead. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/ApiSpecFilters' responses: '200': $ref: '#/components/responses/ListApiSpecResponse' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' 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 get: operationId: list-api-versions summary: List API Versions description: | Returns a list of versions for an API. The version can be of type OpenAPI or AsyncAPI. **Note:** You can only have one version for an API. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/ApiVersionFilters' - $ref: '#/components/parameters/ApiVersionSort' responses: '200': $ref: '#/components/responses/ListApiVersionResponse' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Version '/v3/apis/{apiId}/versions/{versionId}': parameters: - $ref: '#/components/parameters/ApiId' - $ref: '#/components/parameters/VersionId' get: x-speakeasy-entity-operation: terraform-resource: ApiVersion#read terraform-datasource: null 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/validate-specification: post: operationId: validate-specification summary: Validate API Specification description: Validates the content and type (OpenAPI or AsyncAPI) of a potential API specification without associating it with a specific API. requestBody: $ref: '#/components/requestBodies/ValidateApiSpecRequest' responses: '201': $ref: '#/components/responses/ValidateApiSpecSuccessResponse' '400': description: Bad Request - Either the request format is invalid or the specification content failed validation. content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '415': $ref: '#/components/responses/UnsupportedMediaType' tags: - API Specification '/v3/applications/{applicationId}': parameters: - $ref: '#/components/parameters/ApplicationId' get: operationId: get-application-unscoped summary: Get an Application description: 'Returns the configuration of a single application in any portal. If an application is linked to a DCR Provider, the `dcr_provider.id` and `client_id` can be used to correlate it. An application manages a set of credentials and registrations for specific APIs.' responses: '200': $ref: '#/components/responses/GetApplication' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Applications '/v3/authenticate/{organizationLoginPath}': get: operationId: authenticate-sso summary: SSO Callback description: Callback for authenticating via an organization's IdP parameters: - name: organizationLoginPath in: path description: The login path for the organization. required: true schema: type: string - name: return_to in: query description: Return destination for the callback. schema: type: string responses: '302': description: Found '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' servers: - url: 'https://global.api.konghq.com/' tags: - Authentication /v3/authentication-settings: get: x-speakeasy-entity-operation: terraform-resource: AuthenticationSettings#read terraform-datasource: null operationId: get-authentication-settings summary: Get Auth Settings description: 'Returns authentication configuration, which determines how users can log in and how they are assigned to teams.' responses: '200': $ref: '#/components/responses/AuthenticationSettings' '401': $ref: '#/components/responses/IdentityUnauthenticated' servers: - url: 'https://global.api.konghq.com/' tags: - Auth Settings patch: x-speakeasy-entity-operation: 'AuthenticationSettings#create,update' operationId: update-authentication-settings summary: Update Auth Settings description: Updates authentication configuration. requestBody: $ref: '#/components/requestBodies/UpdateAuthenticationSettings' responses: '200': $ref: '#/components/responses/AuthenticationSettings' '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/Unauthorized' servers: - url: 'https://global.api.konghq.com/' tags: - Auth Settings /v3/identity-provider: get: operationId: get-idp-configuration summary: Get the IdP Configuration description: Fetch the IdP configuration. responses: '200': $ref: '#/components/responses/IdPConfiguration' '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/IdentityPermissionDenied' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Auth Settings patch: operationId: update-idp-configuration summary: Update IdP Configuration description: Update the IdP configuration. requestBody: $ref: '#/components/requestBodies/UpdateIdPConfiguration' responses: '200': $ref: '#/components/responses/IdPConfiguration' '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/Unauthorized' servers: - url: 'https://global.api.konghq.com/' tags: - Auth Settings /v3/identity-provider/team-group-mappings: get: operationId: get-team-group-mappings summary: Get a Team Group Mappings description: |- Retrieves the mappings between Konnect Teams and Identity Provider Groups. Returns a 400 error if an Identity Provider has not yet been configured. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' responses: '200': $ref: '#/components/responses/TeamGroupMappingCollection' '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/IdentityPermissionDenied' servers: - url: 'https://global.api.konghq.com/' tags: - Auth Settings patch: operationId: patch-team-group-mappings summary: Patch Mappings by Team ID description: |- Allows partial updates to the mappings between Konnect Teams and Identity Provider Groups. The request body must be keyed on team ID. For a given team ID, the given group list is a complete replacement. To remove all mappings for a given team, provide an empty group list. Returns a 400 error if an Identity Provider has not yet been configured, or if a team ID in the request body is not found or is not a UUID. requestBody: $ref: '#/components/requestBodies/PatchTeamGroupMappings' responses: '200': $ref: '#/components/responses/TeamGroupMappingCollection' '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/IdentityPermissionDenied' servers: - url: 'https://global.api.konghq.com/' tags: - Auth Settings /v3/identity-provider/team-mappings: put: operationId: update-idp-team-mappings summary: Update Team Mappings description: Updates the IdP group to Konnect team mapping. requestBody: $ref: '#/components/requestBodies/UpdateTeamMappings' responses: '200': $ref: '#/components/responses/TeamMappingCollection' '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityPermissionDenied' '404': $ref: '#/components/responses/IdentityNotFound' '412': $ref: '#/components/responses/PreconditionFailed' servers: - url: 'https://global.api.konghq.com/' tags: - Auth Settings get: operationId: get-idp-team-mappings summary: Get a Team Mapping description: Fetch the IdP group to Konnect team mapping. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' responses: '200': $ref: '#/components/responses/TeamMappingResponse' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/IdentityPermissionDenied' '404': $ref: '#/components/responses/IdentityNotFound' '412': $ref: '#/components/responses/PreconditionFailed' servers: - url: 'https://global.api.konghq.com/' tags: - Auth Settings /v3/identity-providers: get: operationId: get-identity-providers summary: List Identity Providers description: | Retrieves the identity providers available within the organization. This operation provides information about various identity providers for SAML or OIDC authentication integrations. parameters: - name: filter in: query description: Filter identity providers returned in the response. required: false schema: type: object properties: type: $ref: '#/components/schemas/StringFieldEqualsFilter' style: deepObject responses: '200': $ref: '#/components/responses/IdentityProviders' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/IdentityPermissionDenied' servers: - url: 'https://global.api.konghq.com/' tags: - Auth Settings post: x-speakeasy-entity-operation: IdentityProvider#create operationId: create-identity-provider summary: Create Identity Provider description: | Creates a new identity provider. This operation allows the creation of a new identity provider for authentication purposes. requestBody: $ref: '#/components/requestBodies/CreateIdentityProviderRequest' responses: '201': $ref: '#/components/responses/IdentityProvider' '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/CreateIdentityProviderPermissionDenied' '409': $ref: '#/components/responses/Conflict' servers: - url: 'https://global.api.konghq.com/' tags: - Auth Settings '/v3/identity-providers/{id}': parameters: - name: id in: path description: ID of the identity provider. required: true schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a get: x-speakeasy-entity-operation: terraform-resource: IdentityProvider#read terraform-datasource: null operationId: get-identity-provider summary: Get Identity Provider description: | Retrieves the configuration of a single identity provider. This operation returns information about a specific identity provider's settings and authentication integration details. responses: '200': $ref: '#/components/responses/IdentityProvider' '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/IdentityPermissionDenied' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Auth Settings patch: x-speakeasy-entity-operation: IdentityProvider#update operationId: update-identity-provider summary: Update Identity Provider description: | Updates the configuration of an existing identity provider. This operation allows modifications to be made to an existing identity provider's configuration. requestBody: $ref: '#/components/requestBodies/UpdateIdentityProviderRequest' responses: '200': $ref: '#/components/responses/IdentityProvider' '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/IdentityPermissionDenied' '404': $ref: '#/components/responses/IdentityNotFound' '409': $ref: '#/components/responses/Conflict' servers: - url: 'https://global.api.konghq.com/' tags: - Auth Settings delete: x-speakeasy-entity-operation: IdentityProvider#delete operationId: delete-identity-provider summary: Delete Identity Provider description: | Deletes an existing identity provider configuration. This operation removes a specific identity provider from the organization. responses: '204': description: No Content '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/IdentityPermissionDenied' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Auth Settings '/v3/identity-providers/{idpId}/team-group-mappings': parameters: - name: idpId in: path description: ID of the identity provider. required: true schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a get: operationId: list-idp-team-group-mappings summary: List Team Group Mappings description: | Returns a paginated list of team group mappings for the specified identity provider. Mappings define the relationship between identity provider groups and Konnect teams. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageAfter' - $ref: '#/components/parameters/PageBefore' - name: filter in: query description: Filter mappings by team ID or group name. required: false schema: type: object properties: team_id: $ref: '#/components/schemas/StringFieldEqualsFilter' group: $ref: '#/components/schemas/StringFieldEqualsFilter' style: deepObject responses: '200': $ref: '#/components/responses/IdpTeamGroupMappingsCollection' '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/IdentityPermissionDenied' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Auth Settings post: x-speakeasy-entity-operation: terraform-resource: IdentityProviderTeamGroupMapping#create terraform-datasource: null operationId: create-idp-team-group-mapping summary: Create Team Group Mapping description: | Creates a new team group mapping for the specified identity provider. A mapping associates an identity provider group with a Konnect team. requestBody: $ref: '#/components/requestBodies/CreateIdpTeamGroupMappingRequest' responses: '201': $ref: '#/components/responses/IdpTeamGroupMapping' '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/IdentityPermissionDenied' '404': $ref: '#/components/responses/IdentityNotFound' '409': $ref: '#/components/responses/Conflict' servers: - url: 'https://global.api.konghq.com/' tags: - Auth Settings '/v3/identity-providers/{idpId}/team-group-mappings/{id}': parameters: - name: idpId in: path description: ID of the identity provider. required: true schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a - name: id in: path description: ID of the team group mapping. required: true schema: type: string format: uuid example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 get: x-speakeasy-entity-operation: terraform-resource: IdentityProviderTeamGroupMapping#read terraform-datasource: null operationId: get-idp-team-group-mapping summary: Get Team Group Mapping description: Returns the team group mapping for the specified ID. responses: '200': $ref: '#/components/responses/IdpTeamGroupMapping' '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/IdentityPermissionDenied' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Auth Settings delete: x-speakeasy-entity-operation: terraform-resource: IdentityProviderTeamGroupMapping#delete terraform-datasource: null operationId: delete-idp-team-group-mapping summary: Delete Team Group Mapping description: | Deletes a team group mapping by ID. Returns 204 if the mapping was deleted, or 404 if the mapping was not found. responses: '204': description: No Content '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/IdentityPermissionDenied' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Auth Settings /v3/invites: post: operationId: invite-user summary: Invite User description: 'Sends an invitation email to invite a user to the Konnect organization. The email contains a link with a one time token to accept the invitation. Upon accepting the invitation, the user is directed to https://cloud.konghq.com/login to complete registration.' requestBody: $ref: '#/components/requestBodies/InviteUser' responses: '201': description: Created '400': $ref: '#/components/responses/IdentityBadRequest' '409': $ref: '#/components/responses/IdentityConflict' '429': $ref: '#/components/responses/RateLimited' servers: - url: 'https://global.api.konghq.com/' tags: - Invites /v3/openmeter/apps: get: operationId: list-apps summary: List apps description: List installed apps. parameters: - $ref: '#/components/parameters/PagePaginationQuery' responses: '200': description: Page paginated response. content: application/json: schema: $ref: '#/components/schemas/AppPagePaginatedResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - OpenMeter Apps '/v3/openmeter/apps/{appId}': get: operationId: get-app summary: Get app description: Get an installed app. parameters: - name: appId in: path required: true schema: $ref: '#/components/schemas/ULID' responses: '200': description: App response. content: application/json: schema: $ref: '#/components/schemas/BillingApp' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - OpenMeter Apps /v3/openmeter/customers: post: operationId: create-customer summary: Create customer requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateCustomerRequest' responses: '201': description: Customer created response. content: application/json: schema: $ref: '#/components/schemas/BillingCustomer' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - OpenMeter Customers get: operationId: list-customers summary: List customers parameters: - $ref: '#/components/parameters/PagePaginationQuery' - name: sort in: query description: |- Sort customers returned in the response. Supported sort attributes are: - `id` - `name` (default) - `created_at` The `asc` suffix is optional as the default sort order is ascending. The `desc` suffix is used to specify a descending order. required: false schema: $ref: '#/components/schemas/SortQuery' explode: false style: form - name: filter in: query description: |- Filter customers returned in the response. To filter customers by key add the following query param: filter[key]=my-db-id required: false schema: $ref: '#/components/schemas/ListCustomersParamsFilter' style: deepObject responses: '200': description: Page paginated response. content: application/json: schema: $ref: '#/components/schemas/CustomerPagePaginatedResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - OpenMeter Customers '/v3/openmeter/customers/{customerId}': get: operationId: get-customer summary: Get customer parameters: - name: customerId in: path required: true schema: $ref: '#/components/schemas/ULID' responses: '200': description: Customer response. content: application/json: schema: $ref: '#/components/schemas/BillingCustomer' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - OpenMeter Customers put: operationId: upsert-customer summary: Upsert customer parameters: - name: customerId in: path required: true schema: $ref: '#/components/schemas/ULID' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpsertCustomerRequest' responses: '200': description: Customer upsert response. content: application/json: schema: $ref: '#/components/schemas/BillingCustomer' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '410': $ref: '#/components/responses/Gone' tags: - OpenMeter Customers delete: operationId: delete-customer summary: Delete customer parameters: - name: customerId in: path required: true schema: $ref: '#/components/schemas/ULID' responses: '204': description: Deleted response. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - OpenMeter Customers '/v3/openmeter/customers/{customerId}/billing': get: operationId: get-customer-billing summary: Get customer billing data parameters: - name: customerId in: path required: true schema: $ref: '#/components/schemas/ULID' responses: '200': description: CustomerBillingData response. content: application/json: schema: $ref: '#/components/schemas/BillingCustomerData' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - OpenMeter Customers put: operationId: update-customer-billing summary: Update customer billing data parameters: - name: customerId in: path required: true schema: $ref: '#/components/schemas/ULID' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpsertCustomerBillingDataRequest' responses: '200': description: CustomerBillingData upsert response. content: application/json: schema: $ref: '#/components/schemas/BillingCustomerData' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '410': $ref: '#/components/responses/Gone' tags: - OpenMeter Customers '/v3/openmeter/customers/{customerId}/billing/app-data': put: operationId: update-customer-billing-app-data summary: Update customer billing app data parameters: - name: customerId in: path required: true schema: $ref: '#/components/schemas/ULID' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpsertAppCustomerDataRequest' responses: '200': description: AppCustomerData upsert response. content: application/json: schema: $ref: '#/components/schemas/BillingAppCustomerData' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '410': $ref: '#/components/responses/Gone' tags: - OpenMeter Customers '/v3/openmeter/customers/{customerId}/billing/stripe/checkout-sessions': post: operationId: create-customer-stripe-checkout-session summary: Create Stripe Checkout Session description: |- Create a [Stripe Checkout Session](https://docs.stripe.com/payments/checkout) for the customer. Creates a Checkout Session for collecting payment method information from customers. The session operates in "setup" mode, which collects payment details without charging the customer immediately. The collected payment method can be used for future subscription billing. For hosted checkout sessions, redirect customers to the returned URL. For embedded sessions, use the client_secret to initialize Stripe.js in your application. parameters: - name: customerId in: path required: true schema: $ref: '#/components/schemas/ULID' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BillingCustomerStripeCreateCheckoutSessionRequest' responses: '201': description: CreateStripeCheckoutSessionResult created response. content: application/json: schema: $ref: '#/components/schemas/BillingAppStripeCreateCheckoutSessionResult' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '410': $ref: '#/components/responses/Gone' tags: - OpenMeter Customers '/v3/openmeter/customers/{customerId}/billing/stripe/portal-sessions': post: operationId: create-customer-stripe-portal-session summary: Create Stripe customer portal session description: |- Create Stripe Customer Portal Session. Useful to redirect the customer to the Stripe Customer Portal to manage their payment methods, change their billing address and access their invoice history. Only returns URL if the customer billing profile is linked to a stripe app and customer. parameters: - name: customerId in: path required: true schema: $ref: '#/components/schemas/ULID' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BillingCustomerStripeCreateCustomerPortalSessionRequest' responses: '201': description: CreateStripeCustomerPortalSessionResult created response. content: application/json: schema: $ref: '#/components/schemas/BillingAppStripeCreateCustomerPortalSessionResult' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '410': $ref: '#/components/responses/Gone' tags: - OpenMeter Customers '/v3/openmeter/customers/{customerId}/entitlement-access': get: operationId: list-customer-entitlement-access summary: List customer entitlement access parameters: - name: customerId in: path required: true schema: $ref: '#/components/schemas/ULID' responses: '200': description: List the customer's active features and their access. content: application/json: schema: $ref: '#/components/schemas/ListCustomerEntitlementAccessResponseData' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - OpenMeter Entitlements /v3/openmeter/events: post: operationId: ingest-metering-events summary: Ingest metering events description: Ingests an event or batch of events following the CloudEvents specification. requestBody: required: true content: application/cloudevents+json: schema: $ref: '#/components/schemas/MeteringEvent' application/cloudevents-batch+json: schema: type: array items: $ref: '#/components/schemas/MeteringEvent' application/json: schema: anyOf: - $ref: '#/components/schemas/MeteringEvent' - type: array items: $ref: '#/components/schemas/MeteringEvent' responses: '202': description: The events have been ingested and are being processed asynchronously. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Metering Events /v3/openmeter/meters: post: operationId: create-meter summary: Create meter description: Create a meter. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateMeterRequest' responses: '201': description: Meter created response. content: application/json: schema: $ref: '#/components/schemas/Meter' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Meters get: operationId: list-meters summary: List meters description: List meters. parameters: - $ref: '#/components/parameters/PagePaginationQuery' - name: sort in: query description: |- Sort meters returned in the response. Supported sort attributes are: - `key` - `name` - `aggregation` - `createdAt` (default) - `updatedAt` The `asc` suffix is optional as the default sort order is ascending. The `desc` suffix is used to specify a descending order. required: false schema: $ref: '#/components/schemas/SortQuery' explode: false style: form - name: filter in: query description: |- Filter meters returned in the response. To filter meters by key add the following query param: filter[key]=my-meter-key required: false schema: $ref: '#/components/schemas/ListMetersParamsFilter' style: deepObject responses: '200': description: Page paginated response. content: application/json: schema: $ref: '#/components/schemas/MeterPagePaginatedResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Meters '/v3/openmeter/meters/{meterId}': get: operationId: get-meter summary: Get meter description: Get a meter by ID. parameters: - name: meterId in: path required: true schema: $ref: '#/components/schemas/ULID' responses: '200': description: Meter response. content: application/json: schema: $ref: '#/components/schemas/Meter' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Meters delete: operationId: delete-meter summary: Delete meter description: Delete a meter. parameters: - name: meterId in: path required: true schema: $ref: '#/components/schemas/ULID' responses: '204': description: Deleted response. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Meters /v3/openmeter/profiles: get: operationId: list-billing-profiles summary: List billing profiles description: List billing profiles. parameters: - $ref: '#/components/parameters/PagePaginationQuery' responses: '200': description: Page paginated response. content: application/json: schema: $ref: '#/components/schemas/BillingProfilePagePaginatedResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - OpenMeter Billing post: operationId: create-billing-profile summary: Create a new billing profile description: |- Create a new billing profile. Billing profiles contain the settings for billing and controls invoice generation. An organization can have multiple billing profiles defined. A billing profile is linked to a specific app. This association is established during the billing profile's creation and remains immutable. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateBillingProfileRequest' responses: '201': description: BillingProfile created response. content: application/json: schema: $ref: '#/components/schemas/BillingProfile' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - OpenMeter Billing '/v3/openmeter/profiles/{id}': get: operationId: get-billing-profile summary: Get a billing profile description: Get a billing profile. parameters: - name: id in: path required: true schema: $ref: '#/components/schemas/ULID' responses: '200': description: BillingProfile response. content: application/json: schema: $ref: '#/components/schemas/BillingProfile' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - OpenMeter Billing put: operationId: update-billing-profile summary: Update a billing profile description: Update a billing profile. parameters: - name: id in: path required: true schema: $ref: '#/components/schemas/ULID' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpsertBillingProfileRequest' responses: '200': description: BillingProfile updated response. content: application/json: schema: $ref: '#/components/schemas/BillingProfile' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - OpenMeter Billing delete: operationId: delete-billing-profile summary: Delete a billing profile description: |- Delete a billing profile. Only such billing profiles can be deleted that are: - not the default profile - not pinned to any customer using customer overrides - only have finalized invoices parameters: - name: id in: path required: true schema: $ref: '#/components/schemas/ULID' responses: '204': description: Deleted response. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - OpenMeter Billing /v3/openmeter/subscriptions: post: operationId: create-subscription summary: Create subscription requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BillingSubscriptionCreate' responses: '201': description: Subscription created response. content: application/json: schema: $ref: '#/components/schemas/BillingSubscription' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - OpenMeter Subscriptions get: operationId: list-subscriptions summary: List subscriptions parameters: - $ref: '#/components/parameters/PagePaginationQuery' - name: filter in: query description: Filter subscriptions. required: false schema: type: object properties: customer_id: description: Filter subscriptions by customer ID. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' title: ULID style: deepObject responses: '200': description: Page paginated response. content: application/json: schema: $ref: '#/components/schemas/SubscriptionPagePaginatedResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - OpenMeter Subscriptions '/v3/openmeter/subscriptions/{subscriptionId}': get: operationId: get-subscription summary: Get subscription parameters: - name: subscriptionId in: path required: true schema: $ref: '#/components/schemas/ULID' responses: '200': description: Subscription response. content: application/json: schema: $ref: '#/components/schemas/BillingSubscription' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - OpenMeter Subscriptions '/v3/openmeter/subscriptions/{subscriptionId}/cancel': post: operationId: cancel-subscription summary: Cancel subscription description: |- Cancels the subscription. Will result in a scheduling conflict if there are other subscriptions scheduled to start after the cancelation time. parameters: - name: subscriptionId in: path required: true schema: $ref: '#/components/schemas/ULID' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BillingSubscriptionCancel' responses: '200': description: Subscription updated response. content: application/json: schema: $ref: '#/components/schemas/BillingSubscription' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - OpenMeter Subscriptions '/v3/openmeter/subscriptions/{subscriptionId}/change': post: operationId: change-subscription summary: Change subscription description: |- Closes a running subscription and starts a new one according to the specification. Can be used for upgrades, downgrades, and plan changes. parameters: - name: subscriptionId in: path required: true schema: $ref: '#/components/schemas/ULID' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BillingSubscriptionChange' responses: '200': description: The request has succeeded. content: application/json: schema: $ref: '#/components/schemas/BillingSubscriptionChangeResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - OpenMeter Subscriptions '/v3/openmeter/subscriptions/{subscriptionId}/unschedule-cancelation': post: operationId: unschedule-cancelation summary: Unschedule subscription cancelation description: Unschedules the subscription cancelation. parameters: - name: subscriptionId in: path required: true schema: $ref: '#/components/schemas/ULID' responses: '200': description: Subscription updated response. content: application/json: schema: $ref: '#/components/schemas/BillingSubscription' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - OpenMeter Subscriptions /v3/organizations/impersonation: get: operationId: get-impersonation-settings summary: Get Impersonation Settings description: 'Returns Impersonation Settings, which determines if user impersonation is allowed for an organization.' responses: '200': $ref: '#/components/responses/GetImpersonationSettingsResponse' '401': $ref: '#/components/responses/IdentityUnauthenticated' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Impersonation Settings patch: operationId: update-impersonation-settings summary: Update Impersonation Settings description: Updates Impersonation Settings. requestBody: $ref: '#/components/requestBodies/UpdateImpersonationSettingsRequest' responses: '200': $ref: '#/components/responses/UpdateImpersonationSettingsResponse' '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Impersonation Settings /v3/organizations/me: get: operationId: get-organizations-me summary: Get My Organization description: Returns the organization of the user identified in the token of the request. responses: '200': $ref: '#/components/responses/MeOrganization' '401': $ref: '#/components/responses/IdentityUnauthenticated' servers: - url: 'https://global.api.konghq.com/' tags: - Me /v3/portal-roles: get: operationId: list-portal-roles summary: List Portal Roles description: List roles that can be assigned to teams in a portal. Each role provides a set of permissions to perform an action on a resource. responses: '200': $ref: '#/components/responses/ListRoles' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Portal Team Roles /v3/portals: get: x-speakeasy-entity-operation: terraform-resource: null terraform-datasource: - Portal#read 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 true, the portal will be deleted, automatically deleting all API publications. If the force param is not set, the deletion will only succeed if there are no APIs currently published.' schema: type: string default: 'false' enum: - 'true' - 'false' 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}/api-publications': parameters: - $ref: '#/components/parameters/PortalId' get: operationId: list-portal-api-publications summary: List Portal API Publications description: | Returns a collection of all API Publications for a specific portal. **Access Control**: Requires permission to view the specified portal. Once portal access is granted, all API publications for that portal are returned regardless of the caller's individual API permissions. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/PortalApiPublicationFilters' - $ref: '#/components/parameters/PortalApiPublicationSort' responses: '200': $ref: '#/components/responses/ListPublicationResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Publication '/v3/portals/{portalId}/application-registrations': parameters: - $ref: '#/components/parameters/PortalId' get: operationId: list-registrations summary: List Registrations by Portal description: 'Lists all of the application registrations and their current status (e.g., approved or pending) for this portal. Each registration is associated with a single API. Access is provided through the credentials issued to the application that contains each registration.' parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/SortListAllApplicationRegistrations' - name: filter in: query description: Filter application registrations returned in the response. required: false schema: type: object properties: developer_id: $ref: '#/components/schemas/UuidFieldFilter' application_name: $ref: '#/components/schemas/StringFieldFilter' status: $ref: '#/components/schemas/StringFieldFilter' style: deepObject responses: '200': $ref: '#/components/responses/ListApplicationRegistrations' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Application Registrations '/v3/portals/{portalId}/applications': get: operationId: list-applications summary: List Applications description: 'Lists applications in this portal. Each application can be registered for various APIs, issuing credentials for API access. If using DCR, an application will be linked to an Identity Provider''s application by its `client_id`.' parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/SortApplications' - name: filter in: query description: Filter applications returned in the response. required: false schema: $ref: '#/components/schemas/FilterApplications' style: deepObject responses: '200': $ref: '#/components/responses/ListApplications' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Applications '/v3/portals/{portalId}/applications/{applicationId}': parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/ApplicationId' get: 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: 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: 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}/credentials': parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/ApplicationId' get: operationId: list-credentials-by-application summary: List Credentials by Application description: 'Lists all credentials for an application. This endpoint returns both API key credentials and DCR credentials, depending on the auth strategy the application uses: - For DCR applications: Credential information is retrieved from the identity provider using provider-specific APIs - For Key-Auth applications: Returns information about credentials Basic information about the credential is returned, but not the credential secret itself.' parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' responses: '200': $ref: '#/components/responses/ListApplicationCredentials' '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 '/v3/portals/{portalId}/applications/{applicationId}/developers': parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/ApplicationId' get: operationId: list-developers-by-application summary: List Developers by Application description: Lists each developer that can access the given application for this portal. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/SortApplicationDevelopers' - name: filter in: query description: Filter application developers returned in the response. required: false schema: type: object properties: id: $ref: '#/components/schemas/StringFieldFilter' style: deepObject responses: '200': $ref: '#/components/responses/ListApplicationDevelopers' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Applications '/v3/portals/{portalId}/applications/{applicationId}/registrations': parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/ApplicationId' get: operationId: list-registrations-by-application summary: List Registrations by Application description: 'Lists each API that this application is registered for and their current status (e.g., pending, approved, rejected, revoked).' parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/SortApplicationRegistrations' - name: filter in: query description: Filter application registrations returned in the response. required: false schema: type: object properties: status: $ref: '#/components/schemas/StringFieldFilter' style: deepObject responses: '200': $ref: '#/components/responses/ListApplicationRegistrations' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Application Registrations '/v3/portals/{portalId}/applications/{applicationId}/registrations/{registrationId}': parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/ApplicationId' - $ref: '#/components/parameters/RegistrationId' get: 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: 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: 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}/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}/assets/favicon/raw': parameters: - $ref: '#/components/parameters/PortalId' get: operationId: get-portal-asset-favicon-raw summary: Get Favicon (Raw) description: Returns the raw favicon of the portal. responses: '200': $ref: '#/components/responses/PortalAssetResponseRaw' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Assets '/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/logo/raw': parameters: - $ref: '#/components/parameters/PortalId' get: operationId: get-portal-asset-logo-raw summary: Get Logo (Raw) description: Returns the raw logo of the portal. responses: '200': $ref: '#/components/responses/PortalAssetResponseRaw' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Assets '/v3/portals/{portalId}/audit-log-replay-job': parameters: - $ref: '#/components/parameters/PortalId' put: operationId: update-portal-audit-log-replay-job summary: Update Portal Audit Log Replay Job description: Updates a job to re-send audit logs to an portal's webhook. requestBody: $ref: '#/components/requestBodies/ReplacePortalAuditLogReplayJob' responses: '202': $ref: '#/components/responses/PortalAuditLogReplayJob' '400': $ref: '#/components/responses/PortalReplayJobBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/PortalReplayJobConflict' tags: - Portal Audit Logs get: operationId: get-portal-audit-log-replay-job summary: Get Portal Audit Log Replay Job description: Returns the audit log replay job's configuration and status. responses: '200': $ref: '#/components/responses/PortalAuditLogReplayJob' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Audit Logs '/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}/audit-log-webhook/status': parameters: - $ref: '#/components/parameters/PortalId' get: operationId: get-portal-audit-log-webhook-status summary: Get Portal Audit Log Webhook Status description: Returns status of the audit log webhook. responses: '200': $ref: '#/components/responses/PortalAuditLogWebhookStatus' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Audit Logs '/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}/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}/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 patch: operationId: update-portal-customization summary: Update Customization description: 'Update the portal customization options, merging properties.' 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}/default-content': post: operationId: create-default-content summary: Create Boilerplate Content description: 'Creates a default collection of pages, snippets, and customization config for a portal if they do not already exist. This endpoint is optional, you can call it to populate a newly created developer portal with default content, but it is not required. Existing pages and snippets will not be modified or deleted. If used, it is typically called once per portal shortly after creation.' parameters: - $ref: '#/components/parameters/PortalId' responses: '201': $ref: '#/components/responses/DefaultContentResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Pages '/v3/portals/{portalId}/developers': parameters: - $ref: '#/components/parameters/PortalId' get: operationId: list-portal-developers summary: List Developers description: Lists the developers that have registered for this portal. Each developer can be registered to one portal and must be approved to login unless using the developer auto-approve setting. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/SortDevelopers' - name: filter in: query description: Filter developers returned in the response. required: false schema: type: object properties: name: $ref: '#/components/schemas/StringFieldFilter' status: $ref: '#/components/schemas/StringFieldFilter' email: $ref: '#/components/schemas/StringFieldFilter' style: deepObject responses: '200': $ref: '#/components/responses/ListDevelopers' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Developers '/v3/portals/{portalId}/developers/{developerId}': parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/DeveloperId' get: 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: 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: 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}/developers/{developerId}/teams': parameters: - $ref: '#/components/parameters/DeveloperId' - $ref: '#/components/parameters/PortalId' get: operationId: list-portal-developer-teams summary: List Developer Teams description: Lists the teams to which a developer belongs. Each team a developer is a member of grants them various roles that provide permissions to perform actions on certain resources. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - name: filter in: query description: Filter teams returned in the response. required: false schema: type: object properties: can_own_applications: $ref: '#/components/schemas/BooleanFieldFilter' style: deepObject responses: '200': $ref: '#/components/responses/ListPortalTeams' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Team Membership '/v3/portals/{portalId}/email-config': parameters: - $ref: '#/components/parameters/PortalId' get: operationId: get-email-config summary: Get the email config for the portal description: Retrieve the email config for the portal responses: '200': $ref: '#/components/responses/PortalEmailConfigResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Emails post: operationId: create-portal-email-config summary: Create the email config for a portal description: Create the email config for a portal requestBody: $ref: '#/components/requestBodies/PostPortalEmailConfigPayload' responses: '201': $ref: '#/components/responses/PortalEmailConfigResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': description: Conflict content: application/problem+json: schema: $ref: '#/components/schemas/ConflictError' tags: - Portal Emails patch: operationId: update-portal-email-config summary: Setup the email config for a portal description: Setup the email config for a portal requestBody: $ref: '#/components/requestBodies/PatchPortalEmailConfigPayload' responses: '200': $ref: '#/components/responses/PortalEmailConfigResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Emails delete: operationId: delete-portal-email-config summary: Delete portal email config description: Delete portal email config responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Emails '/v3/portals/{portalId}/email-delivery': parameters: - $ref: '#/components/parameters/PortalId' get: operationId: get-email-delivery summary: Get the email delivery for the portal description: Retrieve the email delivery for the portal responses: '200': description: success content: application/json: schema: $ref: '#/components/schemas/EmailDelivery' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' deprecated: true tags: - Portal Emails patch: operationId: update-email-delivery summary: Setup the email delivery for a portal description: Setup the email delivery for a portal requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EmailDeliveryUpdatePayload' responses: '200': description: success content: application/json: schema: $ref: '#/components/schemas/EmailDelivery' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' deprecated: true tags: - Portal Emails delete: operationId: delete-email-delivery summary: Delete email delivery description: Delete email delivery responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' deprecated: true tags: - Portal Emails '/v3/portals/{portalId}/email-templates': parameters: - $ref: '#/components/parameters/PortalId' get: operationId: list-portal-custom-email-templates summary: List custom email templates for a portal description: List custom email templates responses: '200': $ref: '#/components/responses/ListEmailTemplates' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Emails '/v3/portals/{portalId}/email-templates/{templateName}': parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/EmailTemplateName' get: operationId: get-portal-custom-email-template summary: Get custom email template used in a portal description: Get custom email template responses: '200': $ref: '#/components/responses/EmailTemplate' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Emails patch: operationId: update-portal-custom-email-template summary: Update custom email template for a portal description: Update custom email template requestBody: $ref: '#/components/requestBodies/PatchCustomPortalEmailTemplatePayload' responses: '200': $ref: '#/components/responses/PatchEmailTemplateResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Emails delete: operationId: delete-portal-custom-email-template summary: Delete custom email template description: Delete custom email template for a portal. This will revert to using the default template responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Emails '/v3/portals/{portalId}/email-templates/{templateName}/send-test-email': post: operationId: post-portal-custom-email-test-send summary: Send Test Email description: |- Send a test email based on the portal's email template, using the content provided in the request. The email will be sent to the Konnect user who triggered the test. parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/EmailTemplateName' requestBody: $ref: '#/components/requestBodies/PostSendTestEmailPayload' responses: '204': description: No Content '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Emails '/v3/portals/{portalId}/identity-provider/team-group-mappings': parameters: - $ref: '#/components/parameters/PortalId' get: operationId: list-portal-team-group-mappings summary: List Team Group Mappings description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Lists mappings between Konnect portal teams and Identity Provider (IdP) groups. Returns a 400 error if an IdP has not yet been configured. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' responses: '200': $ref: '#/components/responses/PortalTeamGroupMappingCollection' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Portal Auth Settings patch: operationId: update-portal-team-group-mappings summary: Update Team Group Mappings description: |- **Pre-release Endpoint** This endpoint is currently in beta and is subject to change. Allows partial updates to the mappings between Konnect portal teams and Identity Provider (IdP) groups. The request body must be keyed on team ID. For a given team ID, the given group list is a complete replacement. To remove all mappings for a given team, provide an empty group list. Returns a 400 error if an IdP has not yet been configured, or if a team ID in the request body is not found or is not a UUID. requestBody: $ref: '#/components/requestBodies/UpdatePortalTeamGroupMappings' responses: '200': $ref: '#/components/responses/PortalTeamGroupMappingCollection' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Portal Auth Settings '/v3/portals/{portalId}/identity-providers': parameters: - $ref: '#/components/parameters/PortalId' get: operationId: get-portal-identity-providers summary: List Identity Providers description: | Retrieves the identity providers available within the portal. This operation provides information about various identity providers for SAML or OIDC authentication integrations. parameters: - name: filter in: query description: Filter identity providers returned in the response. required: false schema: type: object properties: type: $ref: '#/components/schemas/StringFieldEqualsFilter' style: deepObject responses: '200': $ref: '#/components/responses/IdentityProviders' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Portal Auth Settings post: operationId: create-portal-identity-provider summary: Create Identity Provider description: | Creates a new identity provider. This operation allows the creation of a new identity provider for authentication purposes. requestBody: $ref: '#/components/requestBodies/CreateIdentityProviderRequest' responses: '201': $ref: '#/components/responses/IdentityProvider' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' tags: - Portal Auth Settings '/v3/portals/{portalId}/identity-providers/{id}': parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/IdentityProviderId' get: operationId: get-portal-identity-provider summary: Get Identity Provider description: | Retrieves the configuration of a single identity provider. This operation returns information about a specific identity provider's settings and authentication integration details. responses: '200': $ref: '#/components/responses/IdentityProvider' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Auth Settings patch: operationId: update-portal-identity-provider summary: Update Identity Provider description: | Updates the configuration of an existing identity provider. This operation allows modifications to be made to an existing identity provider's configuration. requestBody: $ref: '#/components/requestBodies/UpdateIdentityProviderRequest' responses: '200': $ref: '#/components/responses/IdentityProvider' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - Portal Auth Settings delete: operationId: delete-portal-identity-provider summary: Delete Identity Provider description: | Deletes an existing identity provider configuration. This operation removes a specific identity provider from the portal. responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Auth Settings '/v3/portals/{portalId}/identity-providers/{id}/team-group-mappings': parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/IdentityProviderId' get: operationId: list-portal-idp-team-group-mappings summary: List Team Group Mappings description: | Returns a paginated list of team group mappings for the specified identity provider. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageAfter' - $ref: '#/components/parameters/PageBefore' - name: filter in: query description: Filter mappings by team ID or group name. required: false schema: type: object properties: team_id: $ref: '#/components/schemas/StringFieldEqualsFilter' group: $ref: '#/components/schemas/StringFieldEqualsFilter' style: deepObject responses: '200': $ref: '#/components/responses/PortalIdpTeamGroupMappingCollection' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Auth Settings post: operationId: create-portal-idp-team-group-mapping summary: Create Team Group Mapping description: | Creates a new team group mapping for the specified identity provider. requestBody: $ref: '#/components/requestBodies/CreatePortalIdpTeamGroupMapping' responses: '201': $ref: '#/components/responses/PortalIdpTeamGroupMapping' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - Portal Auth Settings '/v3/portals/{portalId}/identity-providers/{id}/team-group-mappings/{mappingId}': parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/IdentityProviderId' - $ref: '#/components/parameters/TeamGroupMappingId' get: operationId: get-portal-idp-team-group-mapping summary: Get Team Group Mapping description: Returns the team group mapping for the specified ID. responses: '200': $ref: '#/components/responses/PortalIdpTeamGroupMapping' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Auth Settings delete: operationId: delete-portal-idp-team-group-mapping summary: Delete Team Group Mapping description: | Deletes a team group mapping by ID. Returns 204 if the mapping was deleted, or 404 if the mapping was not found. responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Auth Settings '/v3/portals/{portalId}/integrations': get: operationId: get-portal-integrations summary: Get Portal Integration Configurations description: Returns the portal integration configurations. parameters: - $ref: '#/components/parameters/PortalId' responses: '200': $ref: '#/components/responses/PortalIntegrationsResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Integrations put: operationId: upsert-portal-integrations summary: Replace Integration Configurations description: Replace the portal integration configurations. parameters: - $ref: '#/components/parameters/PortalId' requestBody: $ref: '#/components/requestBodies/ReplacePortalIntegrations' responses: '200': $ref: '#/components/responses/PortalIntegrationsResponse' '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 Integrations patch: operationId: update-portal-integrations summary: Update Integration Configurations description: 'Update the portal integration configurations, merging properties.' parameters: - $ref: '#/components/parameters/PortalId' requestBody: $ref: '#/components/requestBodies/UpdatePortalIntegrations' responses: '200': $ref: '#/components/responses/PortalIntegrationsResponse' '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 Integrations '/v3/portals/{portalId}/ip-allow-list': parameters: - $ref: '#/components/parameters/PortalId' post: 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 get: operationId: list-portal-ip-allow-list summary: List the IP allow list for portal description: | Lists the IP allow list configuration for a portal. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageBefore' - $ref: '#/components/parameters/PageAfter' responses: '200': $ref: '#/components/responses/PortalSourceIPRestrictionPaginatedResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' 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 put: 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 patch: operationId: update-portal-ip-allow-list summary: Update an IP allow list for a portal description: | Update an IP allow list for a portal. requestBody: $ref: '#/components/requestBodies/UpdatePortalSourceIPRestriction' 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: 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/portals/{portalId}/pages': get: operationId: list-portal-pages summary: List Pages description: Returns the tree view of custom pages that have been created for this portal. The full tree is returned in one response; this endpoint is not paginated. parameters: - $ref: '#/components/parameters/SortPortalPages' - $ref: '#/components/parameters/PortalId' - name: filter in: query description: Filter pages returned in the response. required: false schema: $ref: '#/components/schemas/PortalPagesFilterParameters' style: deepObject responses: '200': $ref: '#/components/responses/ListPortalPages' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' tags: - Pages x-speakeasy-group: Portal 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}/pages/{pageId}/move': post: operationId: move-portal-pages summary: Move Page description: 'This api allows the user to move a page within the page tree using the parameters parent_page_id and index. If parent_page_id is not provided, the page will be placed at the top level of the page tree. index represents a zero-indexed page order relative to its siblings under the same parent. For example, if we want to put the page at top level in first position we would send parent_page_id: null and index: 0. This api also supports using a negative index to count backwards from the end of the page list, which means you can put the page in last position by using index: -1.' parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/PageId' requestBody: $ref: '#/components/requestBodies/MovePage' responses: '201': description: The document has been moved '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - Pages x-speakeasy-group: Portal Pages '/v3/portals/{portalId}/snippets': get: operationId: list-portal-snippets summary: List Snippets description: Returns the paginated list of custom snippets that have been created for this portal. parameters: - $ref: '#/components/parameters/SortPortalSnippets' - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - name: filter in: query description: Filter snippets returned in the response. required: false schema: $ref: '#/components/schemas/PortalSnippetsFilterParameters' style: deepObject responses: '200': $ref: '#/components/responses/ListPortalSnippets' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - 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}/teams': parameters: - $ref: '#/components/parameters/PortalId' get: operationId: list-portal-teams summary: List Teams description: Lists the developer teams in a portal. Each team can contain any developer and developers can be part of multiple teams. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - name: filter in: query description: Filter teams returned in the response. required: false schema: type: object properties: name: $ref: '#/components/schemas/StringFieldFilter' can_own_applications: $ref: '#/components/schemas/BooleanFieldFilter' style: deepObject responses: '200': $ref: '#/components/responses/ListPortalTeams' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Teams 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: - $ref: '#/components/parameters/TeamId' - $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' get: operationId: list-portal-team-roles summary: List Team Roles description: Lists the roles belonging to a developer team. Each role provides permissions to perform actions on a specified resource or collection. responses: '200': $ref: '#/components/responses/AssignedPortalRoleCollection' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Team Roles post: 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: - $ref: '#/components/parameters/RoleId' - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/TeamId' delete: 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}/teams/{teamId}/developers': parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/TeamId' get: operationId: list-portal-team-developers summary: List Team Developers description: List a team's developers. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - name: filter in: query description: Filter developers returned in the response. required: false schema: type: object properties: email: $ref: '#/components/schemas/StringFieldFilter' full_name: $ref: '#/components/schemas/StringFieldFilter' attributes: $ref: '#/components/schemas/StringFieldFilter' active: $ref: '#/components/schemas/BooleanFieldFilter' style: deepObject responses: '200': $ref: '#/components/responses/ListBasicDevelopers' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Team Membership post: operationId: add-developer-to-portal-team summary: Add Developer to Team description: 'Adds a developer to a team. This associates them with all of the roles that have been assigned to the team, providing specific permissions to perform actions on resources.' requestBody: $ref: '#/components/requestBodies/AddDeveloperToTeam' responses: '201': description: Created '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - Portal Team Membership '/v3/portals/{portalId}/teams/{teamId}/developers/{developerId}': parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/DeveloperId' - $ref: '#/components/parameters/TeamId' delete: operationId: remove-developer-from-portal-team summary: Remove Developer from Team description: Removes a developer from a team. This removes the association of the team's roles from the developer. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Team Membership /v3/portals/email-domains: get: operationId: list-email-domains summary: List email domains description: List email domains parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/SortEmailDomains' - name: filter in: query description: Filter email domains returned in the response. required: false schema: $ref: '#/components/schemas/EmailDomainFilterParameters' style: deepObject responses: '200': description: List of a email domains content: application/json: schema: $ref: '#/components/schemas/ListDomains' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Portal Emails post: operationId: create-email-domain summary: Create an email domain description: Create an email domain requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EmailDomainPayload' responses: '201': description: success content: application/json: schema: $ref: '#/components/schemas/EmailDomain' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Emails '/v3/portals/email-domains/{emailDomain}': parameters: - $ref: '#/components/parameters/EmailDomain' get: operationId: get-email-domain summary: Get an email domain description: Get an email domain responses: '200': description: success content: application/json: schema: $ref: '#/components/schemas/EmailDomain' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Emails delete: operationId: delete-email-domain summary: Delete an email domain description: Delete an email domain responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Emails /v3/portals/email-templates: get: operationId: list-default-email-templates summary: List default email templates description: List default email templates responses: '200': $ref: '#/components/responses/ListDefaultEmailTemplates' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Emails '/v3/portals/email-templates/{templateName}': parameters: - $ref: '#/components/parameters/EmailTemplateName' get: operationId: get-default-email-template summary: Get default email template description: Get default email template responses: '200': $ref: '#/components/responses/DefaultEmailTemplate' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Emails /v3/portals/email-templates/variables: get: operationId: list-email-template-variables summary: List email template variables description: List email template variables responses: '200': $ref: '#/components/responses/EmailTemplateVariables' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Emails /v3/roles: get: operationId: get-predefined-roles summary: Get Predefined Roles description: 'Retrieves the predefined, or system managed, roles.' responses: '200': $ref: '#/components/responses/Roles' '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' servers: - url: 'https://global.api.konghq.com/' tags: - Roles /v3/system-accounts: get: x-speakeasy-entity-operation: terraform-datasource: - SystemAccount#read - SystemAccountList#read operationId: get-system-accounts summary: List System Accounts description: Returns an array of system accounts (SA) in the organization. Returns 400 if any filter parameters are invalid. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - name: filter in: query description: Filter system accounts returned in the response. required: false schema: type: object properties: name: $ref: '#/components/schemas/LegacyStringFieldFilter' description: $ref: '#/components/schemas/LegacyStringFieldFilter' konnect_managed: $ref: '#/components/schemas/BooleanFieldFilter' style: deepObject responses: '200': $ref: '#/components/responses/SystemAccountCollection' '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/Unauthorized' servers: - url: 'https://global.api.konghq.com/' tags: - System Accounts 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 post: x-speakeasy-entity-operation: terraform-resource: SystemAccount#create terraform-datasource: null operationId: post-system-accounts summary: Create System Account description: Creates a system account. Returns a 409 if a system account with the same name already exists. requestBody: $ref: '#/components/requestBodies/CreateSystemAccount' responses: '201': $ref: '#/components/responses/SystemAccountSingle' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/Unauthorized' '409': $ref: '#/components/responses/IdentityConflict' servers: - url: 'https://global.api.konghq.com/' tags: - System Accounts '/v3/system-accounts/{accountId}': get: x-speakeasy-entity-operation: terraform-resource: SystemAccount#read terraform-datasource: null operationId: get-system-accounts-id summary: Get a System Account description: Returns the system account (SA) for the SA ID specified as a path parameter. responses: '200': $ref: '#/components/responses/SystemAccountSingle' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - System Accounts parameters: - name: accountId in: path description: ID of the system account. required: true schema: type: string x-speakeasy-match: id patch: x-speakeasy-entity-operation: terraform-resource: SystemAccount#update terraform-datasource: null operationId: patch-system-accounts-id summary: Update System Account description: Updates the specified system account. Returns a 409 if the updated name is the same as another system account in the organization. requestBody: $ref: '#/components/requestBodies/UpdateSystemAccount' responses: '200': $ref: '#/components/responses/SystemAccountSingle' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/IdentityNotFound' '409': $ref: '#/components/responses/IdentityConflict' servers: - url: 'https://global.api.konghq.com/' tags: - System Accounts delete: x-speakeasy-entity-operation: terraform-resource: SystemAccount#delete terraform-datasource: null operationId: delete-system-accounts-id summary: Delete System Account description: Deletes the specified system account. Returns 404 if the requested account was not found. responses: '204': description: No Content '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - System Accounts '/v3/system-accounts/{accountId}/access-tokens': get: operationId: get-system-account-id-access-tokens summary: List System Account Access Tokens description: Returns the access tokens for the specified system account. Returns 400 if any filter parameters are invalid. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - name: filter in: query description: Filter access tokens returned in the response. required: false schema: type: object properties: name: $ref: '#/components/schemas/LegacyStringFieldFilter' style: deepObject responses: '200': $ref: '#/components/responses/SystemAccountAccessTokenCollection' '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - System Accounts - Access Tokens parameters: - name: accountId in: path description: ID of the system account. required: true schema: type: string post: x-speakeasy-entity-operation: terraform-resource: SystemAccountAccessToken#create terraform-datasource: null operationId: post-system-accounts-id-access-tokens summary: Create System Account Access Token description: Creates an access token for the specified system account (SA). The access token can be used for authenticating API and CLI requests. The token will only be displayed once on creation. Returns a 409 if the system account already has a token with the same name. requestBody: $ref: '#/components/requestBodies/CreateSystemAccountAccessToken' responses: '201': $ref: '#/components/responses/SystemAccountAccessTokenCreated' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/IdentityNotFound' '409': $ref: '#/components/responses/IdentityConflict' servers: - url: 'https://global.api.konghq.com/' tags: - System Accounts - Access Tokens '/v3/system-accounts/{accountId}/access-tokens/{tokenId}': get: x-speakeasy-entity-operation: terraform-resource: SystemAccountAccessToken#read terraform-datasource: null operationId: get-system-accounts-id-access-tokens-id summary: Get a System Account Access Token description: Returns the system account (SA) access token for the SA Access Token ID specified as a path parameter. responses: '200': $ref: '#/components/responses/SystemAccountAccessTokenSingle' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - System Accounts - Access Tokens parameters: - name: accountId in: path description: ID of the system account. required: true schema: type: string - name: tokenId in: path description: ID of the system account access token. required: true schema: type: string x-speakeasy-match: id patch: x-speakeasy-entity-operation: terraform-resource: SystemAccountAccessToken#update terraform-datasource: null operationId: patch-system-accounts-id-access-tokens-id summary: Update System Account Access Token description: Updates the specified access token. Returns a 409 if the updated name is the same as another token belonging to the specified system user. requestBody: $ref: '#/components/requestBodies/UpdateSystemAccountAccessToken' responses: '200': $ref: '#/components/responses/SystemAccountAccessTokenSingle' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/IdentityNotFound' '409': $ref: '#/components/responses/IdentityConflict' servers: - url: 'https://global.api.konghq.com/' tags: - System Accounts - Access Tokens delete: x-speakeasy-entity-operation: terraform-resource: SystemAccountAccessToken#delete terraform-datasource: null operationId: delete-system-accounts-id-access-tokens-id summary: Delete System Account Access Token description: Deletes the specified token. Returns 404 if the token was not found. responses: '204': description: No Content '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - System Accounts - Access Tokens '/v3/system-accounts/{accountId}/assigned-roles': parameters: - name: accountId in: path description: ID of the system account. required: true schema: type: string get: operationId: get-system-accounts-accountId-assigned-roles summary: List Assigned Roles for System Account description: Lists the roles belonging to a system account. Returns 400 if any filter parameters are invalid. parameters: - name: filter in: query description: Filter roles returned in the response. required: false schema: type: object properties: entity_id: $ref: '#/components/schemas/StringFieldEqualsFilter' role_name: $ref: '#/components/schemas/StringFieldEqualsFilter' entity_type_name: $ref: '#/components/schemas/StringFieldEqualsFilter' style: deepObject responses: '200': $ref: '#/components/responses/AssignedRoleCollection' '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - System Accounts - Roles post: x-speakeasy-entity-operation: terraform-resource: SystemAccountRole#create terraform-datasource: null operationId: post-system-accounts-accountId-assigned-roles summary: Create Assigned Role for System Account description: Assigns a role to a system account. Returns 409 if role is already assigned. requestBody: $ref: '#/components/requestBodies/AssignRole' responses: '201': $ref: '#/components/responses/AssignedRoleSingle' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/IdentityNotFound' '409': $ref: '#/components/responses/IdentityConflict' servers: - url: 'https://global.api.konghq.com/' tags: - System Accounts - Roles '/v3/system-accounts/{accountId}/assigned-roles/{roleId}': parameters: - name: accountId in: path description: ID of the system account. required: true schema: type: string - name: roleId in: path description: ID of the role. required: true schema: type: string x-speakeasy-match: id get: x-speakeasy-entity-operation: terraform-resource: SystemAccountRole#read terraform-datasource: null operationId: get-system-account-role summary: Get System Account Role description: Returns the assigned role for the specified ID. responses: '200': $ref: '#/components/responses/AssignedRoleSingle' '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/IdentityPermissionDenied' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - System Accounts - Roles delete: x-speakeasy-entity-operation: terraform-resource: SystemAccountRole#delete terraform-datasource: null operationId: delete-system-accounts-accountId-assigned-roles-roleId summary: Delete Assigned Role from System Account description: Removes an assigned role from a system account. Returns 404 if the system account or assigned role were not found. responses: '204': description: No Content '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - System Accounts - Roles '/v3/system-accounts/{accountId}/teams': parameters: - name: accountId in: path description: ID of the system account. required: true schema: type: string get: operationId: get-system-accounts-accountId-teams summary: List Teams for a System Account description: Returns a paginated list of a teams that the system account belongs to. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - name: filter in: query description: Filter teams returned in the response. required: false schema: type: object properties: name: $ref: '#/components/schemas/LegacyStringFieldFilter' style: deepObject responses: '200': $ref: '#/components/responses/TeamCollection' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - System Accounts - Team Membership /v3/teams: get: x-speakeasy-entity-operation: terraform-datasource: - Team#read - TeamList#read operationId: list-teams summary: List Teams description: Returns an array of team objects containing information about the Konnect Teams. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - name: filter in: query description: Filter teams returned in the response. required: false schema: type: object properties: name: $ref: '#/components/schemas/LegacyStringFieldFilter' style: deepObject responses: '200': $ref: '#/components/responses/TeamCollection' '400': $ref: '#/components/responses/IdentityBadRequest' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Teams 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 post: x-speakeasy-entity-operation: terraform-resource: Team#create terraform-datasource: null operationId: create-team summary: Create Team description: 'Creates a team in the Konnect Organization. ' requestBody: $ref: '#/components/requestBodies/CreateTeam' responses: '201': $ref: '#/components/responses/TeamSingle' '400': $ref: '#/components/responses/IdentityBadRequest' '403': $ref: '#/components/responses/IdentityPermissionDenied' servers: - url: 'https://global.api.konghq.com/' tags: - Teams '/v3/teams/{teamId}': parameters: - name: teamId in: path description: The team 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: Team#read terraform-datasource: null operationId: get-team summary: Get a Team description: Returns information about a team from a given team ID. responses: '200': $ref: '#/components/responses/TeamSingle' '400': $ref: '#/components/responses/IdentityBadRequest' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Teams patch: x-speakeasy-entity-operation: terraform-resource: Team#update terraform-datasource: null operationId: update-team summary: Update Team description: Updates an individual team. requestBody: $ref: '#/components/requestBodies/UpdateTeam' responses: '200': $ref: '#/components/responses/TeamSingle' '400': $ref: '#/components/responses/IdentityBadRequest' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Teams delete: x-speakeasy-entity-operation: terraform-resource: Team#delete terraform-datasource: null operationId: delete-team summary: Delete Team description: Deletes an individual team. Returns 404 if the team is not found. responses: '204': description: No Content '400': $ref: '#/components/responses/IdentityBadRequest' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Teams '/v3/teams/{teamId}/assigned-roles': parameters: - name: teamId in: path description: The team ID required: true schema: type: string format: uuid example: e81bc3e5-e9db-4764-b7dd-e81e39072cbe get: operationId: list-team-roles summary: List Team Roles description: Lists the roles belonging to a team. Returns 400 if any filter parameters are invalid. parameters: - name: filter in: query description: Filter roles returned in the response. required: false schema: type: object properties: role_name: $ref: '#/components/schemas/StringFieldEqualsFilter' entity_type_name: $ref: '#/components/schemas/StringFieldEqualsFilter' style: deepObject responses: '200': $ref: '#/components/responses/AssignedRoleCollection' '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/IdentityPermissionDenied' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Roles post: x-speakeasy-entity-operation: terraform-resource: TeamRole#create terraform-datasource: null operationId: teams-assign-role summary: Assign Team Role description: Assigns a role to a team. Returns 409 if role is already assigned. requestBody: $ref: '#/components/requestBodies/AssignRole' responses: '201': $ref: '#/components/responses/AssignedRoleSingle' '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/IdentityPermissionDenied' '404': $ref: '#/components/responses/IdentityNotFound' '409': $ref: '#/components/responses/IdentityConflict' servers: - url: 'https://global.api.konghq.com/' tags: - Roles '/v3/teams/{teamId}/assigned-roles/{roleId}': parameters: - name: teamId in: path description: The team ID. required: true schema: type: string format: uuid example: e81bc3e5-e9db-4764-b7dd-e81e39072cbe - name: roleId in: path description: The role ID. required: true schema: type: string format: uuid example: 8350205f-a305-4e39-abe9-bc082a80091a x-speakeasy-match: id get: x-speakeasy-entity-operation: terraform-resource: TeamRole#read terraform-datasource: null operationId: get-team-role summary: Get Team Role description: Returns the assigned role for the specified ID. responses: '200': $ref: '#/components/responses/AssignedRoleSingle' '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/IdentityPermissionDenied' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Roles delete: x-speakeasy-entity-operation: terraform-resource: TeamRole#delete terraform-datasource: null operationId: teams-remove-role summary: Remove Team Role description: Removes an assigned role from a team. Returns 404 if the requested team or assigned role were not found. responses: '204': description: No Content '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/IdentityPermissionDenied' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Roles '/v3/teams/{teamId}/system-accounts': parameters: - name: teamId in: path description: ID of the team. required: true schema: type: string get: operationId: get-teams-teamId-system-accounts summary: List System Accounts on a Team description: Returns a paginated list of system accounts that belong to the team specified in the path parameter. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - name: filter in: query description: Filter system accounts returned in the response. required: false schema: type: object properties: name: $ref: '#/components/schemas/LegacyStringFieldFilter' style: deepObject responses: '200': $ref: '#/components/responses/SystemAccountCollection' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - System Accounts - Team Membership post: x-speakeasy-entity-operation: terraform-resource: SystemAccountTeam#create terraform-datasource: null operationId: post-teams-teamId-system-accounts summary: Add System Account to a Team description: Adds a system account to a team. Returns a 409 if the system account is already a member of the team. requestBody: $ref: '#/components/requestBodies/AddSystemAccountToTeam' responses: '201': description: Created '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/IdentityNotFound' '409': $ref: '#/components/responses/IdentityConflict' servers: - url: 'https://global.api.konghq.com/' tags: - System Accounts - Team Membership '/v3/teams/{teamId}/system-accounts/{accountId}': parameters: - name: teamId in: path description: ID of the team. required: true schema: type: string - name: accountId in: path description: ID of the system account. required: true schema: type: string delete: x-speakeasy-entity-operation: terraform-resource: SystemAccountTeam#delete terraform-datasource: null operationId: delete-teams-teamId-system-accounts-accountId summary: Remove System Account From Team description: Removes a system account from a team. Returns 404 if the team or system account were not found. responses: '204': description: No Content '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - System Accounts - Team Membership '/v3/teams/{teamId}/users': parameters: - name: teamId in: path description: ID of the team. required: true schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a get: operationId: list-team-users summary: List Team Users description: Returns a paginated list of users that belong to the team specified in the path parameter. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - name: filter in: query description: Filter users returned in the response. required: false schema: type: object properties: id: $ref: '#/components/schemas/StringFieldEqualsFilter' email: $ref: '#/components/schemas/LegacyStringFieldFilter' full_name: $ref: '#/components/schemas/LegacyStringFieldFilter' active: $ref: '#/components/schemas/BooleanFieldFilter' style: deepObject responses: '200': $ref: '#/components/responses/UserCollection' '400': $ref: '#/components/responses/IdentityBadRequest' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Team Membership post: x-speakeasy-entity-operation: terraform-resource: TeamUser#create terraform-datasource: null operationId: add-user-to-team summary: Add User description: Adds a user to a team. requestBody: $ref: '#/components/requestBodies/AddUserToTeam' responses: '201': description: Created '400': $ref: '#/components/responses/IdentityBadRequest' '404': $ref: '#/components/responses/IdentityNotFound' '409': $ref: '#/components/responses/IdentityConflict' servers: - url: 'https://global.api.konghq.com/' tags: - Team Membership '/v3/teams/{teamId}/users/{userId}': parameters: - name: userId in: path description: User ID required: true schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a - name: teamId in: path description: Team ID. required: true schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a delete: x-speakeasy-entity-operation: terraform-resource: TeamUser#delete terraform-datasource: null operationId: remove-user-from-team summary: Remove User description: |- Removes a user from a team. If the user was removed, returns a 204 empty response. Returns 404 if the user or team were not found. responses: '204': description: No Content '400': $ref: '#/components/responses/IdentityBadRequest' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Team Membership /v3/users: get: operationId: list-users summary: List Users description: Returns a paginated list of user objects. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - name: filter in: query description: Filter users returned in the response. required: false schema: type: object properties: id: $ref: '#/components/schemas/StringFieldEqualsFilter' email: $ref: '#/components/schemas/LegacyStringFieldFilter' full_name: $ref: '#/components/schemas/LegacyStringFieldFilter' active: $ref: '#/components/schemas/BooleanFieldFilter' style: deepObject responses: '200': $ref: '#/components/responses/UserCollection' '400': $ref: '#/components/responses/IdentityBadRequest' servers: - url: 'https://global.api.konghq.com/' tags: - Users '/v3/users/{userId}': parameters: - name: userId in: path description: The ID of the user being deleted. required: true schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a get: operationId: get-user summary: Get a User description: Returns the user object for the user ID specified as a path parameter. responses: '200': $ref: '#/components/responses/UserSingle' '400': $ref: '#/components/responses/IdentityBadRequest' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Users patch: operationId: update-user summary: Update User description: Update an individual user. requestBody: $ref: '#/components/requestBodies/UpdateUser' responses: '200': $ref: '#/components/responses/UserSingle' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/IdentityPermissionDenied' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Users delete: operationId: delete-user summary: Delete User description: Deletes an individual user. Returns 404 if the requested user was not found. responses: '204': description: No Content '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Users '/v3/users/{userId}/access-tokens': parameters: - $ref: '#/components/parameters/userId' get: operationId: list-users-personal-access-tokens summary: List PATs description: List personal access tokens for a user. responses: '200': $ref: '#/components/responses/PersonalAccessTokenListResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/responses-Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' security: - personalAccessToken: [] - konnectAccessToken: [] - serviceAccessToken: [] servers: - url: 'https://global.api.konghq.com/' tags: - Personal Access Tokens post: operationId: create-personal-access-token summary: Create a new personal access token description: Create a new personal access token. A maximum of 10 personal access tokens can be created. requestBody: $ref: '#/components/requestBodies/PersonalAccessTokenCreateRequest' responses: '201': $ref: '#/components/responses/PersonalAccessTokenCreateResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/responses-Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' security: - personalAccessToken: [] - konnectAccessToken: [] servers: - url: 'https://global.api.konghq.com/' tags: - Personal Access Tokens '/v3/users/{userId}/access-tokens/{tokenId}': parameters: - $ref: '#/components/parameters/userId' - name: tokenId in: path description: ID of the personal access token. required: true schema: $ref: '#/components/schemas/UUID' get: operationId: get-personal-access-token-details summary: Get Personal Access Token details description: Get Personal Access Token details. responses: '200': $ref: '#/components/responses/PersonalAccessTokenResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/responses-Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' security: - personalAccessToken: [] - konnectAccessToken: [] - serviceAccessToken: [] servers: - url: 'https://global.api.konghq.com/' tags: - Personal Access Tokens patch: operationId: update-personal-access-token-details summary: Update personal access token details description: Update personal access token details. requestBody: $ref: '#/components/requestBodies/PersonalAccessTokenUpdateRequest' responses: '200': $ref: '#/components/responses/PersonalAccessTokenResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/responses-Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' security: - personalAccessToken: [] - konnectAccessToken: [] servers: - url: 'https://global.api.konghq.com/' tags: - Personal Access Tokens delete: operationId: delete-personal-access-token summary: Delete personal access token description: Delete personal access token. responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/responses-Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' security: - personalAccessToken: [] - konnectAccessToken: [] servers: - url: 'https://global.api.konghq.com/' tags: - Personal Access Tokens '/v3/users/{userId}/access-tokens/{tokenId}/revoke': parameters: - $ref: '#/components/parameters/userId' - name: tokenId in: path description: ID of the personal access token. required: true schema: $ref: '#/components/schemas/UUID' patch: operationId: revoke-personal-access-token summary: Revoke Personal Access Token description: Revoke Personal Access Token. responses: '200': $ref: '#/components/responses/PersonalAccessTokenResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/responses-Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' security: - personalAccessToken: [] - konnectAccessToken: [] - serviceAccessToken: [] servers: - url: 'https://global.api.konghq.com/' tags: - Personal Access Tokens '/v3/users/{userId}/assigned-roles': parameters: - name: userId in: path description: The user ID required: true schema: type: string format: uuid example: e81bc3e5-e9db-4764-b7dd-e81e39072cbe get: operationId: list-user-roles summary: List User Roles description: Lists the roles assigned to a user. Returns 400 if any filter parameters are invalid. parameters: - name: filter in: query description: Filter roles returned in the response. required: false schema: type: object properties: entity_id: $ref: '#/components/schemas/StringFieldEqualsFilter' role_name: $ref: '#/components/schemas/StringFieldEqualsFilter' entity_type_name: $ref: '#/components/schemas/StringFieldEqualsFilter' style: deepObject responses: '200': $ref: '#/components/responses/AssignedRoleCollection' '400': $ref: '#/components/responses/IdentityBadRequest' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Roles post: operationId: users-assign-role summary: Assign Role description: Assigns a role to a user. Returns 409 if role is already assigned. requestBody: $ref: '#/components/requestBodies/AssignRole' responses: '201': $ref: '#/components/responses/AssignedRoleSingle' '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/IdentityPermissionDenied' '404': $ref: '#/components/responses/IdentityNotFound' '409': $ref: '#/components/responses/IdentityConflict' servers: - url: 'https://global.api.konghq.com/' tags: - Roles '/v3/users/{userId}/assigned-roles/{roleId}': parameters: - name: userId in: path description: ID of the user. required: true schema: type: string format: uuid example: e81bc3e5-e9db-4764-b7dd-e81e39072cbe - name: roleId in: path description: ID of the role. required: true schema: type: string format: uuid example: 8350205f-a305-4e39-abe9-bc082a80091a x-speakeasy-match: id get: operationId: get-user-role summary: Get User Role description: Returns the assigned role for the specified ID. responses: '200': $ref: '#/components/responses/AssignedRoleSingle' '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/IdentityPermissionDenied' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Roles delete: operationId: users-remove-role summary: Remove Role description: Removes an assigned role from a user. Returns 404 if the requested user or assigned role were not found. responses: '204': description: No Content '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Roles '/v3/users/{userId}/teams': parameters: - name: userId in: path description: The user ID. required: true schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a get: operationId: list-user-teams summary: List User Teams description: Returns a paginated list of a teams that the user belongs to. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - name: filter in: query description: Filter teams returned in the response. required: false schema: type: object properties: name: $ref: '#/components/schemas/LegacyStringFieldFilter' style: deepObject responses: '200': $ref: '#/components/responses/TeamCollection' '404': $ref: '#/components/responses/IdentityNotFound' servers: - url: 'https://global.api.konghq.com/' tags: - Team Membership /v3/users/me: get: operationId: get-users-me summary: Get My User Account description: Returns the user account for the user identified in the token of the request. responses: '200': $ref: '#/components/responses/UserSingle' '401': $ref: '#/components/responses/IdentityUnauthenticated' security: - personalAccessToken: [] - konnectAccessToken: [] servers: - url: 'https://global.api.konghq.com/' tags: - Me components: parameters: ACLId: description: ID of the ACL to lookup example: f28acbfa-c866-4587-b688-0208ac24df21 in: path name: ACLId required: true schema: type: string 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 AddOnsFilter: name: filter description: Filters supported for add-ons. required: false in: query schema: $ref: '#/components/schemas/AddOnsFilterParameters' style: deepObject ApiAttributeFilters: name: filter description: Filters API attributes in the response. required: false in: query schema: $ref: '#/components/schemas/ApiAttributeFilterParameters' style: deepObject ApiAttributeSort: name: sort description: | Sorts a collection of API attributes. Supported sort attributes are: - id - key - created_at - updated_at required: false in: query schema: $ref: '#/components/schemas/SortQuery' ApiDocumentFilters: name: filter description: Filters API Documents in the response. required: false in: query schema: $ref: '#/components/schemas/ApiDocumentFilterParameters' style: deepObject ApiFilters: name: filter description: Filters APIs in the response. required: false in: query schema: $ref: '#/components/schemas/ApiFilterParameters' style: deepObject ApiId: schema: type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 name: apiId in: path required: true description: The UUID API identifier ApiImplementationFilters: name: filter description: Filters APIs in the response. required: false in: query schema: $ref: '#/components/schemas/ApiImplementationFilterParameters' style: deepObject ApiImplementationSort: name: sort description: | Sorts a collection of API implementations. Supported sort attributes are: - id - api_id - control_plane_id - service_id - created_at - updated_at required: false in: query schema: $ref: '#/components/schemas/SortQuery' ApiOperationFilters: name: filter description: Filters API Operations in the response. required: false in: query schema: $ref: '#/components/schemas/ApiOperationFilterParameters' style: deepObject ApiPackageFilters: name: filter description: Filters API Packages in the response. required: false in: query schema: $ref: '#/components/schemas/ApiPackageFilterParameters' style: deepObject ApiPackageId: schema: type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 name: apiPackageId in: path required: true description: The UUID API Package identifier ApiPackageOperationsFilters: name: filter description: Filters API Packages operations in the response. required: false in: query schema: $ref: '#/components/schemas/ApiPackageOperationsFilterParameters' style: deepObject ApiPackageOperationsSort: name: sort description: | Sorts a collection of API Packages Operations. Supported sort attributes are: - path - method - api_id - created_at - updated_at required: false in: query schema: $ref: '#/components/schemas/SortQuery' ApiPackageSort: name: sort description: | Sorts a collection of API Packages. Supported sort attributes are: - name - version - created_at - updated_at required: false in: query schema: $ref: '#/components/schemas/SortQuery' ApiPublicationFilters: name: filter description: Filters API Publications in the response. required: false in: query schema: $ref: '#/components/schemas/ApiPublicationFilterParameters' style: deepObject ApiPublicationSort: name: sort description: | Sorts a collection of API publications. Supported sort attributes are: - portal_id - portal_name - api_id - api_name - created_at - updated_at required: false in: query schema: $ref: '#/components/schemas/SortQuery' ApiSort: name: sort description: | Sorts a collection of APIs. Supported sort attributes are: - name - version - created_at - updated_at required: false in: query schema: $ref: '#/components/schemas/SortQuery' ApiSpecFilters: name: filter description: Filters API Specs in the response. required: false in: query schema: $ref: '#/components/schemas/ApiSpecFilterParameters' style: deepObject ApiVersionFilters: name: filter description: Filters API Version in the response. required: false in: query schema: $ref: '#/components/schemas/ApiVersionFilterParameters' style: deepObject ApiVersionSort: name: sort description: | Sorts a collection of API versions. Supported sort attributes are: - created_at required: false in: query schema: $ref: '#/components/schemas/SortQuery' ApplicationId: name: applicationId in: path required: true description: ID of the application. schema: type: string format: uuid AuthStrategyId: name: authStrategyId description: Application auth strategy identifier in: path required: true schema: $ref: '#/components/schemas/UUID' x-speakeasy-match: id BasicAuthId: description: ID of the Basic-auth credential to lookup example: 80db1b58-ca7c-4d21-b92a-64eb07725872 in: path name: BasicAuthId required: true schema: type: string CACertificateId: description: ID of the CA Certificate to lookup example: 3c31f18a-f27a-4f9b-8cd4-bf841554612f in: path name: CACertificateId required: true schema: type: string CatalogApiServiceMappingFilter: name: filter in: query required: false style: deepObject description: | Filters a collection of catalog API service mappings for a given API. Supported filter attributes are: - `service_id` schema: $ref: '#/components/schemas/CatalogApiServiceMappingFilterParameters' CatalogIntegrationFilter: name: filter description: Filters a collection of integrations. required: false in: query style: deepObject schema: $ref: '#/components/schemas/CatalogIntegrationFilterParameters' CatalogIntegrationSort: name: sort description: | Sorts a collection of integrations. Supported sort attributes are: - `display_name` - `name` Default sort is `display_name` in ascending order. required: false in: query schema: $ref: '#/components/schemas/SortQuery' CatalogResourceFilter: name: filter description: Filters a collection of resources. required: false in: query style: deepObject schema: $ref: '#/components/schemas/CatalogResourceFilterParameters' CatalogResourceMappingFilter: name: filter description: Filters a collection of resource mappings. required: false in: query style: deepObject schema: $ref: '#/components/schemas/CatalogResourceMappingFilterParameters' CatalogResourceMappingSort: name: sort description: | Sorts a collection of resource mappings. Supported sort attributes are: - `created_at` Default sort is `created_at` in descending order. required: false in: query schema: $ref: '#/components/schemas/SortQuery' CatalogResourceRefFilter: name: filter description: Filters a collection of resources. required: false in: query style: deepObject schema: $ref: '#/components/schemas/CatalogResourceRefFilterParameters' CatalogResourceSort: name: sort description: | Sorts a collection of resources. Supported sort attributes are: - `created_at` - `updated_at` Default sort is `created_at` in descending order. required: false in: query schema: $ref: '#/components/schemas/SortQuery' CatalogServiceApiMappingFilter: name: filter in: query required: false style: deepObject description: | Filters a collection of catalog service API mappings for a given Service. Supported filter attributes are: - `api_id` schema: $ref: '#/components/schemas/CatalogServiceApiMappingFilterParameters' CatalogServiceApiMappingSort: name: sort in: query required: false description: | Sorts a collection of catalog service API mappings. Supported sort attributes are: - `created_at` - `updated_at` Default sort is `created_at` in descending order. schema: $ref: '#/components/schemas/SortQuery' CatalogServiceFilter: name: filter description: Filters a collection of services. required: false in: query style: deepObject schema: $ref: '#/components/schemas/CatalogServiceFilterParameters' CatalogServiceSort: name: sort description: | Sorts a collection of services. Supported sort attributes are: - `display_name` - `name` - `created_at` - `updated_at` Default sort is `display_name` in ascending order. required: false in: query schema: $ref: '#/components/schemas/SortQuery' CertificateId: description: ID of the Certificate to lookup example: ddf3cdaa-3329-4961-822a-ce6dbd38eff7 in: path name: CertificateId required: true schema: type: string configStoreId: schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a name: configStoreId in: path required: true description: Config Store identifier x-speakeasy-match: id ConfigurationFilter: name: filter description: Filters a collection of configurations. required: false in: query schema: $ref: '#/components/schemas/ConfigurationFilterParameters' style: deepObject ConfigurationId: name: configurationId in: path description: The ID of the configuration to operate on. required: true schema: $ref: '#/components/schemas/ConfigurationId' x-speakeasy-match: id ConfigurationsFilter: name: filter description: Filters supported for configurations. required: false in: query schema: $ref: '#/components/schemas/ConfigurationsFilterParameters' style: deepObject ConsumerGroupId: description: ID of the Consumer Group to lookup example: '' in: path name: ConsumerGroupId required: true schema: type: string ConsumerGroupIdManageConsumers: description: The UUID or name of the consumer group in: path name: ConsumerGroupId required: true schema: type: string example: cf4c7e60-11db-49dd-b300-7c7e5f0f7e6b x-speakeasy-name-override: consumer_group_id ConsumerId: description: ID of the Consumer to lookup example: c1059869-6fa7-4329-a5f5-5946d14ca2c5 in: path name: ConsumerId required: true schema: type: string ConsumerIdForNestedEntities: description: Consumer ID for nested entities example: '' in: path name: ConsumerIdForNestedEntities required: true schema: type: string ControlPlaneFilter: name: filter description: Filters a collection of control-planes. required: false in: query schema: $ref: '#/components/schemas/ControlPlaneFilterParameters' style: deepObject controlPlaneId: name: controlPlaneId in: path required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 description: The UUID of your control plane. This variable is available in the Konnect manager. x-speakeasy-param-force-new: true ControlPlaneSort: name: sort description: | Sorts a collection of control-planes. Supported sort attributes are: - created_at required: false in: query schema: $ref: '#/components/schemas/SortQuery' CriteriaTemplateFilter: name: filter description: Filters a collection of criteria templates. required: false in: query style: deepObject schema: $ref: '#/components/schemas/CriteriaTemplateFilterParameters' CriteriaTemplateSort: name: sort description: | Sorts a collection of criteria templates. Supported sort attributes are: - `display_name` - `name` Default sort is `display_name` in ascending order. required: false in: query schema: $ref: '#/components/schemas/SortQuery' CursorPageQuery: name: page description: Determines which page of the collection to retrieve. required: false in: query schema: $ref: '#/components/schemas/CursorPageParameters' CustomDomainId: name: customDomainId description: ID of the custom domain to operate on. required: true in: path schema: $ref: '#/components/schemas/CustomDomainId' x-speakeasy-match: id CustomDomainsFilter: name: filter description: Filters supported for custom domains on the global API. required: false in: query schema: $ref: '#/components/schemas/CustomDomainsFilterParameters' style: deepObject CustomId: description: Filter consumers by their custom_id. example: my-custom-id in: query name: custom_id schema: type: string CustomPluginId: description: ID of the CustomPlugin to lookup example: '' in: path name: CustomPluginId required: true schema: type: string DashboardListFilters: name: filter description: Filters dashboards in the response. required: false in: query schema: $ref: '#/components/schemas/DashboardFilterParameters' style: deepObject DashboardSort: name: sort required: false in: query schema: allOf: - $ref: '#/components/schemas/SortQuery' - description: | Sorts a collection of dashboards. Supported sort attributes are: - name - created_at - updated_at The `asc` suffix is optional as the default sort order is ascending. The `desc` suffix is used to specify a descending order. Multiple sort attributes may be provided via a comma separated list. DataPlaneCertificateId: name: certificateId in: path schema: type: string required: true x-speakeasy-match: id DcrProviderId: name: dcrProviderId description: DCR provider identifier in: path required: true schema: $ref: '#/components/schemas/UUID' Degraphql_routeId: description: ID of the Degraphql_route to lookup example: '' in: path name: Degraphql_routeId required: true schema: type: string DeveloperId: schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a name: developerId in: path required: true description: ID of the developer. 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 EmailDomain: name: emailDomain in: path required: true description: Email domain for custom portal email sender schema: type: string EmailTemplateName: name: templateName description: Name of the email template. in: path required: true schema: $ref: '#/components/schemas/EmailTemplateName' EventGatewayCommonFilter: schema: type: object properties: name: $ref: '#/components/schemas/StringFieldContainsFilter' in: query name: filter description: Filter documents returned in the response. required: false style: deepObject 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 EventGatewayListenersFilter: schema: type: object properties: name: $ref: '#/components/schemas/StringFieldContainsFilter' virtual_cluster_id: $ref: '#/components/schemas/StringFieldEqualsFilter' in: query name: filter description: Filter listeners returned in the response. required: false style: deepObject eventGatewayNodeId: schema: type: string format: uuid name: eventGatewayNodeId in: path required: true description: The ID of the Event Gateway Node. 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 EventGatewayPolicyListFilter: schema: type: object properties: parent_policy_id: description: The ID of the parent policy. type: string in: query name: filter description: Filter policies returned in the response. required: false style: deepObject eventId: name: eventId in: path required: true description: Formatted string ID of the notification event. schema: type: string example: invoice-ready ExpandPartials: description: Expand partials for the plugin. example: true in: query name: expand_partials schema: type: boolean FilterByLabels: x-speakeasy-name-override: filter_labels name: labels description: Filter control planes in the response by associated labels. in: query required: false schema: type: string example: 'key:value,existCheck' FilterDcrProvidersById: name: 'filter[id][eq]' description: filters DCR Providers by their id in: query required: false schema: type: string FilterDcrProvidersByIdContains: name: 'filter[id][contains]' description: filters DCR Providers by their id with a supplied substring in: query required: false schema: type: string FilterDcrProvidersByIdShort: name: 'filter[id]' description: 'filters DCR Providers by their id (alias for filter[id][eq])' in: query required: false schema: type: string FilterDcrProvidersByInitialClientAudience: name: 'filter[initial_client_audience][eq]' description: filters DCR Providers by their initial client audience in: query required: false schema: type: string FilterDcrProvidersByInitialClientAudienceContains: name: 'filter[initial_client_audience][contains]' description: filters DCR Providers by their initial client audience with a supplied substring in: query required: false schema: type: string FilterDcrProvidersByInitialClientAudienceShort: name: 'filter[initial_client_audience]' description: 'filters DCR Providers by their initial client audience (alias for filter[initial_client_audience][eq])' in: query required: false schema: type: string FilterDcrProvidersByInitialClientId: name: 'filter[initial_client_id][eq]' description: filters DCR Providers by their initial client id in: query required: false schema: type: string FilterDcrProvidersByInitialClientIdContains: name: 'filter[initial_client_id][contains]' description: filters DCR Providers by their initial client id with a supplied substring in: query required: false schema: type: string FilterDcrProvidersByInitialClientIdShort: name: 'filter[initial_client_id]' description: 'filters DCR Providers by their initial client id (alias for filter[initial_client_id][eq])' in: query required: false schema: type: string FilterDcrProvidersByIssuer: name: 'filter[issuer][eq]' description: filters DCR Providers by their issuer in: query required: false schema: type: string FilterDcrProvidersByIssuerContains: name: 'filter[issuer][contains]' description: filters DCR Providers by their issuer with a supplied substring in: query required: false schema: type: string FilterDcrProvidersByIssuerShort: name: 'filter[issuer]' description: 'filters DCR Providers by their issuer (alias for filter[issuer][eq])' in: query required: false schema: type: string FilterDcrProvidersByName: name: 'filter[name][eq]' description: filters DCR Providers by their name in: query required: false schema: type: string FilterDcrProvidersByNameContains: name: 'filter[name][contains]' description: filters DCR Providers by their name with a supplied substring in: query required: false schema: type: string FilterDcrProvidersByNameShort: name: 'filter[name]' description: 'filters DCR Providers by their name (alias for filter[name][eq])' in: query required: false schema: type: string FilterDcrProvidersByProviderType: name: 'filter[provider_type][eq]' description: filters DCR Providers by their provider type in: query required: false schema: type: string FilterDcrProvidersByProviderTypeShort: name: 'filter[provider_type]' description: 'filters DCR Providers by their provider type (alias for filter[provider_type][eq])' in: query required: false schema: type: string gatewayId: name: gatewayId in: path required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 description: The UUID of your Gateway. GraphQLCostDecorationId: description: ID of the GraphQL Cost Decoration to lookup example: '' in: path name: GraphQLCostDecorationId required: true schema: type: string HMACAuthId: description: ID of the HMAC-auth credential to lookup example: 70e7b00b-72f2-471b-a5ce-9c4171775360 in: path name: HMACAuthId required: true schema: type: string IdentityProviderId: schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a name: id in: path required: true description: ID of the identity provider. ImageType: schema: $ref: '#/components/schemas/ImageTypeSchema' name: imageType in: path required: true description: The Supported image type. 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 IntegrationInstanceFilter: name: filter description: Filters a collection of integration instances. required: false in: query style: deepObject schema: $ref: '#/components/schemas/IntegrationInstanceFilterParameters' IntegrationInstanceSort: name: sort description: | Sorts a collection of integration instances. Supported sort attributes are: - `display_name` - `name` - `created_at` - `updated_at` - `integration.display_name` Default sort is `integration.display_name` in ascending order. required: false in: query schema: $ref: '#/components/schemas/SortQuery' JWTId: description: ID of the JWT to lookup example: 4a7f5faa-8c96-46d6-8214-c87573ef2ac4 in: path name: JWTId required: true schema: type: string KeyAuthId: description: ID of the API-key to lookup example: '' in: path name: KeyAuthId required: true schema: type: string KeyId: description: ID of the Key to lookup example: bba22c06-a632-42be-a018-1b9ff357b5b9 in: path name: KeyId required: true schema: type: string KeySetId: description: ID of the KeySet to lookup example: 6cc34248-50b4-4a81-9201-3bdf7a83f712 in: path name: KeySetId required: true schema: type: string ListConsumers: description: Expand the consumer group to include a list of its consumers. example: false in: query name: list_consumers schema: type: boolean MCPCapabilities: name: capabilities in: query style: deepObject explode: true description: | Capability requests as a deepObject map. - Keys are capability names (e.g. `mcp`). - Values contain the capability request fields (`version`). schema: $ref: '#/components/schemas/MCPCapabilitiesMap' example: mcp: version: '5' MCPServerCommonFilter: schema: type: object properties: name: $ref: '#/components/schemas/StringFieldContainsFilter' in: query name: filter description: Filter documents returned in the response. required: false style: deepObject mcpServerId: name: mcpServerId in: path required: true description: The ID of the MCP server. schema: type: string format: uuid MTLSAuthId: description: ID of the MTLS-auth credential to lookup example: '' in: path name: MTLSAuthId required: true schema: type: string NameContainsFilter: description: Filter routes by a substring of the name. example: john in: query name: 'filter[name][contains]' schema: type: string NameEqualsFilter: description: Filter routes by their name. example: john in: query name: 'filter[name][eq]' schema: type: string NetworkId: name: networkId in: path description: The network to operate on. required: true schema: $ref: '#/components/schemas/NetworkId' x-speakeasy-match: id NetworksFilter: name: filter description: Filters supported for networks. required: false in: query schema: $ref: '#/components/schemas/NetworksFilterParameters' style: deepObject nodeId: schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a name: nodeId in: path required: true description: Node identifier NotificationFilter: name: filter description: Filters a collection of notifications. required: false in: query schema: $ref: '#/components/schemas/NotificationFilterParameters' style: deepObject notificationId: name: notificationId in: path required: true description: ID of the notification. schema: type: string OperationId: schema: type: string format: uuid example: b42d905a-ed33-46a3-a093-d8f536af9a8a name: operationId in: path required: true description: The API operation identifier x-speakeasy-match: id PageAfter: name: 'page[after]' description: 'Request the next page of data, starting with the item after this parameter.' required: false in: query allowEmptyValue: true schema: type: string example: ewogICJpZCI6ICJoZWxsbyB3b3JsZCIKfQ PageBefore: name: 'page[before]' description: 'Request the next page of data, starting with the item before this parameter.' required: false in: query allowEmptyValue: true schema: type: string example: ewogICJpZCI6ICJoZWxsbyB3b3JsZCIKfQ 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 PagePaginationQuery: name: page in: query required: false description: Determines which page of the collection to retrieve. schema: type: object properties: size: description: The number of items to include per page. type: integer number: description: The page number. type: integer style: deepObject PageSize: name: 'page[size]' description: The maximum number of items to include per page. The last page of a collection may include fewer items. required: false in: query allowEmptyValue: true schema: type: integer example: 10 x-speakeasy-terraform-ignore: true pagination-size: description: Number of resources to be returned. in: query name: size schema: type: integer default: 100 maximum: 1000 minimum: 1 pagination-tags-filter: description: 'A list of tags to filter the list of resources on. Multiple tags can be concatenated using '','' to mean AND or using ''/'' to mean OR.' example: 'tag1,tag2' in: query name: tags schema: type: string PaginationOffset: allowEmptyValue: true description: Offset from which to return the next set of resources. Use the value of the 'offset' field from the response of a list operation as input here to paginate through all the resources in: query name: offset schema: type: string PaginationSize: description: Number of resources to be returned. in: query name: size schema: type: integer default: 100 maximum: 1000 minimum: 1 PaginationTagsFilter: allowEmptyValue: true description: 'A list of tags to filter the list of resources on. Multiple tags can be concatenated using '','' to mean AND or using ''/'' to mean OR.' example: 'tag1,tag2' in: query name: tags schema: type: string PartialId: description: ID of the Partial to lookup example: '' in: path name: PartialId required: true schema: type: string PluginId: description: ID of the Plugin to lookup example: 3473c251-5b6c-4f45-b1ff-7ede735a366d in: path name: PluginId required: true schema: type: string policyId: name: policyId in: path required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 description: The UUID of the policy. PortalApiPublicationFilters: name: filter description: Filters API Publications in a portal response (excludes portal-specific filters). required: false in: query schema: $ref: '#/components/schemas/PortalApiPublicationFilterParameters' style: deepObject PortalApiPublicationSort: name: sort description: | Sorts a collection of API publications within a portal. Supported sort attributes are: - api_id - api_name - created_at - updated_at required: false in: query schema: $ref: '#/components/schemas/SortQuery' PortalId: schema: type: string format: uuid example: f32d905a-ed33-46a3-a093-d8f536af9a8a name: portalId in: path required: true description: ID of the portal. PrivateDnsFilter: name: filter description: Filters supported for Private DNS. required: false in: query schema: $ref: '#/components/schemas/PrivateDnsFilterParameters' style: deepObject PrivateDnsId: name: privateDnsId in: path description: The ID of the Private DNS to operate on. required: true schema: $ref: '#/components/schemas/PrivateDnsId' x-speakeasy-match: id ProviderAccountId: name: providerAccountId in: path description: The ID of the provider account to operate on. required: true schema: $ref: '#/components/schemas/ProviderAccountId' ProviderAccountsFilter: name: filter description: Filters supported for provider accounts. required: false in: query schema: $ref: '#/components/schemas/ProviderAccountsFilterParameters' style: deepObject RegistrationId: name: registrationId in: path required: true description: ID of the application registration. schema: type: string format: uuid ResourceConfigurationId: name: resourceConfigurationId in: path description: The ID of the resource configuration to operate on. required: true schema: $ref: '#/components/schemas/ResourceConfigurationId' ResourceQuotaId: name: resourceQuotaId in: path description: The ID of the resource quota to operate on. required: true schema: $ref: '#/components/schemas/ResourceQuotaId' RoleId: schema: type: string format: uuid example: 8350205f-a305-4e39-abe9-bc082a80091a name: roleId in: path required: true RouteId: description: ID of the Route to lookup example: a4326a41-aa12-44e3-93e4-6b6e58bfb9d7 in: path name: RouteId required: true schema: type: string ScorecardCriteriaFilter: name: filter description: Filters a collection of criteria belonging to a scorecard. required: false in: query style: deepObject schema: $ref: '#/components/schemas/ScorecardCriteriaFilterParameters' ScorecardCriteriaServiceFilter: name: filter description: Filters a collection of services targeted by a scorecard criteria. required: false in: query style: deepObject schema: $ref: '#/components/schemas/ScorecardCriteriaServiceFilterParameters' ScorecardCriteriaServiceSort: name: sort description: | Sorts a collection of services targeted by a scorecard criteria. Supported sort attributes are: - `display_name` - `name` - `evaluation.is_passing` - `evaluation.successfully_evaluated_at` - `evaluation.attempted_at` Default sort is `display_name` in ascending order. required: false in: query schema: $ref: '#/components/schemas/SortQuery' ScorecardCriteriaSort: name: sort description: | Sorts a collection of criteria belonging to a scorecard. Supported sort attributes are: - `evaluation.passing_services_count` By default, criteria will be returned in the order that they are configured in the scorecard. required: false in: query schema: $ref: '#/components/schemas/SortQuery' ScorecardFilter: name: filter description: Filters a collection of scorecards. required: false in: query style: deepObject schema: $ref: '#/components/schemas/ScorecardFilterParameters' ScorecardServiceFilter: name: filter description: Filters a collection of services targeted by a scorecard. required: false in: query style: deepObject schema: $ref: '#/components/schemas/ScorecardServiceFilterParameters' ScorecardServiceSort: name: sort description: | Sorts a collection of services targeted by a scorecard. Supported sort attributes are: - `display_name` - `name` - `score.value` - `score.raw_value` Default sort is `display_name` in ascending order. required: false in: query schema: $ref: '#/components/schemas/SortQuery' ScorecardSort: name: sort description: | Sorts a collection of scorecards. Supported sort attributes are: - `name` - `score.value` - `score.raw_value` Default sort is `name` in ascending order. required: false in: query schema: $ref: '#/components/schemas/SortQuery' ScorecardTemplateFilter: name: filter description: Filters a collection of scorecard templates. required: false in: query style: deepObject schema: $ref: '#/components/schemas/ScorecardTemplateFilterParameters' ScorecardTemplateSort: name: sort description: | Sorts a collection of scorecard templates. Supported sort attributes are: - `display_name` - `name` Default sort is `display_name` in ascending order. required: false in: query schema: $ref: '#/components/schemas/SortQuery' ServiceId: description: ID of the Service to lookup example: 7fca84d6-7d37-4a74-a7b0-93e576089a41 in: path name: ServiceId required: true schema: type: string SNIId: description: ID of the SNI to lookup example: 64c17a1a-b7d7-4a65-a5a4-42e4a7016e7f in: path name: SNIId required: true schema: type: string 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 SortAppAuthStrategies: name: sort description: | Sorts a collection of application auth strategies. Supported sort attributes are: - created_at - updated_at - strategy_type - name - display_name - dcr_provider_id - dcr_provider_name - dcr_provider_type in: query required: false schema: type: string SortApplicationDevelopers: name: sort description: | Sorts a set of developers for an application. Supported sort attributes are: - id in: query required: false schema: type: string SortApplicationRegistrations: name: sort description: | Sorts a set of registrations for an application. Supported sort attributes are: - created_at - updated_at - status in: query required: false schema: type: string SortApplications: name: sort description: | Sorts a collection of applications. Supported sort attributes are: - created_at - developer_id - name in: query required: false schema: type: string SortDcrProviders: name: sort description: | Sorts a collection of DCR Providers. Supported sort attributes are: - created_at - updated_at - provider_type - issuer - name in: query required: false schema: type: string SortDevelopers: name: sort description: | Sorts a collection of developers. Supported sort attributes are: - created_at - updated_at - email - name - status in: query required: false schema: type: string SortEmailDomains: name: sort description: | Sorts a collection of email domains. Supported sort attributes are: - domain - created_at - updated_at in: query required: false schema: type: string SortListAllApplicationRegistrations: name: sort description: | Sorts a collection of application registrations. Supported sort attributes are: - created_at - updated_at - developer_id - status in: query required: false schema: type: string SortPortalPages: name: sort description: | Sorts a collection of portal pages. Supported sort attributes are: - created_at - updated_at - slug - title - visibility in: query required: false schema: type: string 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 SortPortalSnippets: name: sort description: | Sorts a collection of portal snippets. Supported sort attributes are: - created_at - updated_at - name - title - visibility in: query required: false schema: type: string 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 subscriptionId: name: subscriptionId in: path required: true description: Subscription ID of the user configuration. schema: type: string TargetId: description: ID of the Target to lookup example: 5a078780-5d4c-4aae-984a-bdc6f52113d8 in: path name: TargetId required: true schema: type: string TeamGroupMappingId: name: mappingId in: path required: true description: ID of the team group mapping. schema: type: string format: uuid TeamId: x-speakeasy-match: id schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a name: teamId in: path required: true description: ID of the team. TransitGatewayId: name: transitGatewayId in: path description: The ID of the transit gateway to operate on. required: true schema: $ref: '#/components/schemas/TransitGatewayId' x-speakeasy-match: id TransitGatewaysFilter: name: filter description: Filters supported for transit gateways. required: false in: query schema: $ref: '#/components/schemas/TransitGatewaysFilterParameters' style: deepObject UpstreamId: description: ID of the Upstream to lookup example: 426d620c-7058-4ae6-aacc-f85a3204a2c5 in: path name: UpstreamId required: true schema: type: string UpstreamIdForTarget: description: ID or target of the Target to lookup example: 5a078780-5d4c-4aae-984a-bdc6f52113d8 in: path name: UpstreamIdForTarget required: true schema: type: string userId: name: userId in: path required: true description: ID of the user. x-go-name: userIdParam schema: $ref: '#/components/schemas/UUID' VaultId: description: ID of the Vault to lookup example: 9d4d6d19-77c6-428e-a965-9bc9647633e9 in: path name: VaultId required: true schema: type: string 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: GroupMembership: x-speakeasy-entity: GatewayControlPlaneMembership type: object properties: members: type: array items: type: object required: - id properties: id: type: string required: - members CreateControlPlaneRequest: x-speakeasy-entity: GatewayControlPlane description: The request schema for the create control plane request. type: object properties: name: description: The name of the control plane. type: string example: Test Control Plane description: description: The description of the control plane in Konnect. type: string example: A test control plane for exploration. nullable: false cluster_type: description: The ClusterType value of the cluster associated with the Control Plane. type: string example: CLUSTER_TYPE_CONTROL_PLANE enum: - CLUSTER_TYPE_CONTROL_PLANE - CLUSTER_TYPE_K8S_INGRESS_CONTROLLER - CLUSTER_TYPE_CONTROL_PLANE_GROUP - CLUSTER_TYPE_SERVERLESS - CLUSTER_TYPE_KAFKA_NATIVE_EVENT_PROXY - CLUSTER_TYPE_SERVERLESS_V1 x-speakeasy-unknown-values: allow auth_type: description: The auth type value of the cluster associated with the Runtime Group. type: string example: pinned_client_certs enum: - pinned_client_certs - pki_client_certs x-speakeasy-unknown-values: allow cloud_gateway: description: Whether this control-plane can be used for cloud-gateways. type: boolean example: false nullable: false proxy_urls: $ref: '#/components/schemas/ProxyURLs' labels: $ref: '#/components/schemas/Labels' additionalProperties: false required: - name title: CreateControlPlaneRequest UpdateControlPlaneRequest: description: The request schema for the update control plane request. type: object properties: name: description: The name of the control plane. type: string example: Test Control Plane description: description: The description of the control plane in Konnect. type: string example: A test control plane for exploration. nullable: false auth_type: description: The auth type value of the cluster associated with the Runtime Group. type: string example: pinned_client_certs enum: - pinned_client_certs - pki_client_certs x-speakeasy-unknown-values: allow proxy_urls: $ref: '#/components/schemas/ProxyURLs' labels: $ref: '#/components/schemas/Labels' additionalProperties: false title: UpdateControlPlaneRequest ControlPlane: x-speakeasy-entity: GatewayControlPlane description: The control plane object contains information about a Kong control plane. type: object properties: id: description: The control plane ID. type: string format: uuid example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 readOnly: true x-speakeasy-param-suppress-computed-diff: true name: description: The name of the control plane. type: string example: Test Control Plane description: description: The description of the control plane in Konnect. type: string example: A test control plane for exploration. nullable: false labels: $ref: '#/components/schemas/Labels' config: description: CP configuration object for related access endpoints. type: object additionalProperties: false properties: control_plane_endpoint: description: Control Plane Endpoint. type: string format: url example: 'https://acfe5f253f.cp.konghq.com' readOnly: true telemetry_endpoint: description: Telemetry Endpoint. type: string format: url example: 'https://acfe5f253f.tp0.konghq.com' readOnly: true cluster_type: description: The ClusterType value of the cluster associated with the Control Plane. type: string example: CLUSTER_TYPE_CONTROL_PLANE enum: - CLUSTER_TYPE_CONTROL_PLANE - CLUSTER_TYPE_K8S_INGRESS_CONTROLLER - CLUSTER_TYPE_CONTROL_PLANE_GROUP - CLUSTER_TYPE_SERVERLESS - CLUSTER_TYPE_KAFKA_NATIVE_EVENT_PROXY - CLUSTER_TYPE_SERVERLESS_V1 readOnly: true x-speakeasy-unknown-values: allow auth_type: description: The auth type value of the cluster associated with the Runtime Group. type: string example: pinned_client_certs enum: - pinned_client_certs - pki_client_certs readOnly: true x-speakeasy-unknown-values: allow cloud_gateway: description: Whether the Control Plane can be used for cloud-gateways. type: boolean nullable: false readOnly: true proxy_urls: $ref: '#/components/schemas/ProxyURLs' required: - control_plane_endpoint - telemetry_endpoint - cluster_type - auth_type - cloud_gateway - proxy_urls created_at: description: An ISO-8604 timestamp representation of control plane creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true x-speakeasy-terraform-ignore: true updated_at: description: An ISO-8604 timestamp representation of control plane update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true x-speakeasy-terraform-ignore: true additionalProperties: false required: - id - name - config - created_at - updated_at - description - labels GroupStatus: description: The Group Status object contains information about the status of a control plane group. type: object properties: id: description: The control plane group ID. type: string format: uuid example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 readOnly: true created_at: description: An ISO-8604 timestamp representation of control plane group status creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true updated_at: description: An ISO-8604 timestamp representation of control plane group status update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true conflicts: type: array items: $ref: '#/components/schemas/GroupConflict' maxItems: 256 state: description: The state of the control plane group. type: string example: CONFLICT enum: - OK - CONFLICT - UNKNOWN readOnly: true x-speakeasy-unknown-values: allow required: - id - created_at - updated_at - state title: GroupStatus GroupConflict: description: The Group Conflict object contains information about a conflict in a control plane group. type: object properties: cluster_id: description: The ID of a control plane member of a control plane group. type: string format: uuid example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 readOnly: true description: description: The description of the conflict. type: string example: 'conflicting entity found: ID=38d790ad-8b08-4ff5-a074-2e1e9e64d8bd, Name=foo' readOnly: true resource: $ref: '#/components/schemas/GroupConflictResource' required: - cluster_id - description - resource title: GroupConflict GroupConflictResource: description: A resource causing a conflict in a control plane group. type: object properties: id: description: The ID of the resource. type: string format: uuid example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 readOnly: true type: description: The type of the resource. type: string example: service readOnly: true required: - id - type title: GroupConflictResource GroupMemberStatus: description: Object with information determining the group membership status of a control plane. type: object properties: is_member: description: Boolean indicating if a control plane is a member of a control plane group. type: boolean example: true readOnly: true required: - is_member title: GroupMemberStatus 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 maxProperties: 50 title: Labels ProxyURL: 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 title: ProxyURL ProxyURLs: description: Array of proxy URLs associated with reaching the data-planes connected to a control-plane. type: array items: $ref: '#/components/schemas/ProxyURL' format: set example: - host: example.com port: 443 protocol: https title: ProxyURLs ControlPlaneFilterParameters: type: object properties: id: description: 'Filter using **one** of the following operators: `eq`, `oeq`' type: object additionalProperties: false properties: eq: description: The field exactly matches the provided value. type: string oeq: description: The field matches any of the provided values. type: string name: description: 'Filter using **one** of the following operators: `eq`, `neq`, `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 neq: description: The field does not match the provided value. type: string cluster_type: description: 'Filter using **one** of the following operators: `eq`, `oeq`, `neq`' type: object additionalProperties: false properties: eq: description: The field exactly matches the provided value. type: string neq: description: The field does not match the provided value. type: string oeq: description: The field matches any of the provided values. type: string cloud_gateway: $ref: '#/components/schemas/BooleanFieldFilter' additionalProperties: false title: ControlPlaneFilterParameters CursorPaginatedMetaWithSizeAndTotal: description: returns the pagination information type: object properties: page: $ref: '#/components/schemas/CursorMetaWithSizeAndTotal' required: - page title: CursorPaginatedMetaWithSizeAndTotal CursorMetaWithSizeAndTotal: type: object properties: next: description: URI to the next page type: string format: path nullable: true size: description: Requested page size type: number example: 10 total: description: Total number of objects in the collection; will only be present on the first page type: number example: 974 required: - size - next StringFieldEqualsFilter: description: Filters on the given string field value by exact match. properties: eq: type: string title: StringFieldEqualsFilter StringFieldContainsFilter: description: Filters on the given string field value by fuzzy match. type: object properties: contains: type: string additionalProperties: false required: - contains title: StringFieldContainsFilter BooleanFieldFilter: description: Filter by a boolean value (true/false). type: boolean title: BooleanFieldFilter SortQuery: description: | The `asc` suffix is optional as the default sort order is ascending. The `desc` suffix is used to specify a descending order. Multiple sort attributes may be provided via a comma separated list. JSONPath notation may be used to specify a sub-attribute (eg: 'foo.bar desc'). type: string example: created_at desc title: SortQuery 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 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 type: description: The error type. type: string readOnly: 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 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 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-unknown-values: allow InvalidParameterStandard: type: object properties: field: type: string example: name readOnly: true rule: $ref: '#/components/schemas/InvalidRules' source: type: string example: body reason: type: string example: is a required field readOnly: true additionalProperties: false required: - field - reason InvalidParameterMinimumLength: type: object properties: field: type: string example: name readOnly: 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-unknown-values: allow minimum: type: integer example: 8 source: type: string example: body reason: type: string example: must have at least 8 characters readOnly: true additionalProperties: false required: - field - reason - rule - minimum InvalidParameterMaximumLength: type: object properties: field: type: string example: name readOnly: true rule: description: invalid parameters rules type: string enum: - max_length - max_items - max nullable: false readOnly: true x-speakeasy-unknown-values: allow maximum: type: integer example: 8 source: type: string example: body reason: type: string example: must not have more than 8 characters readOnly: true additionalProperties: false required: - field - reason - rule - maximum InvalidParameterChoiceItem: type: object properties: field: type: string example: name readOnly: true rule: description: invalid parameters rules type: string enum: - enum nullable: false readOnly: true reason: type: string example: is a required field readOnly: true choices: type: array items: {} minItems: 1 nullable: false readOnly: true uniqueItems: true source: type: string example: body additionalProperties: false required: - field - reason - rule - choices InvalidParameterDependentItem: type: object properties: field: type: string example: name readOnly: true rule: description: invalid parameters rules type: string enum: - dependent_fields nullable: true readOnly: true reason: type: string example: is a required field readOnly: true dependents: type: array items: {} nullable: true readOnly: true uniqueItems: true source: type: string example: body 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 ConflictError: allOf: - $ref: '#/components/schemas/BaseError' - type: object properties: status: example: 409 title: example: Conflict type: example: 'https://httpstatuses.com/409' instance: example: 'kong:trace:1234567890' detail: example: Conflict NotFoundError: allOf: - $ref: '#/components/schemas/BaseError' - type: object properties: status: example: 404 title: example: Not Found type: example: 'https://httpstatuses.com/404' instance: example: 'kong:trace:1234567890' detail: example: Not found 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 PaginationNextResponse: description: URI to the next page (may be null) type: string PaginationOffsetResponse: description: Offset is used to paginate through the API. Provide this value to the next list operation to fetch the next page type: string IdentityProviderType: description: Specifies the type of identity provider. type: string example: oidc enum: - oidc - saml x-speakeasy-unknown-values: allow IdentityProviderLoginPath: description: The path used for initiating login requests with the identity provider. type: string example: myapp title: Identity Provider Login Path Property OIDCIdentityProviderIssuer: description: The issuer URI of the identity provider. This is the URL where the provider's metadata can be obtained. type: string format: uri example: 'https://konghq.okta.com/oauth2/default' title: OIDC Identity Provider Issuer Property OIDCIdentityProviderClientId: description: The client ID assigned to your application by the identity provider. type: string example: YOUR_CLIENT_ID title: OIDC Identity Provider Login Client Id Property OIDCIdentityProviderClientSecret: description: The Client Secret assigned to your application by the identity provider. type: string example: YOUR_CLIENT_SECRET title: OIDC Identity Provider Login Client Secret Property writeOnly: true x-speakeasy-param-sensitive: true x-speakeasy-terraform-plan-only: true OIDCIdentityProviderScopes: description: The scopes requested by your application when authenticating with the identity provider. type: array items: type: string default: - email - openid - profile title: OIDC Identity Provider Scopes Property OIDCIdentityProviderClaimMappings: description: | Defines the mappings between OpenID Connect (OIDC) claims and local claims used by your application for authentication. type: object properties: name: description: The claim mapping for the user's name. type: string example: name default: name email: description: The claim mapping for the user's email address. type: string example: email default: email groups: description: The claim mapping for the user's group membership information. type: string example: groups default: groups title: OIDC Claim Mappings SAMLIdentityProviderMetadataURL: description: The identity provider's metadata URL where the identity provider's metadata can be obtained. type: string format: uri example: 'https://mocksaml.com/api/saml/metadata' title: SAML Identity Provider Metadata URL SAMLIdentityProviderMetadata: description: | The identity provider's SAML metadata. If the identity provider supports a metadata URL, you can use the `idp_metadata_url` field instead. type: string example: | title: SAML Identity Provider Metadata CreateIdentityProvider: x-speakeasy-entity: IdentityProvider description: The identity provider that contains configuration data for creating an authentication integration. type: object properties: type: $ref: '#/components/schemas/IdentityProviderType' enabled: $ref: '#/components/schemas/IdentityProviderEnabled' login_path: $ref: '#/components/schemas/IdentityProviderLoginPath' config: type: object oneOf: - $ref: '#/components/schemas/OIDCIdentityProviderConfig' - $ref: '#/components/schemas/SAMLIdentityProviderConfig' title: Identity Provider UpdateIdentityProvider: x-speakeasy-entity: IdentityProvider description: The identity provider that contains configuration data for updating an authentication integration. type: object properties: enabled: $ref: '#/components/schemas/IdentityProviderEnabled' login_path: $ref: '#/components/schemas/IdentityProviderLoginPath' config: type: object oneOf: - $ref: '#/components/schemas/OIDCIdentityProviderConfig' - $ref: '#/components/schemas/SAMLIdentityProviderConfig' title: Identity Provider IdentityProvider: x-speakeasy-entity: IdentityProvider description: The identity provider that contains configuration data for authentication integration. type: object properties: id: $ref: '#/components/schemas/UUID' type: $ref: '#/components/schemas/IdentityProviderType' enabled: $ref: '#/components/schemas/IdentityProviderEnabled' login_path: $ref: '#/components/schemas/IdentityProviderLoginPath' config: type: object oneOf: - $ref: '#/components/schemas/OIDCIdentityProviderConfig' - $ref: '#/components/schemas/SAMLIdentityProviderConfig' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' title: Identity Provider OIDCIdentityProviderConfig: description: The identity provider that contains configuration data for the OIDC authentication integration. type: object properties: issuer_url: $ref: '#/components/schemas/OIDCIdentityProviderIssuer' client_id: $ref: '#/components/schemas/OIDCIdentityProviderClientId' client_secret: $ref: '#/components/schemas/OIDCIdentityProviderClientSecret' scopes: $ref: '#/components/schemas/OIDCIdentityProviderScopes' claim_mappings: $ref: '#/components/schemas/OIDCIdentityProviderClaimMappings' additionalProperties: false required: - issuer_url - client_id title: OIDC Identity Provider Config SAMLIdentityProviderConfig: description: The identity provider that contains configuration data for the SAML authentication integration. type: object properties: idp_metadata_url: $ref: '#/components/schemas/SAMLIdentityProviderMetadataURL' idp_metadata_xml: $ref: '#/components/schemas/SAMLIdentityProviderMetadata' sp_metadata_url: type: string format: path example: /api/v2/developer/authenticate/saml/metadata readOnly: true sp_entity_id: description: The entity ID of the service provider (SP). type: string example: 'https://cloud.konghq.com/sp/00000000-0000-0000-0000-000000000000' readOnly: true login_url: description: The URL to redirect users to for initiating login with the identity provider. type: string example: 'https://cloud.konghq.com/login/the-saml-konnect-org' readOnly: true callback_url: description: The path URL where the SAML identity provider sends authentication responses after successful login attempts. type: string format: path example: /api/v2/developer/authenticate/saml/acs readOnly: true additionalProperties: false title: SAML Identity Provider Config IdP: description: |- The IdP object contains the configuration data for the OIDC authentication integration. NOTE: The `openid` scope is required. Removing it could break the OIDC integration. type: object properties: issuer: type: string format: uri example: 'https://myidp.com/oauth2' login_path: type: string example: myapp client_id: type: string example: YOUR_CLIENT_ID scopes: type: array items: type: string default: - email - openid - profile claim_mappings: type: object minProperties: 3 properties: name: type: string example: name default: name email: type: string example: email default: email groups: type: string example: custom-groups-claim default: groups title: IdP Configuration User: description: The user object contains information about an individual user who can use the Konnect application and API. type: object properties: id: description: The User ID. type: string format: uuid example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 readOnly: true email: description: The email registered to the user. type: string format: email example: user@email.com maxLength: 250 full_name: description: The User's full name. type: string example: Jane Doe maxLength: 250 pattern: '^[\w \W]+$' preferred_name: description: The User's preferred name. type: string example: Jane maxLength: 250 active: description: Returns True if a user has verified their email address. type: boolean default: true readOnly: true inferred_region: description: The Konnect region closest to the user's IP address. This property might only be set for users on signup through Konnect’s build-in native authentication. type: string example: us readOnly: true created_at: description: The time stamp for the date the account was registered. type: string format: date-time example: '2022-02-07T17:46:57.52Z' readOnly: true updated_at: description: A Unix timestamp representation of the most recent change to the User account. type: string format: date-time example: '2022-10-08T17:00:00.52Z' readOnly: true example: id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 email: user@email.com full_name: Test User preferred_name: test active: true inferred_region: us created_at: '2022-02-07T17:46:57.52Z' updated_at: '2022-10-08T17:00:00.52Z' title: User Team: x-speakeasy-entity: Team description: The team object contains information about a group of users. type: object properties: id: description: The team ID. type: string format: uuid example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 readOnly: true name: description: The name of the team. type: string example: IDM - Developers maxLength: 250 pattern: '^[\w \W]+$' description: description: The team description in Konnect. type: string example: The developers for the IDM API. maxLength: 250 system_team: description: 'Returns True if a user belongs to a `system_team`. System teams are teams that can manage Konnect objects, like "Organization Admin", or "Service"' type: boolean default: false readOnly: true labels: $ref: '#/components/schemas/Labels' created_at: description: A Unix timestamp representation of team creation. type: string format: date-time example: '1992-02-07T17:46:57.52Z' readOnly: true updated_at: description: | A Unix timestamp representation of the most recent change to the team object in Konnect. type: string format: date-time example: '2022-02-07T17:00:00.52Z' readOnly: true example: id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 name: IDM - Developers description: The developers for the IDM API. system_team: false labels: env: test created_at: '1992-02-07T17:46:57.52Z' updated_at: '2022-08-31T17:00:00.52Z' title: Team TeamMapping: description: A team assignment is a mapping of an IdP group to a Konnect Team. type: object properties: group: description: The IdP group. type: string example: Service Developers team_ids: description: An array of ID's that are mapped to the specified group. type: array items: type: string format: uuid example: 6801e673-cc10-498a-94cd-4271de07a0d3 uniqueItems: true example: group: Service Developers team_ids: - 6801e673-cc10-498a-94cd-4271de07a0d3 title: TeamMapping TeamGroupMapping: description: A map of Konnect Team to IdP groups. type: object properties: team_id: description: The Konnect team ID. type: string format: uuid example: 6801e673-cc10-498a-94cd-4271de07a0d3 groups: description: The IdP groups that are mapped to the specified team. type: array items: type: string example: API Engineers uniqueItems: true example: team_id: 6801e673-cc10-498a-94cd-4271de07a0d3 groups: - Tech Leads - API Engineers title: TeamGroupMapping IdpTeamGroupMapping: description: A mapping between a Konnect team and an identity provider group. type: object properties: id: $ref: '#/components/schemas/UUID' team_id: description: The Konnect team ID. type: string format: uuid example: 6801e673-cc10-498a-94cd-4271de07a0d3 group: description: The identity provider group name. Group names are case sensitive. type: string example: Tech Leads created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - id - team_id - group - created_at - updated_at title: IdpTeamGroupMapping AssignedRole: description: An assigned role is a role that has been assigned to a user or team. type: object properties: id: description: The ID of the role assignment. type: string format: uuid example: eaf7adf1-32c8-4bbf-b960-d1f8456afe67 role_name: description: Name of the role being assigned. type: string example: Viewer entity_id: description: A RBAC entity ID. type: string format: uuid example: 817d0422-45c9-4d88-8d64-45aef05c1ae7 entity_type_name: description: Name of the entity type the role is being assigned to. type: string example: Control Planes 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: 54cc6168-ebb1-4300-8168-d62a0dd08fc8 role_name: Viewer entity_id: 18ee2573-dec0-4b83-be99-fa7700bcdc61 entity_type_name: Control Planes entity_region: us title: AssignedRole SystemAccount: x-speakeasy-entity: SystemAccount description: Schema of the system account. type: object properties: id: description: ID of the system account. type: string format: uuid readOnly: true name: description: Name of the system account. type: string description: description: Description of the system account. type: string created_at: description: Timestamp of when the system account was created. type: string format: date-time readOnly: true updated_at: description: Timestamp of when the system account was last updated. type: string format: date-time readOnly: true konnect_managed: description: The system account is managed by Konnect (true/false). type: boolean example: id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 name: Example System Account description: This is a sample system account description. created_at: '2022-08-24T14:15:22Z' updated_at: '2022-10-05T10:33:49Z' konnect_managed: false title: System Account SystemAccountAccessToken: x-speakeasy-entity: SystemAccountAccessToken description: Schema of the system account access token. type: object properties: id: description: ID of the system account access token. type: string format: uuid readOnly: true name: description: Name of the system account access token. type: string created_at: description: Timestamp of when the system account access token was created. type: string format: date-time readOnly: true updated_at: description: Timestamp of when the system account access token was last updated. type: string format: date-time readOnly: true expires_at: description: Timestamp of when the system account access token will expire. type: string format: date-time x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/timetypes schemaType: 'timetypes.RFC3339PreciseToSecondType{}' valueType: timetypes.RFC3339PreciseToSecond last_used_at: description: Timestamp of when the system account access token was last used. type: string format: date-time readOnly: true example: id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 name: Sample Access Token created_at: '2022-08-01T14:16:09Z' updated_at: '2022-08-02T08:35:49Z' expires_at: '2022-12-31T12:52:23Z' last_used_at: '2022-10-24T13:05:42Z' title: System Account Access Token PATName: type: string maxLength: 256 minLength: 1 pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.'']*[\p{L}\p{N}]$' PersonalAccessTokenCreateRequestWithExpiresAt: description: '**Deprecated:** Use `ttl_seconds` instead of `expires_at` to specify token expiration. Using a time-to-live value avoids clock skew issues when setting token expiration.' type: object properties: name: $ref: '#/components/schemas/PATName' expires_at: description: An ISO-8601 timestamp representation of entity expiration date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: false x-speakeasy-param-suppress-computed-diff: true additionalProperties: false deprecated: true required: - name - expires_at PersonalAccessTokenCreateRequestWithTTL: type: object properties: name: $ref: '#/components/schemas/PATName' ttl_seconds: description: The time to live in seconds for the personal access token. type: integer maximum: 31536000 minimum: 86400 additionalProperties: false required: - name - ttl_seconds PersonalAccessTokenCreateResponse: description: Details of the created personal access token. type: object properties: id: $ref: '#/components/schemas/UUID' user_id: $ref: '#/components/schemas/UserId' name: type: string state: description: State of the personal access token. type: string enum: - ACTIVE - REVOKED - EXPIRED readOnly: true x-speakeasy-unknown-values: allow konnect_token: description: The Konnect token used to authenticate with Konnect. type: string revoked_by: $ref: '#/components/schemas/RevokedBy' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' last_used_at: $ref: '#/components/schemas/LastUsedAt' expires_at: $ref: '#/components/schemas/ExpiresAt' revoked_at: $ref: '#/components/schemas/RevokedAt' required: - id - name - state - konnect_token - user_id - created_at - expires_at UUID: description: Contains a unique identifier used for this resource. type: string format: uuid example: 5f9fd312-a987-4628-b4c5-bb4f4fddd5f7 readOnly: true IdentityProviderEnabled: description: | Indicates whether the identity provider is enabled. Only one identity provider can be active at a time, such as SAML or OIDC. type: boolean example: true default: false title: Identity Provider Enabled Property CursorMetaPage: type: object properties: first: description: URI to the first page type: string format: path last: description: URI to the last page type: string format: path next: description: URI to the next page type: string format: path nullable: true previous: description: URI to the previous page type: string format: path nullable: true size: description: Requested page size type: number example: 10 required: - size - next - previous CursorMeta: description: Pagination metadata. type: object properties: page: $ref: '#/components/schemas/CursorMetaPage' required: - page LegacyStringFieldFilter: description: 'Filter using **one** of the following operators: `eq`, `contains`' type: object properties: eq: description: The field exactly matches the provided value. type: string contains: description: The field contains the provided value. type: string additionalProperties: false 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 UserId: description: Contains a unique identifier used for a user. type: string format: uuid example: 5f9fd312-a987-4628-b4c5-bb4f4fddd5f7 readOnly: true PersonalAccessTokenState: description: State of the personal access token. type: string enum: - ACTIVE - REVOKED - EXPIRED x-speakeasy-unknown-values: allow RevokedBy: description: Contains a unique identifier used for the user that revoked this token. type: string format: uuid example: 5f9fd312-a987-4628-b4c5-bb4f4fddd5f7 nullable: true readOnly: true LastUsedAt: description: An ISO-8601 timestamp representation of entity last used date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' nullable: true readOnly: true x-speakeasy-param-suppress-computed-diff: true ExpiresAt: description: An ISO-8601 timestamp representation of entity expiration date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' nullable: true readOnly: true x-speakeasy-param-suppress-computed-diff: true RevokedAt: description: An ISO-8601 timestamp representation of entity revoked at date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' nullable: true readOnly: true x-speakeasy-param-suppress-computed-diff: true PersonalAccessToken: description: Properties of a personal access token. type: object properties: id: $ref: '#/components/schemas/UUID' user_id: $ref: '#/components/schemas/UserId' name: type: string state: $ref: '#/components/schemas/PersonalAccessTokenState' revoked_by: $ref: '#/components/schemas/RevokedBy' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' last_used_at: $ref: '#/components/schemas/LastUsedAt' expires_at: $ref: '#/components/schemas/ExpiresAt' revoked_at: $ref: '#/components/schemas/RevokedAt' additionalProperties: false required: - id - name - state - user_id - created_at - updated_at - expires_at ControlPlaneId: type: string format: uuid example: 0949471e-b759-45ba-87ab-ee63fb781388 ConfigurationId: type: string format: uuid example: edaf40f9-9fb0-4ffe-bb74-4e763a6bd471 readOnly: true DataPlaneGroupId: description: ID of the data-plane group that represents a deployment target for a set of data-planes. type: string format: uuid example: cbb8872a-1f83-4806-bf69-fdf0b4783c7e readOnly: true CustomDomainId: type: string format: uuid example: 39ed3790-085d-4605-9627-f96d86aaf425 readOnly: true NetworkId: description: 'The network ID to operate on. For serverless.v1 kind of cloud gateways, this field should be omitted.' type: string format: uuid example: 36ae63d3-efd1-4bec-b246-62aa5d3f5695 x-speakeasy-param-suppress-computed-diff: true TransitGatewayId: type: string format: uuid example: 0850820b-d153-4a2a-b9be-7d2204779139 readOnly: true PrivateDnsId: type: string format: uuid example: 1850820b-c69f-4a2a-b9be-bbcdbc5cd618 readOnly: true ProviderAccountId: type: string format: uuid example: 929b2449-c69f-44c4-b6ad-9ecec6f811ae ResourceQuotaId: type: string format: uuid example: 9678f205-49a1-47bb-82d9-d01cafa42a0d readOnly: true DefaultResourceQuotaId: type: string format: uuid example: cc504063-f3bb-4e09-8e32-bbcdbc5cd618 readOnly: true ResourceConfigurationId: type: string format: uuid example: 9678f205-49a1-47bb-82d9-d01cafa42a0d readOnly: true DefaultResourceConfigurationId: type: string format: uuid example: cc504063-f3bb-4e09-8e32-bbcdbc5cd618 readOnly: true ControlPlaneGeo: description: Set of control-plane geos supported for deploying cloud-gateways configurations. type: string enum: - us - eu - au - me - in - sg title: Control-Plane Geo x-speakeasy-unknown-values: allow GatewayVersion: description: 'Supported gateway version. For serverless.v1 kind of cloud gateways, this field should be omitted.' type: string example: '3.2' title: Gateway Version VersionList: description: List of supported gateway versions for cloud gateways. type: array items: $ref: '#/components/schemas/GatewayVersion' readOnly: true title: Version List InstanceTypeName: description: Instance type name to indicate capacity. type: string enum: - small - medium - large x-speakeasy-unknown-values: allow ApiAccess: description: Type of API access data-plane groups will support for a configuration. type: string example: private+public default: private+public enum: - private - public - private+public x-speakeasy-param-computed: true x-speakeasy-unknown-values: allow InstanceType: description: Resource parameters and pricing of a given supported instance type. type: object properties: name: $ref: '#/components/schemas/InstanceTypeName' hourly_cost: description: Hourly cost to run a single cloud gateway instance of this instance type. type: string format: ^(\d)+(\.(\d)+)?$ example: '1.00' v_cpu: description: Number of virtual CPUs available to a cloud gateway instance of this instance type. type: string format: ^(\d)+ example: '2' gb_memory: description: Number of gigabytes of memory available to a cloud gateway instance of this instance type. type: string format: ^(\d)+ example: '2' additionalProperties: false readOnly: true required: - name - hourly_cost - v_cpu - gb_memory title: Instance Type InstanceTypes: description: 'List of supported instance types, along with their associated resource parameters and pricing.' type: array items: $ref: '#/components/schemas/InstanceType' title: Instance Types ProviderRegionName: description: | Human-readable name for cloud provider region. The list of available provider regions can be retrieved via the availability endpoint `/v2/cloud-gateways/availability.json`. type: string example: N. Virginia title: Provider Region Name ProviderRegionId: description: Region ID for cloud provider region. type: string example: us-east-2 title: Provider Region ID ServerlessV1ProviderRegionId: description: Region ID for serverless v1 cloud provider region. type: string example: us title: Serverless V1 Provider Region ID ProviderRegion: description: Region ID and human-readable name for a cloud provider region. type: object properties: region: $ref: '#/components/schemas/ProviderRegionId' name: $ref: '#/components/schemas/ProviderRegionName' availability_zones: description: | List of supported availability zones for cloud provider region, for network AZ configuration. type: array items: type: string example: - use2-az1 - use2-az2 - use2-az3 cidr_blocks: description: | List of supported CIDR blocks for cloud provider region, for network CIDR block configuration. type: array items: type: string example: - 10.0.0.0/8 - 100.64.0.0/10 - 172.16.0.0/12 - 192.168.0.0/16 - 198.18.0.0/15 reserved_cidr_blocks: description: | List of reserved CIDR blocks for cloud provider region, to restrict allowed network CIDR block configuration. type: array items: type: string example: - 10.100.0.0/16 - 172.17.0.0/16 additionalProperties: false required: - region - name - availability_zones - cidr_blocks - reserved_cidr_blocks title: Provider Region ServerlessV1ProviderRegion: description: Region ID and human-readable name for a cloud provider region. type: object properties: region: $ref: '#/components/schemas/ServerlessV1ProviderRegionId' additionalProperties: false required: - region title: Serverless V1 Provider Region ProviderRegions: description: List of available regions to run cloud gateway instances on for a given cloud provider. type: array items: $ref: '#/components/schemas/ProviderRegion' title: Provider Regions ServerlessV1ProviderRegions: description: List of available regions to run serverless v1 cloud gateway instances on for a given cloud provider. type: array items: $ref: '#/components/schemas/ServerlessV1ProviderRegion' title: Serverless V1 Provider Regions ProviderName: description: Name of cloud provider. type: string example: aws enum: - aws - azure - gcp title: Provider Name x-speakeasy-unknown-values: allow ServerlessV1ProviderName: description: Name of cloud provider. type: string example: aws enum: - aws Provider: description: Description of cloud provider that runs cloud gateway instances. type: object properties: provider: $ref: '#/components/schemas/ProviderName' regions: $ref: '#/components/schemas/ProviderRegions' additionalProperties: false required: - provider - regions title: Provider ServerlessV1Provider: description: Description of cloud provider that runs serverless v1 cloud gateway instances. type: object properties: provider: $ref: '#/components/schemas/ServerlessV1ProviderName' regions: $ref: '#/components/schemas/ServerlessV1ProviderRegions' additionalProperties: false required: - provider - regions title: Serverless V1 Provider Providers: description: List of supported cloud providers that run cloud gateway instances. type: array items: $ref: '#/components/schemas/Provider' title: Providers ServerlessV1Providers: description: List of supported cloud providers that run serverless v1 cloud gateway instances. type: array items: $ref: '#/components/schemas/ServerlessV1Provider' title: Serverless V1 Providers AvailabilityDocument: description: Document containing availability information for configurations. type: object properties: versions: $ref: '#/components/schemas/VersionList' instance_types: $ref: '#/components/schemas/InstanceTypes' providers: $ref: '#/components/schemas/Providers' serverless_v1_providers: $ref: '#/components/schemas/ServerlessV1Providers' additionalProperties: false required: - versions - instance_types - providers - serverless_v1_providers title: Availability Document ConfigurationDataPlaneGroupAutoscale: oneOf: - $ref: '#/components/schemas/ConfigurationDataPlaneGroupAutoscaleStatic' - $ref: '#/components/schemas/ConfigurationDataPlaneGroupAutoscaleAutopilot' ConfigurationDataPlaneGroupAutoscaleStatic: description: 'Object that describes the static autoscaling strategy. Deprecated in favor of the autopilot autoscaling strategy. Static autoscaling will be removed in a future version. For serverless.v1 kind of cloud gateways, this field should be omitted.' type: object properties: kind: type: string enum: - static instance_type: $ref: '#/components/schemas/InstanceTypeName' requested_instances: description: Number of data-planes the deployment target will contain. type: integer example: 3 additionalProperties: false deprecated: true required: - kind - instance_type - requested_instances title: Configuration Autoscale Static ConfigurationDataPlaneGroupAutoscaleAutopilot: description: 'Object that describes the autopilot autoscaling strategy. For serverless.v1 kind of cloud gateways, this field should be omitted.' type: object properties: kind: type: string enum: - autopilot base_rps: description: Base number of requests per second that the deployment target should support. type: integer example: 1 max_rps: description: 'Max number of requests per second that the deployment target should support. If not set, this defaults to 10x base_rps. This field is deprecated and shouldn''t be used in new configurations as it will be removed in a future version. max_rps is now calculated as 10x base_rps.' type: integer example: 1000 deprecated: true x-speakeasy-param-computed: true additionalProperties: false required: - kind - base_rps title: Configuration Autoscale Autopilot ConfigurationDataPlaneGroupEnvironment: description: Array of environment variables to set for a data-plane group. type: array items: $ref: '#/components/schemas/ConfigurationDataPlaneGroupEnvironmentField' title: Configuration Data-Plane Group Environment ConfigurationDataPlaneGroupEnvironmentField: description: Environment variable name and value to set for a data-plane group. type: object properties: name: description: | Name of the environment variable field to set for the data-plane group. Must be prefixed by KONG_. type: string format: '^KONG_[a-zA-Z_]+[a-zA-Z0-9_]*' example: KONG_LOG_LEVEL maxLength: 120 minLength: 6 value: description: Value assigned to the environment variable field for the data-plane group. type: string example: info maxLength: 120 minLength: 1 required: - name - value title: Configuration Data-Plane Group Environment Field ConfigurationDataPlaneGroupConfig: description: 'Object that describes where a data-plane group will be deployed to, along with how many instances.' type: object properties: provider: $ref: '#/components/schemas/ProviderName' region: $ref: '#/components/schemas/ProviderRegionId' cloud_gateway_network_id: $ref: '#/components/schemas/NetworkId' autoscale: $ref: '#/components/schemas/ConfigurationDataPlaneGroupAutoscale' environment: $ref: '#/components/schemas/ConfigurationDataPlaneGroupEnvironment' additionalProperties: false required: - provider - region title: Configuration Data-Plane Group Config Item ConfigurationDataPlaneGroup: description: Object that describes the set of data-plane groups currently pointed to this configuration. type: object properties: id: $ref: '#/components/schemas/DataPlaneGroupId' provider: $ref: '#/components/schemas/ProviderName' region: $ref: '#/components/schemas/ProviderRegionId' autoscale: $ref: '#/components/schemas/ConfigurationDataPlaneGroupAutoscale' environment: $ref: '#/components/schemas/ConfigurationDataPlaneGroupEnvironment' cloud_gateway_network_id: $ref: '#/components/schemas/NetworkId' state: description: State of the data-plane group. type: string enum: - created - initializing - ready - terminating - terminated x-speakeasy-unknown-values: allow state_metadata: description: | Metadata describing the backing state of the dataplane group and why it may be in an erroneous state. type: object additionalProperties: false properties: reported_status: description: Reported status of the dataplane group from backing infrastructure. type: string example: ERROR reason: description: | Reason why the dataplane group may be in an erroneous state, reported from backing infrastructure. type: string example: | Dataplane group could not be deployed due to insufficient cloud provider compute instances. x-speakeasy-terraform-ignore: true private_ip_addresses: description: | List of private IP addresses of the internal load balancer that proxies traffic to this data-plane group. type: array items: type: string example: - 192.168.248.132 - 192.168.66.81 - 192.168.137.135 egress_ip_addresses: description: | List of egress IP addresses for the network that this data-plane group runs on. type: array items: type: string example: - 71.78.149.75 - 91.149.112.244 - 51.235.15.121 created_at: description: An RFC-3339 timestamp representation of data-plane group creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true updated_at: description: An RFC-3339 timestamp representation of data-plane group update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true required: - id - provider - region - state - created_at - updated_at title: Cloud Gateway Configuration Data-Plane Group NetworkConfigurationReference: $ref: '#/components/schemas/ConfigurationManifest' ConfigurationKind: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Kind of the Cloud Gateway deployment. If serverless.v1 is specified, the following fields should be omitted (will be ignored if provided): autoscale, cloud_gateway_network_id, version. type: string default: dedicated.v0 enum: - dedicated.v0 - serverless.v1 title: ConfigurationKind x-speakeasy-unknown-values: allow CustomDomainKind: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Kind of the custom domain based on Cloud Gateway deployment. type: string default: dedicated.v0 enum: - dedicated.v0 - serverless.v1 title: CustomDomainKind x-speakeasy-unknown-values: allow ConfigurationManifest: x-speakeasy-entity: CloudGatewayConfiguration description: Object containing information about a control-plane's cloud-gateways configuration. type: object properties: id: $ref: '#/components/schemas/ConfigurationId' version: $ref: '#/components/schemas/GatewayVersion' api_access: $ref: '#/components/schemas/ApiAccess' dataplane_group_config: description: 'Object that describes where data-planes will be deployed to, along with how many instances.' type: array items: $ref: '#/components/schemas/ConfigurationDataPlaneGroupConfig' title: Configuration Data-Plane Group Configs x-speakeasy-terraform-ignore: true dataplane_groups: description: | List of data-plane groups that describe where data-planes will be deployed to, along with how many instances. type: array items: $ref: '#/components/schemas/ConfigurationDataPlaneGroup' format: set kind: $ref: '#/components/schemas/ConfigurationKind' entity_version: description: | Positive, monotonically increasing version integer, to serialize configuration changes. type: number example: 1 readOnly: true created_at: description: An RFC-3339 timestamp representation of configuration creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true updated_at: description: An RFC-3339 timestamp representation of configuration update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true control_plane_id: $ref: '#/components/schemas/ControlPlaneId' control_plane_geo: $ref: '#/components/schemas/ControlPlaneGeo' required: - id - control_plane_id - control_plane_geo - dataplane_group_config - dataplane_groups - entity_version - created_at - updated_at title: Configuration CreateConfigurationDataPlaneGroup: description: 'Object that describes where to deploy a data-plane group, along with how many instances.' type: object properties: provider: $ref: '#/components/schemas/ProviderName' region: $ref: '#/components/schemas/ProviderRegionId' cloud_gateway_network_id: $ref: '#/components/schemas/NetworkId' autoscale: $ref: '#/components/schemas/ConfigurationDataPlaneGroupAutoscale' environment: $ref: '#/components/schemas/ConfigurationDataPlaneGroupEnvironment' additionalProperties: false required: - provider - region title: CreateConfigurationDataPlaneGroup ProviderAccount: description: Object containing mapping for organization and cloud provider to account ID. type: object properties: id: $ref: '#/components/schemas/ProviderAccountId' provider: $ref: '#/components/schemas/ProviderName' provider_account_id: description: ID of the cloud provider account. type: string readOnly: true created_at: description: An RFC-3339 timestamp representation of provider account creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true updated_at: description: An RFC-3339 timestamp representation of provider account update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true required: - id - provider - provider_account_id - created_at - updated_at title: Cloud Gateway Provider Account NetworkCreateState: description: Initial state for creating a network. type: string default: initializing enum: - initializing - offline title: Network Create State x-speakeasy-unknown-values: allow NetworkState: description: State of the network. enum: - created - initializing - offline - ready - terminating - terminated readOnly: true title: Network State x-speakeasy-terraform-ignore: true x-speakeasy-unknown-values: allow NetworkStateMetadata: description: | Metadata describing the backing state of the network and why it may be in an erroneous state. type: object properties: reported_status: description: Reported status of the network from backing infrastructure. type: string example: INVALID reason: description: | Reason why the network may be in an erroneous state, reported from backing infrastructure. type: string example: | Network could not be deployed due to insufficient cloud provider compute instances. additionalProperties: false readOnly: true title: Network State Metadata x-speakeasy-terraform-ignore: true NetworkProviderMetadata: description: Metadata describing attributes returned by cloud-provider for the network. type: object properties: vpc_id: type: string title: VPC ID subnet_ids: type: array items: type: string title: Subnet IDs additionalProperties: false readOnly: true title: Network Provider Metadata x-speakeasy-param-suppress-computed-diff: true NetworkName: description: Human-readable name of the network. type: string example: us-east-2 network title: Network Name NetworkCIDRBlock: description: CIDR block configuration for the network. type: string example: 10.0.0.0/8 title: Network CIDR Block NetworkAvailabilityZones: description: List of availability zones that the network is attached to. type: array items: type: string example: - use2-az1 - use2-az2 - use2-az3 Network: x-speakeasy-entity: CloudGatewayNetwork description: Object containing information about a network to be used in configurations. type: object properties: id: $ref: '#/components/schemas/NetworkId' name: $ref: '#/components/schemas/NetworkName' default: description: | Whether the network is a default network or not. Default networks are Networks that are created automatically by Konnect when an organization is linked to a provider account. type: boolean example: false x-speakeasy-param-suppress-computed-diff: true cloud_gateway_provider_account_id: $ref: '#/components/schemas/ProviderAccountId' region: $ref: '#/components/schemas/ProviderRegionId' availability_zones: $ref: '#/components/schemas/NetworkAvailabilityZones' cidr_block: $ref: '#/components/schemas/NetworkCIDRBlock' state: $ref: '#/components/schemas/NetworkState' state_metadata: $ref: '#/components/schemas/NetworkStateMetadata' provider_metadata: $ref: '#/components/schemas/NetworkProviderMetadata' transit_gateway_count: description: The number of transit gateways attached to this network. type: integer example: 0 readOnly: true x-speakeasy-param-suppress-computed-diff: true configuration_reference_count: description: The number of configurations that reference this network. type: integer example: 0 readOnly: true x-speakeasy-param-suppress-computed-diff: true entity_version: description: | Monotonically-increasing version count of the network, to indicate the order of updates to the network. type: integer example: 1 readOnly: true x-speakeasy-param-suppress-computed-diff: true created_at: description: An RFC-3339 timestamp representation of network creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true updated_at: description: An RFC-3339 timestamp representation of network update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - id - name - default - cloud_gateway_provider_account_id - region - availability_zones - cidr_block - provider_metadata - state - transit_gateway_count - configuration_reference_count - entity_version - created_at - updated_at title: Network CreateNetworkRequest: x-speakeasy-entity: CloudGatewayNetwork description: Request schema for creating a network. type: object properties: name: $ref: '#/components/schemas/NetworkName' cloud_gateway_provider_account_id: $ref: '#/components/schemas/ProviderAccountId' region: $ref: '#/components/schemas/ProviderRegionId' availability_zones: $ref: '#/components/schemas/NetworkAvailabilityZones' cidr_block: $ref: '#/components/schemas/NetworkCIDRBlock' state: $ref: '#/components/schemas/NetworkCreateState' additionalProperties: false required: - name - cloud_gateway_provider_account_id - region - availability_zones - cidr_block title: CreateNetworkRequest PatchNetworkRequest: x-speakeasy-entity: CloudGatewayNetwork description: Request schema for updating a network. type: object properties: name: $ref: '#/components/schemas/NetworkName' additionalProperties: false title: PatchNetworkRequest TransitGatewayState: description: | The current state of the Transit Gateway. Possible values: - `created` - The attachment has been created but is not attached to transit gateway. - `initializing` - The attachment is in the process of being initialized and is setting up necessary resources. - `pending-acceptance` The attachment request is awaiting acceptance in customer VPC. - `pending-user-action` The attachment request is awaiting user action in customer VPC. - `ready` - The transit gateway attachment is fully operational and can route traffic as configured. - `terminating` - The attachment is in the process of being deleted and is no longer accepting new traffic. - `terminated` - The attachment has been fully deleted and is no longer available. - `error` - The attachment is in an error state. type: string enum: - created - initializing - pending-acceptance - pending-user-action - ready - terminating - terminated - error readOnly: true title: Transit Gateway State x-speakeasy-unknown-values: allow AwsResourceEndpointConfigState: description: | The current state of the resource config in AWS Resource Endpoint. Possible values: - `initializing` - The config is in the process of being initialized and is setting up necessary resources. - `missing` - The config is missing and is no longer accepting new traffic. - `ready` - The config is fully operational and can route traffic as configured. - `error` - The config is in an error state, and is not operational. - `terminating` - The config is in the process of being deleted and is no longer accepting new traffic. type: string enum: - initializing - missing - ready - error - terminating readOnly: true title: AWS Resource Endpoint Config State x-speakeasy-unknown-values: allow AwsTransitGatewayAttachmentConfig: type: object properties: kind: enum: - aws-transit-gateway-attachment title: AWS Transit Gateway Attachment Type transit_gateway_id: description: AWS Transit Gateway ID to create attachment to. type: string title: Transit Gateway ID ram_share_arn: description: Resource Share ARN to verify request to create transit gateway attachment. type: string title: RAM Share ARN additionalProperties: false required: - kind - transit_gateway_id - ram_share_arn title: AWS Transit Gateway Attachment Config AwsTransitGatewayAttachmentConfigForResponse: type: object properties: kind: enum: - aws-transit-gateway-attachment title: AWS Transit Gateway Attachment Type transit_gateway_id: description: AWS Transit Gateway ID to create attachment to. type: string title: Transit Gateway ID ram_share_arn: description: Resource Share ARN to verify request to create transit gateway attachment. type: string title: RAM Share ARN attachment_id: description: ID of the AWS Transit Gateway attachment. type: string title: AWS Transit Gateway Attachment ID additionalProperties: false required: - kind - transit_gateway_id - ram_share_arn title: AWS Transit Gateway Attachment Config AwsVpcPeeringGatewayAttachmentConfig: type: object properties: kind: enum: - aws-vpc-peering-attachment title: AWS VPC Peering Attachment Config peer_account_id: type: string peer_vpc_id: type: string peer_vpc_region: type: string additionalProperties: false required: - kind - peer_account_id - peer_vpc_id - peer_vpc_region title: AWS VPC Peering Attachment Config AwsVpcPeeringGatewayAttachmentConfigForResponse: type: object properties: kind: enum: - aws-vpc-peering-attachment title: AWS VPC Peering Attachment Config peer_account_id: type: string peer_vpc_id: type: string peer_vpc_region: type: string peering_connection_id: type: string additionalProperties: false required: - kind - peer_account_id - peer_vpc_id - peer_vpc_region title: AWS VPC Peering Attachment Config AwsResourceEndpointAttachmentConfig: type: object properties: kind: enum: - aws-resource-endpoint-attachment title: AWS Resource Endpoint Attachment Type ram_share_arn: description: Resource Share ARN to verify request to create transit gateway attachment. type: string title: RAM Share ARN resource_config: $ref: '#/components/schemas/AwsResourceEndpointConfig' additionalProperties: false required: - kind - ram_share_arn title: AWS Resource Endpoint Attachment Config AwsResourceEndpointAttachmentConfigResponse: type: object properties: kind: enum: - aws-resource-endpoint-attachment title: AWS Resource Endpoint Attachment Type ram_share_arn: description: Resource Share ARN to verify request to create transit gateway attachment. type: string title: RAM Share ARN resource_config: $ref: '#/components/schemas/AwsResourceEndpointConfigResponse' additionalProperties: false required: - kind - ram_share_arn - resource_config title: AWS Resource Endpoint Attachment Config Response AwsResourceEndpointConfig: description: | List of unique resource config mapping for aws resource endpoint. type: array items: type: object additionalProperties: false properties: resource_config_id: description: Resource Config ID to uniquely identify a resource configuration. type: string title: Resource Config ID domain_name: description: Domain Name to uniquely identify a resource configuration. type: string title: Domain Name required: - resource_config_id - domain_name title: AWS Resource Endpoint Config AwsResourceEndpointConfigResponse: description: | List of unique resource config mapping for aws resource endpoint. type: array items: type: object additionalProperties: false properties: resource_config_id: description: Resource Config ID to uniquely identify a resource configuration. type: string title: Resource Config ID domain_name: description: Domain Name to uniquely identify a resource configuration. type: string title: Domain Name state: $ref: '#/components/schemas/AwsResourceEndpointConfigState' required: - resource_config_id - domain_name - state title: AWS Resource Endpoint Config Response AzureVNETPeeringAttachmentConfig: type: object properties: kind: enum: - azure-vnet-peering-attachment title: Azure VNET Peering Attachment Type tenant_id: description: Tenant ID for the Azure VNET Peering attachment. type: string title: Tenant ID subscription_id: description: Subscription ID for the Azure VNET Peering attachment. type: string title: Subscription ID resource_group_name: description: Resource Group Name for the Azure VNET Peering attachment. type: string title: Resource Group Name vnet_name: description: VNET Name for the Azure VNET Peering attachment. type: string title: VNET Name additionalProperties: false required: - kind - tenant_id - subscription_id - resource_group_name - vnet_name title: Azure VNET Peering Attachment Config AzureVHubPeeringAttachmentConfig: type: object properties: kind: enum: - azure-vhub-peering-attachment title: Azure Virtual Hub Peering Attachment Type tenant_id: description: Tenant ID of the Azure Virtual Hub resource. type: string title: Tenant ID subscription_id: description: Subscription ID of the Azure Virtual Hub resource. type: string title: Subscription ID resource_group_name: description: Resource Group Name of the Azure Virtual Hub resource. type: string title: Resource Group Name vhub_name: description: Name of the Azure Virtual Hub resource. type: string title: Virtual Hub Name additionalProperties: false required: - kind - tenant_id - subscription_id - resource_group_name - vhub_name title: Azure Virtual Hub Peering Attachment Config GCPVPCPeeringAttachmentConfig: type: object properties: kind: enum: - gcp-vpc-peering-attachment title: GCP VPC Peering Attachment Type peer_project_id: description: GCP Project ID of the peer account to create attachment to. type: string title: GCP Project ID peer_vpc_name: description: GCP VPC Name of the peer account to create attachment to. type: string title: GCP VPC Name additionalProperties: false required: - kind - peer_project_id - peer_vpc_name title: GCP VPC Peering Attachment Config TransitGatewayDnsConfig: description: | List of mappings from remote DNS server IP address sets to proxied internal domains, for a transit gateway attachment. type: array items: type: object additionalProperties: false properties: remote_dns_server_ip_addresses: description: Remote DNS Server IP Addresses to connect to for resolving internal DNS via a transit gateway. type: array items: type: string example: - 10.0.0.2 title: Remote DNS Server IP Addresses domain_proxy_list: description: | Internal domain names to proxy for DNS resolution from the listed remote DNS server IP addresses, for a transit gateway. type: array items: type: string example: - foobar.com title: Domain Proxy List required: - remote_dns_server_ip_addresses - domain_proxy_list title: Transit Gateway DNS Config TransitGatewayName: description: Human-readable name of the transit gateway. type: string example: us-east-2 transit gateway title: Transit Gateway Name TransitGatewayCIDRBlocks: description: | CIDR blocks for constructing a route table for the transit gateway, when attaching to the owning network. type: array items: type: string example: - 10.0.0.0/8 - 100.64.0.0/10 - 172.16.0.0/12 title: Transit Gateway CIDR Blocks PrivateDnsResponse: oneOf: - $ref: '#/components/schemas/AwsPrivateHostedZoneResponse' - $ref: '#/components/schemas/AwsPrivateDnsResolverResponse' - $ref: '#/components/schemas/GcpPrivateHostedZoneResponse' - $ref: '#/components/schemas/AzurePrivateHostedZoneResponse' - $ref: '#/components/schemas/AzurePrivateDnsResolverResponse' AwsPrivateHostedZoneResponse: type: object properties: id: $ref: '#/components/schemas/PrivateDnsId' state: $ref: '#/components/schemas/PrivateDnsState' state_metadata: description: | Metadata describing the backing state of the Private Dns and why it may be in an erroneous state. type: object additionalProperties: false properties: reported_status: description: Reported status of the Private Dns from backing infrastructure. type: string example: ERROR reason: description: | Reason why the Private Dns may be in an erroneous state, reported from backing infrastructure. type: string example: | Failed to create Private Dns due to invalid Cloud Provider configuration. title: PrivateDnsStateMetadata entity_version: description: | Monotonically-increasing version count of the Private DNS, to indicate the order of updates to the Private DNS. type: integer example: 1 readOnly: true created_at: description: An RFC-3339 timestamp representation of Private DNS creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true updated_at: description: An RFC-3339 timestamp representation of Private DNS update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true name: $ref: '#/components/schemas/PrivateDnsName' private_dns_attachment_config: $ref: '#/components/schemas/AwsPrivateHostedZoneAttachmentConfig' required: - id - state - state_metadata - entity_version - created_at - updated_at - name - private_dns_attachment_config AwsPrivateHostedZoneAttachmentConfig: type: object properties: kind: enum: - aws-private-hosted-zone-attachment title: AWS Private Hosted Zone Type hosted_zone_id: description: AWS Hosted Zone to create attachment to. type: string title: Hosted Zone Id additionalProperties: false required: - kind - hosted_zone_id title: AWS Private Hosted Zone Attachment Config GcpPrivateHostedZoneAttachmentConfig: type: object properties: kind: enum: - gcp-private-hosted-zone-attachment title: GCP Private Hosted Zone Type domain_name: description: Domain name to create attachment to. type: string title: Domain Name peer_project_id: description: Customer's GCP Project ID. type: string title: Peer Project Id peer_vpc_name: description: Customer's GCP VPC ID. type: string title: Peer VPC Name additionalProperties: false required: - kind - domain_name - peer_project_id - peer_vpc_name title: GCP Private Hosted Zone Attachment Config GcpPrivateHostedZoneResponse: type: object properties: id: $ref: '#/components/schemas/PrivateDnsId' state: $ref: '#/components/schemas/PrivateDnsState' state_metadata: description: | Metadata describing the backing state of the Private Dns and why it may be in an erroneous state. type: object additionalProperties: false properties: reported_status: description: Reported status of the Private Dns from backing infrastructure. type: string example: ERROR reason: description: | Reason why the Private Dns may be in an erroneous state, reported from backing infrastructure. type: string example: | Failed to create Private Dns due to invalid Cloud Provider configuration. title: PrivateDnsStateMetadata entity_version: description: | Monotonically-increasing version count of the Private DNS, to indicate the order of updates to the Private DNS. type: integer example: 1 readOnly: true created_at: description: An RFC-3339 timestamp representation of Private DNS creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true updated_at: description: An RFC-3339 timestamp representation of Private DNS update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true name: $ref: '#/components/schemas/PrivateDnsName' private_dns_attachment_config: $ref: '#/components/schemas/GcpPrivateHostedZoneAttachmentConfig' required: - id - state - state_metadata - entity_version - created_at - updated_at - name - private_dns_attachment_config AzurePrivateHostedZoneAttachmentConfig: type: object properties: kind: enum: - azure-private-hosted-zone-attachment title: Azure Private Hosted Zone Type domain_name: description: Customer's Azure Private DNS Zone Name. type: string title: Domain Name peer_tenant_id: description: Customer's Azure Tenant ID. type: string title: Peer Tenant Id peer_subscription_id: description: Customer's Azure Subscription ID. type: string title: Peer Subscription Id peer_resource_group_id: description: Customer's Azure Resource Group ID. type: string title: Peer Resource Group Id peer_vnet_link_name: description: Customer's Azure VNet Link Name. type: string title: Peer VNet Link Name example: kind: azure-private-hosted-zone-attachment domain_name: example.private.azure.com peer_tenant_id: 87654321-4321-4321-4321-210987654321 peer_subscription_id: 12345678-1234-1234-1234-123456789012 peer_resource_group_id: customer-dns-rg peer_vnet_link_name: kong-vnet-link additionalProperties: false required: - kind - domain_name - peer_tenant_id - peer_subscription_id - peer_resource_group_id - peer_vnet_link_name title: Azure Private Hosted Zone Attachment Config AzurePrivateHostedZoneResponse: type: object properties: id: $ref: '#/components/schemas/PrivateDnsId' state: $ref: '#/components/schemas/PrivateDnsState' state_metadata: description: | Metadata describing the backing state of the Private Dns and why it may be in an erroneous state. type: object additionalProperties: false properties: reported_status: description: Reported status of the Private Dns from backing infrastructure. type: string example: ERROR reason: description: | Reason why the Private Dns may be in an erroneous state, reported from backing infrastructure. type: string example: | Failed to create Private Dns due to invalid Cloud Provider configuration. title: PrivateDnsStateMetadata entity_version: description: | Monotonically-increasing version count of the Private DNS, to indicate the order of updates to the Private DNS. type: integer example: 1 readOnly: true created_at: description: An RFC-3339 timestamp representation of Private DNS creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true updated_at: description: An RFC-3339 timestamp representation of Private DNS update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true name: $ref: '#/components/schemas/PrivateDnsName' private_dns_attachment_config: $ref: '#/components/schemas/AzurePrivateHostedZoneAttachmentConfig' required: - id - state - state_metadata - entity_version - created_at - updated_at - name - private_dns_attachment_config AwsPrivateDnsResolverResponse: type: object properties: id: $ref: '#/components/schemas/PrivateDnsId' state: $ref: '#/components/schemas/PrivateDnsState' state_metadata: description: | Metadata describing the backing state of the Private Dns and why it may be in an erroneous state. type: object additionalProperties: false properties: reported_status: description: Reported status of the Private Dns from backing infrastructure. type: string example: ERROR reason: description: | Reason why the Private Dns may be in an erroneous state, reported from backing infrastructure. type: string example: | Failed to create Private Dns due to invalid Cloud Provider configuration. title: PrivateDnsStateMetadata entity_version: description: | Monotonically-increasing version count of the Private DNS, to indicate the order of updates to the Private DNS. type: integer example: 1 readOnly: true created_at: description: An RFC-3339 timestamp representation of Private DNS creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true updated_at: description: An RFC-3339 timestamp representation of Private DNS update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true name: $ref: '#/components/schemas/PrivateDnsName' private_dns_attachment_config: $ref: '#/components/schemas/AwsPrivateDnsResolverAttachmentConfig' required: - id - state - state_metadata - entity_version - created_at - updated_at - name - private_dns_attachment_config AzurePrivateDnsResolverResponse: type: object properties: id: $ref: '#/components/schemas/PrivateDnsId' state: $ref: '#/components/schemas/PrivateDnsState' state_metadata: description: | Metadata describing the backing state of the Private Dns and why it may be in an erroneous state. type: object additionalProperties: false properties: reported_status: description: Reported status of the Private Dns from backing infrastructure. type: string example: ERROR reason: description: | Reason why the Private Dns may be in an erroneous state, reported from backing infrastructure. type: string example: | Failed to create Private Dns due to invalid Cloud Provider configuration. title: PrivateDnsStateMetadata entity_version: description: | Monotonically-increasing version count of the Private DNS, to indicate the order of updates to the Private DNS. type: integer example: 1 readOnly: true created_at: description: An RFC-3339 timestamp representation of Private DNS creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true updated_at: description: An RFC-3339 timestamp representation of Private DNS update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true name: $ref: '#/components/schemas/PrivateDnsName' private_dns_attachment_config: $ref: '#/components/schemas/AzurePrivateDnsResolverAttachmentConfig' required: - id - state - state_metadata - entity_version - created_at - updated_at - name - private_dns_attachment_config AwsPrivateDnsResolverAttachmentConfig: type: object properties: kind: enum: - aws-outbound-resolver title: AWS Private DNS Resolver Type dns_config: $ref: '#/components/schemas/PrivateDnsResolverConfig' additionalProperties: false required: - kind - dns_config title: AWS Private DNS Resolver Attachment Config AzurePrivateDnsResolverAttachmentConfig: type: object properties: kind: enum: - azure-outbound-resolver title: Azure Private DNS Resolver Type dns_config: $ref: '#/components/schemas/PrivateDnsResolverConfig' example: kind: azure-outbound-resolver dns_config: global.api.konghq.com: remote_dns_server_ip_addresses: - 10.0.0.2 us.api.konghq.dev: remote_dns_server_ip_addresses: - 10.0.0.8 additionalProperties: false required: - kind - dns_config title: Azure Private DNS Resolver Attachment Config PrivateDnsResolverConfig: description: | Object that contains mappings from proxied internal domains to remote DNS server IP address for a Private DNS Resolver. type: object example: global.api.konghq.com: remote_dns_server_ip_addresses: - 10.0.0.2 us.api.konghq.dev: remote_dns_server_ip_addresses: - 10.0.0.8 additionalProperties: $ref: '#/components/schemas/PrivateDnsResolverConfigObject' title: Private DNS Resolver Config Item PrivateDnsResolverConfigObject: type: object properties: remote_dns_server_ip_addresses: description: IP addresses of remote DNS servers used by the Private DNS Resolver for DNS resolution. type: array items: type: string example: - 10.0.0.2 required: - remote_dns_server_ip_addresses PrivateDnsName: description: Human-readable name of the Private DNS. type: string example: us-east-2 private dns title: Private DNS Name PrivateDnsState: description: | The current state of the Private DNS attachment. Possible values: - `created` - The attachment has been created but is not attached to Private DNS. - `initializing` - The attachment is in the process of being initialized and is setting up necessary resources. - `pending-association` The attachment request is awaiting association to the cloud provider infrastructure in order for provisioning to proceed. - `ready` - The attachment is fully operational and can route traffic as configured. - `error` - The attachment is in an error state, and is not operational. - `terminating` - The attachment is in the process of being deleted. - `terminated` - The attachment has been fully deleted and is no longer available. type: string enum: - created - initializing - pending-association - ready - error - terminating - terminated title: Private DNS State x-speakeasy-unknown-values: allow PatchAwsPrivateDnsResolver: description: Request schema for updating a Private DNS AWS Resolver. properties: name: $ref: '#/components/schemas/PrivateDnsName' private_dns_attachment_config: $ref: '#/components/schemas/AwsPrivateDnsResolverAttachmentConfig' PatchAzurePrivateDnsResolver: description: Request schema for updating a Private DNS Azure Resolver. properties: name: $ref: '#/components/schemas/PrivateDnsName' private_dns_attachment_config: $ref: '#/components/schemas/AzurePrivateDnsResolverAttachmentConfig' CreatePrivateDnsRequest: description: Request schema for creating a Private DNS. type: object properties: name: $ref: '#/components/schemas/PrivateDnsName' private_dns_attachment_config: oneOf: - $ref: '#/components/schemas/AwsPrivateHostedZoneAttachmentConfig' - $ref: '#/components/schemas/AwsPrivateDnsResolverAttachmentConfig' - $ref: '#/components/schemas/GcpPrivateHostedZoneAttachmentConfig' - $ref: '#/components/schemas/AzurePrivateHostedZoneAttachmentConfig' - $ref: '#/components/schemas/AzurePrivateDnsResolverAttachmentConfig' title: CreatePrivateDnsRequest PatchPrivateDnsRequest: description: Request schema for updating a Private DNS. type: object oneOf: - $ref: '#/components/schemas/PatchAwsPrivateDnsResolver' - $ref: '#/components/schemas/PatchAzurePrivateDnsResolver' title: PatchPrivateDnsRequest AwsTransitGatewayResponse: type: object properties: name: $ref: '#/components/schemas/TransitGatewayName' dns_config: $ref: '#/components/schemas/TransitGatewayDnsConfig' cidr_blocks: $ref: '#/components/schemas/TransitGatewayCIDRBlocks' transit_gateway_attachment_config: $ref: '#/components/schemas/AwsTransitGatewayAttachmentConfigForResponse' id: $ref: '#/components/schemas/TransitGatewayId' state: $ref: '#/components/schemas/TransitGatewayState' state_metadata: description: | Metadata describing the backing state of the transit gateway and why it may be in an erroneous state. type: object additionalProperties: false properties: reported_status: description: Reported status of the transit gateway from backing infrastructure. type: string example: ERROR reason: description: | Reason why the transit gateway may be in an erroneous state, reported from backing infrastructure. type: string example: | Transit Gateway Attachment configuration could not find a resource with the provided ram share arn. readOnly: true title: TransitGatewayStateMetadata entity_version: description: | Monotonically-increasing version count of the transit gateway, to indicate the order of updates to the transit gateway. type: integer example: 1 readOnly: true created_at: description: An RFC-3339 timestamp representation of transit gateway creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true updated_at: description: An RFC-3339 timestamp representation of transit gateway update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true required: - name - cidr_blocks - transit_gateway_attachment_config - dns_config - id - state - entity_version - created_at - updated_at title: AWS Transit Gateway AwsVpcPeeringGatewayResponse: type: object properties: name: $ref: '#/components/schemas/TransitGatewayName' dns_config: $ref: '#/components/schemas/TransitGatewayDnsConfig' cidr_blocks: $ref: '#/components/schemas/TransitGatewayCIDRBlocks' transit_gateway_attachment_config: $ref: '#/components/schemas/AwsVpcPeeringGatewayAttachmentConfigForResponse' id: $ref: '#/components/schemas/TransitGatewayId' state: $ref: '#/components/schemas/TransitGatewayState' state_metadata: description: | Metadata describing the backing state of the transit gateway and why it may be in an erroneous state. type: object additionalProperties: false properties: reported_status: description: Reported status of the transit gateway from backing infrastructure. type: string example: ERROR reason: description: | Reason why the transit gateway may be in an erroneous state, reported from backing infrastructure. type: string example: | Transit Gateway Attachment configuration could not find a resource with the provided ram share arn. readOnly: true title: TransitGatewayStateMetadata entity_version: description: | Monotonically-increasing version count of the transit gateway, to indicate the order of updates to the transit gateway. type: integer example: 1 readOnly: true created_at: description: An RFC-3339 timestamp representation of transit gateway creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true updated_at: description: An RFC-3339 timestamp representation of transit gateway update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true required: - name - cidr_blocks - transit_gateway_attachment_config - dns_config - id - state - entity_version - created_at - updated_at title: AWS VPC Peering Gateway AwsResourceEndpointGatewayResponse: type: object properties: name: $ref: '#/components/schemas/TransitGatewayName' dns_config: $ref: '#/components/schemas/TransitGatewayDnsConfig' transit_gateway_attachment_config: $ref: '#/components/schemas/AwsResourceEndpointAttachmentConfigResponse' id: $ref: '#/components/schemas/TransitGatewayId' state: $ref: '#/components/schemas/TransitGatewayState' state_metadata: description: | Metadata describing the backing state of the transit gateway and why it may be in an erroneous state. type: object additionalProperties: false properties: reported_status: description: Reported status of the transit gateway from backing infrastructure. type: string example: ERROR reason: description: | Reason why the transit gateway may be in an erroneous state, reported from backing infrastructure. type: string example: | Transit Gateway Attachment configuration could not find a resource with the provided ram share arn. readOnly: true title: TransitGatewayStateMetadata entity_version: description: | Monotonically-increasing version count of the transit gateway, to indicate the order of updates to the transit gateway. type: integer example: 1 readOnly: true created_at: description: An RFC-3339 timestamp representation of transit gateway creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true updated_at: description: An RFC-3339 timestamp representation of transit gateway update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true required: - name - transit_gateway_attachment_config - id - dns_config - state - entity_version - created_at - updated_at title: AWS Resource Endpoint Gateway AzureTransitGatewayResponse: type: object properties: name: $ref: '#/components/schemas/TransitGatewayName' dns_config: $ref: '#/components/schemas/TransitGatewayDnsConfig' transit_gateway_attachment_config: $ref: '#/components/schemas/AzureVNETPeeringAttachmentConfig' id: $ref: '#/components/schemas/TransitGatewayId' state: $ref: '#/components/schemas/TransitGatewayState' state_metadata: description: | Metadata describing the backing state of the transit gateway and why it may be in an erroneous state. type: object additionalProperties: false properties: reported_status: description: Reported status of the transit gateway from backing infrastructure. type: string example: ERROR reason: description: | Reason why the transit gateway may be in an erroneous state, reported from backing infrastructure. type: string example: | Transit Gateway Attachment configuration could not find a resource with the provided ram share arn. readOnly: true title: TransitGatewayStateMetadata entity_version: description: | Monotonically-increasing version count of the transit gateway, to indicate the order of updates to the transit gateway. type: integer example: 1 readOnly: true created_at: description: An RFC-3339 timestamp representation of transit gateway creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true updated_at: description: An RFC-3339 timestamp representation of transit gateway update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true required: - name - transit_gateway_attachment_config - id - dns_config - state - entity_version - created_at - updated_at title: Azure Transit Gateway AzureVHubPeeringGatewayResponse: type: object properties: name: $ref: '#/components/schemas/TransitGatewayName' dns_config: $ref: '#/components/schemas/TransitGatewayDnsConfig' transit_gateway_attachment_config: $ref: '#/components/schemas/AzureVHubPeeringAttachmentConfig' id: $ref: '#/components/schemas/TransitGatewayId' state: $ref: '#/components/schemas/TransitGatewayState' state_metadata: description: | Metadata describing the backing state of the transit gateway and why it may be in an erroneous state. type: object additionalProperties: false properties: reported_status: description: Reported status of the transit gateway from backing infrastructure. type: string example: ERROR reason: description: | Reason why the transit gateway may be in an erroneous state, reported from backing infrastructure. type: string example: | Transit Gateway Attachment configuration could not find a resource with the provided ram share arn. readOnly: true title: TransitGatewayStateMetadata entity_version: description: | Monotonically-increasing version count of the transit gateway, to indicate the order of updates to the transit gateway. type: integer example: 1 readOnly: true created_at: description: An RFC-3339 timestamp representation of transit gateway creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true updated_at: description: An RFC-3339 timestamp representation of transit gateway update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true required: - name - transit_gateway_attachment_config - id - dns_config - state - entity_version - created_at - updated_at title: Azure Virtual Hub Peering Gateway x-speakeasy-name-override: AzureVhubPeeringGatewayResponse GCPVPCPeeringGatewayResponse: type: object properties: name: $ref: '#/components/schemas/TransitGatewayName' dns_config: $ref: '#/components/schemas/TransitGatewayDnsConfig' transit_gateway_attachment_config: $ref: '#/components/schemas/GCPVPCPeeringAttachmentConfig' id: $ref: '#/components/schemas/TransitGatewayId' state: $ref: '#/components/schemas/TransitGatewayState' state_metadata: description: | Metadata describing the backing state of the transit gateway and why it may be in an erroneous state. type: object additionalProperties: false properties: reported_status: description: Reported status of the transit gateway from backing infrastructure. type: string example: ERROR reason: description: | Reason why the transit gateway may be in an erroneous state, reported from backing infrastructure. type: string example: | Transit Gateway Attachment configuration could not find a resource with the provided ram share arn. readOnly: true title: TransitGatewayStateMetadata entity_version: description: | Monotonically-increasing version count of the transit gateway, to indicate the order of updates to the transit gateway. type: integer example: 1 readOnly: true created_at: description: An RFC-3339 timestamp representation of transit gateway creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true updated_at: description: An RFC-3339 timestamp representation of transit gateway update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true required: - name - transit_gateway_attachment_config - id - dns_config - state - entity_version - created_at - updated_at title: GCP VPC Peering Transit Gateway TransitGatewayResponse: oneOf: - $ref: '#/components/schemas/AwsTransitGatewayResponse' - $ref: '#/components/schemas/AwsVpcPeeringGatewayResponse' - $ref: '#/components/schemas/AzureTransitGatewayResponse' - $ref: '#/components/schemas/AzureVHubPeeringGatewayResponse' - $ref: '#/components/schemas/GCPVPCPeeringGatewayResponse' - $ref: '#/components/schemas/AwsResourceEndpointGatewayResponse' CreateAwsTransitGateway: type: object properties: name: $ref: '#/components/schemas/TransitGatewayName' dns_config: $ref: '#/components/schemas/TransitGatewayDnsConfig' cidr_blocks: $ref: '#/components/schemas/TransitGatewayCIDRBlocks' transit_gateway_attachment_config: $ref: '#/components/schemas/AwsTransitGatewayAttachmentConfig' required: - name - cidr_blocks - transit_gateway_attachment_config title: AWS Transit Gateway x-speakeasy-name-override: AWSTransitGateway CreateAwsVpcPeeringGateway: type: object properties: name: $ref: '#/components/schemas/TransitGatewayName' dns_config: $ref: '#/components/schemas/TransitGatewayDnsConfig' cidr_blocks: $ref: '#/components/schemas/TransitGatewayCIDRBlocks' transit_gateway_attachment_config: $ref: '#/components/schemas/AwsVpcPeeringGatewayAttachmentConfig' required: - name - cidr_blocks - transit_gateway_attachment_config title: AWS VPC Peering Gateway x-speakeasy-name-override: AWSVpcPeeringGateway CreateAwsResourceEndpointGateway: type: object properties: name: $ref: '#/components/schemas/TransitGatewayName' dns_config: $ref: '#/components/schemas/TransitGatewayDnsConfig' transit_gateway_attachment_config: $ref: '#/components/schemas/AwsResourceEndpointAttachmentConfig' required: - name - transit_gateway_attachment_config title: AWS Resource Endpoint Gateway x-speakeasy-name-override: AWSResourceEndpointGateway CreateAzureTransitGateway: type: object properties: name: $ref: '#/components/schemas/TransitGatewayName' dns_config: $ref: '#/components/schemas/TransitGatewayDnsConfig' transit_gateway_attachment_config: $ref: '#/components/schemas/AzureVNETPeeringAttachmentConfig' required: - name - transit_gateway_attachment_config title: Azure Transit Gateway x-speakeasy-name-override: AzureTransitGateway CreateAzureVHubPeeringGateway: type: object properties: name: $ref: '#/components/schemas/TransitGatewayName' dns_config: $ref: '#/components/schemas/TransitGatewayDnsConfig' transit_gateway_attachment_config: $ref: '#/components/schemas/AzureVHubPeeringAttachmentConfig' required: - name - transit_gateway_attachment_config title: Azure Virtual Hub Peering Gateway x-speakeasy-name-override: AzureVhubPeeringGateway CreateGCPVPCPeeringTransitGateway: type: object properties: name: $ref: '#/components/schemas/TransitGatewayName' dns_config: $ref: '#/components/schemas/TransitGatewayDnsConfig' transit_gateway_attachment_config: $ref: '#/components/schemas/GCPVPCPeeringAttachmentConfig' required: - name - transit_gateway_attachment_config title: GCP VPC Peering Transit Gateway x-speakeasy-name-override: GcpVpcPeeringTransitGateway CreateTransitGatewayRequest: description: Request schema for creating a transit gateway. type: object oneOf: - $ref: '#/components/schemas/CreateAwsTransitGateway' - $ref: '#/components/schemas/CreateAwsVpcPeeringGateway' - $ref: '#/components/schemas/CreateAwsResourceEndpointGateway' - $ref: '#/components/schemas/CreateAzureTransitGateway' - $ref: '#/components/schemas/CreateAzureVHubPeeringGateway' - $ref: '#/components/schemas/CreateGCPVPCPeeringTransitGateway' title: CreateTransitGatewayRequest PatchAwsResourceEndpointGateway: description: Request schema for updating AWS Resource Endpoint. properties: transit_gateway_attachment_config: type: object additionalProperties: false properties: kind: enum: - aws-resource-endpoint-attachment title: AWS Resource Endpoint Attachment Type resource_config: $ref: '#/components/schemas/AwsResourceEndpointConfig' required: - kind - resource_config required: - transit_gateway_attachment_config x-speakeasy-name-override: AWSResourceEndpointGateway PatchAwsTransitGateway: description: Request schema for updating AWS Transit Gateway properties: cidr_blocks: $ref: '#/components/schemas/TransitGatewayCIDRBlocks' required: - cidr_blocks x-speakeasy-name-override: AWSTransitGateway PatchTransitGatewayRequest: description: Request schema for updating a transit gateway. type: object oneOf: - $ref: '#/components/schemas/PatchAwsResourceEndpointGateway' - $ref: '#/components/schemas/PatchAwsTransitGateway' title: PatchTransitGatewayRequest CustomDomainState: description: State of the custom domain. type: string enum: - created - initializing - ready - terminating - terminated - error readOnly: true title: Custom Domain State x-speakeasy-unknown-values: allow CustomDomainName: description: Domain name of the custom domain. type: string example: example.com title: Custom Domain Name CustomDomain: x-speakeasy-entity: CloudGatewayCustomDomain description: Object containing information about a custom domain for a control-plane. type: object properties: id: $ref: '#/components/schemas/CustomDomainId' control_plane_id: $ref: '#/components/schemas/ControlPlaneId' control_plane_geo: $ref: '#/components/schemas/ControlPlaneGeo' domain: $ref: '#/components/schemas/CustomDomainName' certificate_id: description: | Certificate ID for the certificate representing this domain and stored on data-planes for this control-plane. Can be retrieved via the control-planes API for this custom domain's control-plane. type: string format: uuid example: 3b7cbeee-fbec-440e-a5ef-89e7dec3b9d0 nullable: true readOnly: true sni_id: description: | Server Name Indication ID for this domain and stored on data-planes for this control-plane. Can be retrieved via the control-planes API for this custom domain's control-plane. type: string format: uuid example: a8f11ea8-af09-4422-9735-5d4f8910aba1 nullable: true readOnly: true state: $ref: '#/components/schemas/CustomDomainState' state_metadata: description: | Metadata describing the backing state of the custom domain and why it may be in an erroneous state. type: object additionalProperties: false properties: reported_status: description: Reported status of the custom domain from backing infrastructure. type: string example: INVALID reason: description: | Reason why the custom domain may be in an erroneous state, reported from backing infrastructure. type: string example: | CNAME points to '_acme-challenge..gateways.konghq.tech.' instead of '_acme-challenge..acme.gateways.konghq.tech.' readOnly: true title: CustomDomainStateMetadata entity_version: description: | Monotonically-increasing version count of the custom domain, to indicate the order of updates to the custom domain. type: integer example: 1 readOnly: true created_at: description: An RFC-3339 timestamp representation of custom domain creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true updated_at: description: An RFC-3339 timestamp representation of custom domain update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true kind: $ref: '#/components/schemas/CustomDomainKind' required: - id - control_plane_id - control_plane_geo - domain - state - state_metadata - entity_version - created_at - updated_at title: Custom Domain CustomDomainOnlinePropertyStatus: description: Set of available statuses for the online properties of a custom domain. type: string enum: - verified - unverified readOnly: true title: Custom Domain Online Property Status x-speakeasy-unknown-values: allow CustomDomainOnlineStatus: type: object properties: cname: $ref: '#/components/schemas/CustomDomainOnlinePropertyStatus' ssl: $ref: '#/components/schemas/CustomDomainOnlinePropertyStatus' additionalProperties: false required: - cname - ssl title: Custom Domain Online Status CreateConfigurationRequest: description: | Request schema for creating a configuration. type: object properties: control_plane_id: $ref: '#/components/schemas/ControlPlaneId' control_plane_geo: $ref: '#/components/schemas/ControlPlaneGeo' version: $ref: '#/components/schemas/GatewayVersion' dataplane_groups: description: 'List of data-plane groups that describe where to deploy instances, along with how many instances.' type: array items: $ref: '#/components/schemas/CreateConfigurationDataPlaneGroup' format: set kind: $ref: '#/components/schemas/ConfigurationKind' api_access: $ref: '#/components/schemas/ApiAccess' additionalProperties: false required: - control_plane_id - control_plane_geo - dataplane_groups title: CreateConfigurationRequest CreateCustomDomainRequest: description: Request schema for creating a custom domain in the global API. type: object properties: control_plane_id: $ref: '#/components/schemas/ControlPlaneId' control_plane_geo: $ref: '#/components/schemas/ControlPlaneGeo' domain: $ref: '#/components/schemas/CustomDomainName' kind: $ref: '#/components/schemas/CustomDomainKind' additionalProperties: false required: - control_plane_id - control_plane_geo - domain title: CreateCustomDomainRequest ResourceQuotaQualifier: description: Enumeration of resources available for quota enforcement. type: string enum: - count/provider-accounts.per-provider - count/networks.not-offline - count/data-planes-estimate - count/serverless-data-planes-estimate - count/data-plane-groups-estimate - count/managed-cache-instances - max/managed-cache-size x-speakeasy-unknown-values: allow ResourceQuotaName: description: The human-readable name of this resource quota. type: string example: Active Networks readOnly: true ResourceQuotaDescription: description: A more verbose description of what this resource quota enforces. type: string example: 'Across the organization, the aggregate number of active networks cannot exceed this value.' readOnly: true ResourceQuotaValue: description: | The aggregate non-negative integer count of this resource that's allowed for the organization. type: integer example: 2 minimum: 0 ResourceQuota: description: Object containing information about a resource quota for an organization. type: object properties: id: $ref: '#/components/schemas/ResourceQuotaId' resource: $ref: '#/components/schemas/ResourceQuotaQualifier' name: $ref: '#/components/schemas/ResourceQuotaName' description: $ref: '#/components/schemas/ResourceQuotaDescription' value: $ref: '#/components/schemas/ResourceQuotaValue' created_at: description: An RFC-3339 timestamp representation of resource quota creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true updated_at: description: An RFC-3339 timestamp representation of resource quota update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true required: - id - resource - name - description - value - created_at - updated_at title: Resource Quota DefaultResourceQuota: description: 'Object containing information about a default resource quota, and any organizational overrides.' type: object properties: id: $ref: '#/components/schemas/DefaultResourceQuotaId' resource: $ref: '#/components/schemas/ResourceQuotaQualifier' name: $ref: '#/components/schemas/ResourceQuotaName' description: $ref: '#/components/schemas/ResourceQuotaDescription' value: $ref: '#/components/schemas/ResourceQuotaValue' overrides: description: Organizational overrides for this default resource quota. type: array items: $ref: '#/components/schemas/ResourceQuota' created_at: description: An RFC-3339 timestamp representation of default resource quota creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true updated_at: description: An RFC-3339 timestamp representation of default resource quota update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true required: - id - resource - name - description - value - overrides - created_at - updated_at title: Default Resource Quota ResourceConfigurationQualifier: description: Enumeration of configuration qualifiers available for organization-wide configuration. type: string enum: - data-plane-group-idle-timeout-minutes ResourceConfigurationValue: description: The value of this resource configuration. type: integer example: 45 ResourceConfigurationName: description: The human-readable name of this resource configuration. type: string example: Data Plane Group Idle Timeout Minutes readOnly: true ResourceConfigurationDescription: description: A more verbose description of what this resource configuration enforces. type: string example: The number of minutes that a data plane group can be idle before it is automatically scaled down to zero instances. readOnly: true AddOnId: type: string format: uuid example: 550e8400-e29b-41d4-a716-446655440000 readOnly: 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' 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}' 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 readOnly: true 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 required: - id - cloud_gateway_network_id - provider - region - state - state_metadata title: ManagedCacheAddOnDataPlaneGroup 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-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 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 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 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 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 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 ConfigurationsFilterParameters: type: object properties: control_plane_id: $ref: '#/components/schemas/IDFieldFilter' control_plane_geo: $ref: '#/components/schemas/ControlPlaneGeoFieldFilter' additionalProperties: false title: ConfigurationsFilterParameters CustomDomainsFilterParameters: type: object properties: control_plane_id: $ref: '#/components/schemas/IDFieldFilter' control_plane_geo: $ref: '#/components/schemas/ControlPlaneGeoFieldFilter' domain: $ref: '#/components/schemas/CloudGatewaysStringFieldFilterOverride' state: $ref: '#/components/schemas/CustomDomainStateFieldFilter' additionalProperties: false title: CustomDomainsFilterParameters TransitGatewaysFilterParameters: type: object properties: name: $ref: '#/components/schemas/CloudGatewaysStringFieldFilterOverride' state: $ref: '#/components/schemas/TransitGatewayStateFieldFilter' additionalProperties: false title: TransitGatewaysFilterParameters PrivateDnsFilterParameters: type: object properties: name: $ref: '#/components/schemas/CloudGatewaysStringFieldFilterOverride' state: $ref: '#/components/schemas/PrivateDnsStateFieldFilter' additionalProperties: false title: PrivateDnsFilterParameters NetworksFilterParameters: type: object properties: name: $ref: '#/components/schemas/CloudGatewaysStringFieldFilterOverride' state: $ref: '#/components/schemas/NetworkStateFieldFilter' additionalProperties: false title: NetworksFilterParameters ProviderAccountsFilterParameters: type: object properties: provider: $ref: '#/components/schemas/CloudGatewaysStringFieldFilterOverride' additionalProperties: false title: ProviderAccountsFilterParameters CloudGatewaysStringFieldFilterOverride: 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 neq: description: The field does not match the provided value. type: string oeq: description: The field matches any of the provided values. type: string ocontains: description: The field contains any of the provided values. type: string additionalProperties: false NetworkStateFieldFilter: description: 'Filter using **one** of the following operators: `eq`, `oeq`, `neq`' type: object properties: eq: description: The field exactly matches the provided value. $ref: '#/components/schemas/NetworkState' neq: description: The field does not match the provided value. $ref: '#/components/schemas/NetworkState' oeq: description: The field matches any of the provided values. type: string CustomDomainStateFieldFilter: oneOf: - $ref: '#/components/schemas/CustomDomainStateFieldEqualsFilter' - $ref: '#/components/schemas/CustomDomainStateFieldNotEqualsFilter' - $ref: '#/components/schemas/CustomDomainStateFieldOrEqualityFilter' title: CustomDomainStateFieldFilter CustomDomainStateFieldEqualsFilter: description: Filter custom domain state by exact match. oneOf: - $ref: '#/components/schemas/CustomDomainState' - type: object title: CustomDomainStateFieldEqualsComparison properties: eq: $ref: '#/components/schemas/CustomDomainState' required: - eq title: CustomDomainStateFieldEqualsFilter CustomDomainStateFieldNotEqualsFilter: description: Filter custom domain state by inequality match. type: object properties: neq: $ref: '#/components/schemas/CustomDomainState' required: - neq title: CustomDomainStateFieldNotEqualsFilter CustomDomainStateFieldOrEqualityFilter: description: | Filter custom domain state by determining if the value is equal to any in a set of values, where the set is a comma-delimited list. type: object properties: oeq: type: string required: - oeq title: CustomDomainStateFieldOrEqualityFilter TransitGatewayStateFieldFilter: oneOf: - $ref: '#/components/schemas/TransitGatewayStateFieldEqualsFilter' - $ref: '#/components/schemas/TransitGatewayStateFieldNotEqualsFilter' - $ref: '#/components/schemas/TransitGatewayStateFieldOrEqualityFilter' title: TransitGatewayStateFieldFilter TransitGatewayStateFieldEqualsFilter: description: Filter transit-gateway state by exact match. oneOf: - $ref: '#/components/schemas/TransitGatewayState' - type: object title: TransitGatewayStateFieldEqualsComparison properties: eq: $ref: '#/components/schemas/TransitGatewayState' required: - eq title: TransitGatewayStateFieldEqualsFilter TransitGatewayStateFieldNotEqualsFilter: description: Filter transit-gateway state by inequality match. type: object properties: neq: $ref: '#/components/schemas/TransitGatewayState' required: - neq title: TransitGatewayStateFieldNotEqualsFilter TransitGatewayStateFieldOrEqualityFilter: description: | Filter transit-gateway state by determining if the value is equal to any in a set of values, where the set is a comma-delimited list. type: object properties: oeq: type: string required: - oeq title: TransitGatewayStateFieldOrEqualityFilter PrivateDnsStateFieldFilter: oneOf: - $ref: '#/components/schemas/PrivateDnsStateFieldEqualsFilter' - $ref: '#/components/schemas/PrivateDnsStateFieldNotEqualsFilter' - $ref: '#/components/schemas/PrivateDnsStateFieldOrEqualityFilter' title: PrivateDnsStateFieldFilter PrivateDnsStateFieldEqualsFilter: description: Filter Private DNS state by exact match. oneOf: - $ref: '#/components/schemas/PrivateDnsState' - type: object title: PrivateDnsStateFieldEqualsComparison properties: eq: $ref: '#/components/schemas/PrivateDnsState' required: - eq title: PrivateDnsStateFieldEqualsFilter PrivateDnsStateFieldNotEqualsFilter: description: Filter private-dns state by inequality match. type: object properties: neq: $ref: '#/components/schemas/PrivateDnsState' required: - neq title: PrivateDnsStateFieldNotEqualsFilter PrivateDnsStateFieldOrEqualityFilter: description: | Filter Private DNS state by determining if the value is equal to any in a set of values, where the set is a comma-delimited list. type: object properties: oeq: type: string required: - oeq title: PrivateDnsStateFieldOrEqualityFilter IDFieldFilter: 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 neq: description: The field does not match the provided value. type: string oeq: description: The field matches any of the provided values. type: string additionalProperties: false ControlPlaneGeoFieldFilter: oneOf: - $ref: '#/components/schemas/ControlPlaneGeoFieldEqualsFilter' - $ref: '#/components/schemas/ControlPlaneGeoFieldNotEqualsFilter' - $ref: '#/components/schemas/ControlPlaneGeoFieldOrEqualityFilter' title: ControlPlaneGeoFieldFilter ControlPlaneGeoFieldEqualsFilter: description: Filter a control-plane geo by exact match. oneOf: - $ref: '#/components/schemas/ControlPlaneGeo' - type: object title: ControlPlaneGeoFieldEqualsComparison properties: eq: $ref: '#/components/schemas/ControlPlaneGeo' required: - eq title: ControlPlaneGeoFieldEqualsFilter ControlPlaneGeoFieldNotEqualsFilter: description: Filter a control-plane geo by inequality match. type: object properties: neq: $ref: '#/components/schemas/ControlPlaneGeo' required: - neq title: ControlPlaneGeoFieldNotEqualsFilter ControlPlaneGeoFieldOrEqualityFilter: description: | Filter a control-plane geo by determining if the value is equal to any in a set of values, where the set is a comma-delimited list. type: object properties: oeq: type: string required: - oeq title: ControlPlaneGeoFieldOrEqualityFilter ResourceConfiguration: description: Object containing information about a resource configuration. type: object properties: id: $ref: '#/components/schemas/ResourceConfigurationId' qualifier: $ref: '#/components/schemas/ResourceConfigurationQualifier' value: $ref: '#/components/schemas/ResourceConfigurationValue' required: - id - qualifier - value title: Resource Configuration DefaultResourceConfiguration: description: 'Object containing information about a default resource configurations, and any organizational overrides.' type: object properties: id: $ref: '#/components/schemas/DefaultResourceConfigurationId' qualifier: $ref: '#/components/schemas/ResourceConfigurationQualifier' name: $ref: '#/components/schemas/ResourceConfigurationName' description: $ref: '#/components/schemas/ResourceConfigurationDescription' value: $ref: '#/components/schemas/ResourceConfigurationValue' overrides: description: Organizational overrides for this default resource configuration. type: array items: $ref: '#/components/schemas/ResourceConfiguration' created_at: description: An RFC-3339 timestamp representation of default resource configuration creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true updated_at: description: An RFC-3339 timestamp representation of default resource configuration update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true required: - id - qualifier - name - description - value - overrides - created_at - updated_at title: Default Resource Configuration AddOnsFilterParameters: description: Filter parameters for add-ons list operation. type: object properties: name: $ref: '#/components/schemas/CloudGatewaysStringFieldFilterOverride' state: $ref: '#/components/schemas/AddOnStateFieldFilter' config.kind: $ref: '#/components/schemas/AddOnConfigKindFieldFilter' owner.control_plane_id: $ref: '#/components/schemas/UuidFieldFilter' owner.control_plane_geo: $ref: '#/components/schemas/ControlPlaneGeoFieldFilter' owner.control_plane_group_id: $ref: '#/components/schemas/UuidFieldFilter' owner.control_plane_group_geo: $ref: '#/components/schemas/ControlPlaneGeoFieldFilter' additionalProperties: false title: Add-Ons Filter Parameters AddOnStateFieldFilter: oneOf: - $ref: '#/components/schemas/AddOnStateFieldEqualsFilter' - $ref: '#/components/schemas/AddOnStateFieldNotEqualsFilter' - $ref: '#/components/schemas/AddOnStateFieldOrEqualityFilter' title: AddOnStateFieldFilter AddOnStateFieldEqualsFilter: description: Filter add-on state by exact match. oneOf: - $ref: '#/components/schemas/AddOnState' - $ref: '#/components/schemas/AddOnStateFieldEqualsComparison' title: AddOnStateFieldEqualsFilter AddOnStateFieldEqualsComparison: type: object properties: eq: $ref: '#/components/schemas/AddOnState' additionalProperties: false required: - eq title: AddOnStateFieldEqualsComparison AddOnStateFieldNotEqualsFilter: description: Filter add-on state by inequality match. type: object properties: neq: $ref: '#/components/schemas/AddOnState' additionalProperties: false required: - neq title: AddOnStateFieldNotEqualsFilter AddOnStateFieldOrEqualityFilter: description: | Filter add-on state by determining if the value is equal to any in a set of values, where the set is a comma-delimited list. type: object properties: oeq: type: string additionalProperties: false required: - oeq title: AddOnStateFieldOrEqualityFilter AddOnConfigKindFieldFilter: description: Filter for add-on config kind field. oneOf: - $ref: '#/components/schemas/AddOnConfigKindFieldEqualsFilter' - $ref: '#/components/schemas/AddOnConfigKindFieldNotEqualsFilter' - $ref: '#/components/schemas/AddOnConfigKindFieldOrEqualityFilter' title: Add-On Config Kind Field Filter AddOnConfigKindFieldEqualsFilter: description: Filter add-on config kind by exact match. oneOf: - $ref: '#/components/schemas/AddOnConfigKind' - $ref: '#/components/schemas/AddOnConfigKindFieldEqualsComparison' title: Add-On Config Kind Field Equals Filter AddOnConfigKindFieldEqualsComparison: type: object properties: eq: $ref: '#/components/schemas/AddOnConfigKind' additionalProperties: false required: - eq title: AddOnConfigKindFieldEqualsComparison AddOnConfigKindFieldNotEqualsFilter: description: Filter add-on config kind by inequality match. type: object properties: neq: $ref: '#/components/schemas/AddOnConfigKind' additionalProperties: false required: - neq title: Add-On Config Kind Field Not Equals Filter AddOnConfigKindFieldOrEqualityFilter: description: Filter add-on config kind by determining if the value is equal to any in a set of values. type: object properties: oeq: description: Comma-delimited list of add-on kinds. type: string additionalProperties: false required: - oeq title: Add-On Config Kind Field Or Equality Filter AddOnConfigKind: description: Type of add-on config. type: string enum: - managed-cache.v0 title: Add-On Config Kind 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 ListCursorMeta: anyOf: - $ref: '#/components/schemas/CursorMeta' - allOf: - $ref: '#/components/schemas/CursorMetaPage' deprecated: true NotificationFilterParameters: type: object properties: title: $ref: '#/components/schemas/LegacyStringFieldFilter' description: $ref: '#/components/schemas/LegacyStringFieldFilter' namespace: $ref: '#/components/schemas/LegacyStringFieldFilter' region: $ref: '#/components/schemas/LegacyStringFieldFilter' status: $ref: '#/components/schemas/LegacyStringFieldFilter' additionalProperties: false title: NotificationFilterParameters ConfigurationFilterParameters: type: object properties: event_title: $ref: '#/components/schemas/LegacyStringFieldFilter' event_description: $ref: '#/components/schemas/LegacyStringFieldFilter' event_namespace: $ref: '#/components/schemas/LegacyStringFieldFilter' region: $ref: '#/components/schemas/LegacyStringFieldFilter' additionalProperties: false title: ConfigurationFilterParameters Notification: description: Properties of a notification. type: object properties: id: $ref: '#/components/schemas/UUID' title: type: string description: type: string status: $ref: '#/components/schemas/NotificationStatus' region: $ref: '#/components/schemas/NotificationRegion' namespace: $ref: '#/components/schemas/NotificationNamespace' entity_id: description: ID of the entity. Use '*' to represent all entities of this type. type: string details: description: Metadata associated with the notification to build actionable links. type: object created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - id - title - description - status - region - namespace - entity_id - details - created_at - updated_at NotificationUpdatePayload: description: Status of the notification. type: object properties: status: $ref: '#/components/schemas/NotificationStatus' required: - status NotificationStatus: description: Status of the notification. type: string enum: - READ - UNREAD - ARCHIVED x-speakeasy-unknown-values: allow NotificationRegion: description: Region associated to a notification. type: string enum: - US - EU - AU - ME - IN - '*' x-speakeasy-unknown-values: allow NotificationChannel: description: Channel subscription details for an event. type: object properties: type: $ref: '#/components/schemas/NotificationChannelType' enabled: type: boolean required: - type - enabled NotificationChannelType: type: string enum: - EMAIL - IN_APP x-speakeasy-unknown-values: allow NotificationNamespace: type: string enum: - plan-and-usage - organization - dev-portal - cloud-gateways - gateway-manager x-speakeasy-unknown-values: allow EntityTypes: type: string enum: - billing-invoice - access-token - webhook - dev-portal - dataplane-group - dataplane - kai-enablement - enterprise-trial x-speakeasy-unknown-values: allow UserConfiguration: description: Properties of an event. type: object properties: event_id: type: string event_title: type: string event_description: type: string event_namespace: $ref: '#/components/schemas/NotificationNamespace' event_subscription_count: type: integer default: 0 default_subscription: type: array items: $ref: '#/components/schemas/DefaultSubscription' required: - event_id - event_title - event_description - event_namespace - event_subscription_count - default_subscription DefaultSubscription: type: object properties: channel: $ref: '#/components/schemas/NotificationChannelType' enabled: type: boolean required: - channel - enabled EventSubscriptionResponse: description: Properties associated with an event subscription. type: object properties: id: $ref: '#/components/schemas/UUID' entity_type: $ref: '#/components/schemas/EntityTypes' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' regions: type: array items: $ref: '#/components/schemas/NotificationRegion' entities: type: array items: type: string description: ID of the entity. Use '*' to represent all entities of this type. channels: type: array items: $ref: '#/components/schemas/NotificationChannel' enabled: description: Enable/Disable complete subscription within an event. type: boolean name: description: User provided name of the subscription. type: string required: - id - entity_type - created_at - updated_at - regions - entities - channels - enabled - name EventSubscription: description: Properties associated with an event subscription. type: object properties: regions: type: array items: $ref: '#/components/schemas/NotificationRegion' entities: type: array items: type: string description: ID of the entity. Use '*' to represent all entities of this type. channels: type: array items: $ref: '#/components/schemas/NotificationChannel' enabled: description: Enable/Disable complete subscription within an event. type: boolean name: description: User provided name of the subscription. type: string required: - regions - entities - channels - enabled - name BulkPayload: description: Request body schema for bulk status update. type: object properties: ids: type: array items: type: string maxItems: 100 minItems: 1 uniqueItems: true status: $ref: '#/components/schemas/NotificationStatus' required: - ids - status DcrConfigPropertyInitialClientId: description: | This ID should be copied from your identity provider's settings after you create a client and assign it as the management client for DCR for this developer portal type: string maxLength: 256 title: DcrConfigPropertyInitialClientId DcrConfigPropertyInitialClientSecret: description: | This secret should be copied from your identity provider's settings after you create a client and assign it as the management client for DCR for this developer portal type: string maxLength: 256 title: DcrConfigPropertyInitialClientSecret DcrConfigPropertyDcrToken: description: | This secret should be copied from your identity provider's settings after you create a client and assign it as the management client for DCR for this developer portal type: string maxLength: 256 title: DcrConfigPropertyInitialDcrToken DcrConfigPropertyInitialClientAudience: description: | This is the audience value used for the initial client. If using a custom domain on Auth0, this must be set as to the Auth0 Management API audience value. If left blank, the issuer will be used instead. type: string maxLength: 256 nullable: true title: DcrConfigPropertyInitialClientAudience DcrConfigPropertyApiKey: description: | This is the API Key that will be sent with each HTTP request to the custom DCR server. It can be verified on the server to ensure that incoming requests are coming from Konnect. type: string maxLength: 256 minLength: 12 pattern: '^[a-zA-Z0-9_]+$' title: DcrConfigPropertyApiKey DcrConfigPropertyDisableEventHooks: description: This flag disables all the event-hooks on the application flow for the DCR provider. type: boolean title: DcrConfigPropertyDisableEventHooks DcrConfigPropertyDisableRefreshSecret: description: This flag disable the refresh-secret endpoint on the application flow for the DCR provider. type: boolean title: DcrConfigPropertyDisableRefreshSecret DcrConfigPropertyAllowMultipleCredentials: description: 'When enabled, indicates that the DCR provider supports creating and managing multiple credentials per application.' type: boolean default: false title: DcrConfigPropertyAllowMultipleCredentials DcrConfigAuth0InResponse: description: A DCR provider configuration for Auth0 type: object properties: initial_client_id: $ref: '#/components/schemas/DcrConfigPropertyInitialClientId' initial_client_audience: $ref: '#/components/schemas/DcrConfigPropertyInitialClientAudience' use_developer_managed_scopes: type: boolean additionalProperties: false required: - initial_client_id - initial_client_audience - use_developer_managed_scopes title: DcrConfigAuth0InResponse CreateDcrConfigAuth0InRequest: description: Payload to create an Auth0 DCR provider. type: object properties: initial_client_id: $ref: '#/components/schemas/DcrConfigPropertyInitialClientId' initial_client_secret: $ref: '#/components/schemas/DcrConfigPropertyInitialClientSecret' initial_client_audience: $ref: '#/components/schemas/DcrConfigPropertyInitialClientAudience' use_developer_managed_scopes: type: boolean additionalProperties: false required: - initial_client_id - initial_client_secret title: DcrConfigAuth0InRequest UpdateDcrConfigAuth0InRequest: description: Payload to update an Auth0 DCR provider. type: object properties: initial_client_id: $ref: '#/components/schemas/DcrConfigPropertyInitialClientId' initial_client_secret: $ref: '#/components/schemas/DcrConfigPropertyInitialClientSecret' initial_client_audience: $ref: '#/components/schemas/DcrConfigPropertyInitialClientAudience' use_developer_managed_scopes: type: boolean additionalProperties: false title: DcrConfigAuth0InRequest DcrConfigAzureAdInResponse: description: A DCR provider configuration for Azure AD type: object properties: initial_client_id: $ref: '#/components/schemas/DcrConfigPropertyInitialClientId' additionalProperties: false required: - initial_client_id title: DcrConfigAzureAdInResponse CreateDcrConfigAzureAdInRequest: description: Payload to create an Azure AD DCR provider. type: object properties: initial_client_id: $ref: '#/components/schemas/DcrConfigPropertyInitialClientId' initial_client_secret: $ref: '#/components/schemas/DcrConfigPropertyInitialClientSecret' additionalProperties: false required: - initial_client_id - initial_client_secret title: DcrConfigAzureAdInRequest UpdateDcrConfigAzureAdInRequest: description: Payload to update an Azure AD DCR provider. type: object properties: initial_client_id: $ref: '#/components/schemas/DcrConfigPropertyInitialClientId' initial_client_secret: $ref: '#/components/schemas/DcrConfigPropertyInitialClientSecret' additionalProperties: false title: DcrConfigAzureAdInRequest DcrConfigCurityInResponse: description: A DCR provider configuration for Curity type: object properties: initial_client_id: $ref: '#/components/schemas/DcrConfigPropertyInitialClientId' additionalProperties: false required: - initial_client_id title: DcrConfigCurityInResponse CreateDcrConfigCurityInRequest: description: Payload to create a Curity DCR provider. type: object properties: initial_client_id: $ref: '#/components/schemas/DcrConfigPropertyInitialClientId' initial_client_secret: $ref: '#/components/schemas/DcrConfigPropertyInitialClientSecret' additionalProperties: false required: - initial_client_id - initial_client_secret title: DcrConfigCurityInRequest UpdateDcrConfigCurityInRequest: description: Payload to update a Curity DCR provider. type: object properties: initial_client_id: $ref: '#/components/schemas/DcrConfigPropertyInitialClientId' initial_client_secret: $ref: '#/components/schemas/DcrConfigPropertyInitialClientSecret' additionalProperties: false title: DcrConfigCurityInRequest DcrConfigOktaInResponse: description: A DCR provider configuration for Okta type: object properties: {} additionalProperties: false title: DcrConfigOktaInResponse CreateDcrConfigOktaInRequest: description: Payload to create an Okta DCR provider. type: object properties: dcr_token: $ref: '#/components/schemas/DcrConfigPropertyDcrToken' additionalProperties: false required: - dcr_token title: DcrConfigOktaInRequest UpdateDcrConfigOktaInRequest: description: Payload to update an Okta DCR provider. type: object properties: dcr_token: $ref: '#/components/schemas/DcrConfigPropertyDcrToken' additionalProperties: false title: DcrConfigOktaInRequest DcrConfigHttpInResponse: description: A DCR provider configuration for HTTP type: object properties: dcr_base_url: type: string format: url disable_event_hooks: $ref: '#/components/schemas/DcrConfigPropertyDisableEventHooks' disable_refresh_secret: $ref: '#/components/schemas/DcrConfigPropertyDisableRefreshSecret' allow_multiple_credentials: $ref: '#/components/schemas/DcrConfigPropertyAllowMultipleCredentials' additionalProperties: false required: - dcr_base_url title: DcrConfigHttpInResponse CreateDcrConfigHttpInRequest: description: Payload to create an HTTP DCR provider. type: object properties: dcr_base_url: $ref: '#/components/schemas/DcrBaseUrl' api_key: $ref: '#/components/schemas/DcrConfigPropertyApiKey' disable_event_hooks: $ref: '#/components/schemas/DcrConfigPropertyDisableEventHooks' disable_refresh_secret: $ref: '#/components/schemas/DcrConfigPropertyDisableRefreshSecret' allow_multiple_credentials: $ref: '#/components/schemas/DcrConfigPropertyAllowMultipleCredentials' additionalProperties: false required: - dcr_base_url - api_key title: CreateDcrConfigHttpInRequest UpdateDcrConfigHttpInRequest: description: Payload to update an HTTP DCR provider. type: object properties: dcr_base_url: $ref: '#/components/schemas/DcrBaseUrl' api_key: $ref: '#/components/schemas/DcrConfigPropertyApiKey' disable_event_hooks: $ref: '#/components/schemas/DcrConfigPropertyDisableEventHooks' disable_refresh_secret: $ref: '#/components/schemas/DcrConfigPropertyDisableRefreshSecret' allow_multiple_credentials: $ref: '#/components/schemas/DcrConfigPropertyAllowMultipleCredentials' additionalProperties: false title: CreateDcrConfigHttpInRequest DcrProviderBase: description: Properties common to all DCR Providers. type: object properties: id: $ref: '#/components/schemas/UUID' name: $ref: '#/components/schemas/DcrProviderName' display_name: $ref: '#/components/schemas/DcrProviderDisplayName' provider_type: description: 'The type of DCR provider. Can be one of the following - auth0, azureAd, curity, okta, http' type: string issuer: description: The issuer of the DCR provider. type: string format: url maxLength: 256 active: description: At least one active auth strategy is using this DCR provider. type: boolean readOnly: true dcr_config: description: The DCR configuration for this DCR provider. type: object labels: $ref: '#/components/schemas/Labels' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - id - name - provider_type - issuer - active - dcr_config - created_at - updated_at DcrProviderAuth0: description: A DCR provider for Auth0 -- only properties not included in DcrProviderBase type: object properties: provider_type: type: string enum: - auth0 dcr_config: $ref: '#/components/schemas/DcrConfigAuth0InResponse' required: - provider_type - dcr_config title: DCR provider - Auth0 DcrProviderAzureAd: description: A DCR provider for Azure AD -- only properties not included in DcrProviderBase type: object properties: provider_type: type: string enum: - azureAd dcr_config: $ref: '#/components/schemas/DcrConfigAzureAdInResponse' required: - provider_type - dcr_config title: DCR provider - Azure AD DcrProviderCurity: description: A DCR provider for Curity -- only properties not included in DcrProviderBase type: object properties: provider_type: type: string enum: - curity dcr_config: $ref: '#/components/schemas/DcrConfigCurityInResponse' required: - provider_type - dcr_config title: DCR provider - Curity DcrProviderOkta: description: A DCR provider for Okta -- only properties not included in DcrProviderBase type: object properties: provider_type: type: string enum: - okta dcr_config: $ref: '#/components/schemas/DcrConfigOktaInResponse' required: - provider_type - dcr_config title: DCR provider - OKTA DcrProviderHttp: description: A DCR provider for HTTP -- only properties not included in DcrProviderBase type: object properties: provider_type: type: string enum: - http dcr_config: $ref: '#/components/schemas/DcrConfigHttpInResponse' required: - provider_type - dcr_config title: DCR provider - HTTP CreateDcrProviderResponse: description: A response containing the newly created DCR provider object. type: object allOf: - $ref: '#/components/schemas/DcrProviderBase' - discriminator: propertyName: provider_type mapping: auth0: '#/components/schemas/DcrProviderAuth0' azureAd: '#/components/schemas/DcrProviderAzureAd' curity: '#/components/schemas/DcrProviderCurity' okta: '#/components/schemas/DcrProviderOkta' http: '#/components/schemas/DcrProviderHttp' type: object oneOf: - $ref: '#/components/schemas/DcrProviderAuth0' - $ref: '#/components/schemas/DcrProviderAzureAd' - $ref: '#/components/schemas/DcrProviderCurity' - $ref: '#/components/schemas/DcrProviderOkta' - $ref: '#/components/schemas/DcrProviderHttp' DcrProviderResponse: description: A response containing a single DCR provider object. Sensitive fields will be removed from the response. type: object allOf: - $ref: '#/components/schemas/DcrProviderBase' - discriminator: propertyName: provider_type mapping: auth0: '#/components/schemas/DcrProviderAuth0' azureAd: '#/components/schemas/DcrProviderAzureAd' curity: '#/components/schemas/DcrProviderCurity' okta: '#/components/schemas/DcrProviderOkta' http: '#/components/schemas/DcrProviderHttp' type: object oneOf: - $ref: '#/components/schemas/DcrProviderAuth0' - $ref: '#/components/schemas/DcrProviderAzureAd' - $ref: '#/components/schemas/DcrProviderCurity' - $ref: '#/components/schemas/DcrProviderOkta' - $ref: '#/components/schemas/DcrProviderHttp' CreateDcrProviderRequestAuth0: description: Request body for creating an Auth0 DCR provider. type: object properties: provider_type: type: string enum: - auth0 dcr_config: $ref: '#/components/schemas/CreateDcrConfigAuth0InRequest' name: $ref: '#/components/schemas/DcrProviderName' display_name: $ref: '#/components/schemas/DcrProviderDisplayName' issuer: type: string format: url maxLength: 256 labels: $ref: '#/components/schemas/Labels' required: - provider_type - dcr_config - name - issuer title: CreateDcrProviderRequestAuth0 CreateDcrProviderRequestAzureAd: description: Request body for creating an Azure AD DCR provider. type: object properties: provider_type: type: string enum: - azureAd dcr_config: $ref: '#/components/schemas/CreateDcrConfigAzureAdInRequest' name: $ref: '#/components/schemas/DcrProviderName' display_name: $ref: '#/components/schemas/DcrProviderDisplayName' issuer: type: string format: url maxLength: 256 labels: $ref: '#/components/schemas/Labels' required: - provider_type - dcr_config - name - issuer title: CreateDcrProviderRequestAzureAd CreateDcrProviderRequestCurity: description: Request body for creating a Curity DCR provider. type: object properties: provider_type: type: string enum: - curity dcr_config: $ref: '#/components/schemas/CreateDcrConfigCurityInRequest' name: $ref: '#/components/schemas/DcrProviderName' display_name: $ref: '#/components/schemas/DcrProviderDisplayName' issuer: type: string format: url maxLength: 256 labels: $ref: '#/components/schemas/Labels' required: - provider_type - dcr_config - name - issuer title: CreateDcrProviderRequestCurity CreateDcrProviderRequestOkta: description: Request body for creating an Okta DCR provider. type: object properties: provider_type: type: string enum: - okta dcr_config: $ref: '#/components/schemas/CreateDcrConfigOktaInRequest' name: $ref: '#/components/schemas/DcrProviderName' display_name: $ref: '#/components/schemas/DcrProviderDisplayName' issuer: type: string format: url maxLength: 256 labels: $ref: '#/components/schemas/Labels' required: - provider_type - dcr_config - name - issuer title: CreateDcrProviderRequestOkta CreateDcrProviderRequestHttp: description: Request body for creating an HTTP DCR provider. type: object properties: provider_type: type: string enum: - http dcr_config: $ref: '#/components/schemas/CreateDcrConfigHttpInRequest' name: $ref: '#/components/schemas/DcrProviderName' display_name: $ref: '#/components/schemas/DcrProviderDisplayName' issuer: type: string format: url maxLength: 256 labels: $ref: '#/components/schemas/Labels' required: - provider_type - dcr_config - name - issuer title: CreateDcrProviderRequestHttp CreateDcrProviderRequest: description: Request body for creating a DCR provider. The provider_type cannot be updated after creation. type: object discriminator: propertyName: provider_type mapping: auth0: '#/components/schemas/CreateDcrProviderRequestAuth0' azureAd: '#/components/schemas/CreateDcrProviderRequestAzureAd' curity: '#/components/schemas/CreateDcrProviderRequestCurity' okta: '#/components/schemas/CreateDcrProviderRequestOkta' http: '#/components/schemas/CreateDcrProviderRequestHttp' oneOf: - $ref: '#/components/schemas/CreateDcrProviderRequestAuth0' - $ref: '#/components/schemas/CreateDcrProviderRequestAzureAd' - $ref: '#/components/schemas/CreateDcrProviderRequestCurity' - $ref: '#/components/schemas/CreateDcrProviderRequestOkta' - $ref: '#/components/schemas/CreateDcrProviderRequestHttp' title: CreateDcrProviderRequest UpdateDcrProviderRequest: description: A set of updates to a DCR provider. The provider_type cannot be updated after creation. type: object properties: name: $ref: '#/components/schemas/DcrProviderName' display_name: $ref: '#/components/schemas/DcrProviderDisplayName' issuer: type: string format: url maxLength: 256 labels: $ref: '#/components/schemas/LabelsUpdate' dcr_config: anyOf: - $ref: '#/components/schemas/UpdateDcrConfigAuth0InRequest' - $ref: '#/components/schemas/UpdateDcrConfigAzureAdInRequest' - $ref: '#/components/schemas/UpdateDcrConfigCurityInRequest' - $ref: '#/components/schemas/UpdateDcrConfigOktaInRequest' - $ref: '#/components/schemas/UpdateDcrConfigHttpInRequest' additionalProperties: false title: UpdateDcrProviderRequest ListDcrProvidersResponse: description: A paginated list response for a collection of DCR providers type: object properties: data: type: array items: $ref: '#/components/schemas/DcrProviderResponse' meta: $ref: '#/components/schemas/PaginatedMeta' additionalProperties: false required: - data - meta title: ListDcrProvidersResponse VerifyDcrProviderResponse: description: A response containing the result of attempting to verify a DCR provider configuration. type: object properties: status: type: string enum: - success - failed x-speakeasy-unknown-values: allow errors: type: array items: type: string additionalProperties: false required: - status - errors title: VerifyDcrProviderResponse AppAuthStrategyConfigKeyAuth: description: | The most basic mode to configure an Application Auth Strategy for an API Product Version. Using this mode will allow developers to generate API keys that will authenticate their application requests. Once authenticated, an application will be granted access to any Product Version it is registered for that is configured for Key Auth. type: object properties: key_names: description: The names of the headers containing the API key. You can specify multiple header names. type: array items: type: string maxLength: 256 maxItems: 10 minItems: 1 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 required: - value - unit additionalProperties: false title: AppAuthStrategyConfigKeyAuth PartialAppAuthStrategyConfigKeyAuth: description: | Key Auth configuration for updating an Application Auth Strategy. The ttl field can be set to null to unset the Time-To-Live. type: object properties: key_names: description: The names of the headers containing the API key. You can specify multiple header names. type: array items: type: string maxLength: 256 maxItems: 10 minItems: 1 ttl: description: Default maximum Time-To-Live for keys created under this strategy. Set to null to unset. type: object nullable: true properties: value: type: integer minimum: 1 unit: type: string enum: - days - weeks - years x-speakeasy-unknown-values: allow required: - value - unit additionalProperties: false title: PartialAppAuthStrategyConfigKeyAuth PartialAppAuthStrategyConfigOpenIDConnect: description: | A more advanced mode to configure an API Product Version’s Application Auth Strategy. Using this mode will allow developers to use API credentials issued from an external IdP that will authenticate their application requests. Once authenticated, an application will be granted access to any Product Version it is registered for that is configured for the same Auth Strategy. An OIDC strategy may be used in conjunction with a DCR provider to automatically create the IdP application. type: object properties: issuer: type: string format: url maxLength: 256 credential_claim: type: array items: type: string maxLength: 128 maxItems: 10 scopes: type: array items: type: string maxLength: 128 maxItems: 50 auth_methods: type: array items: type: string maxLength: 64 maxItems: 10 additionalProperties: true title: PartialAppAuthStrategyConfigOpenIDConnect AppAuthStrategyConfigOpenIDConnect: description: | A more advanced mode to configure an API Product Version’s Application Auth Strategy. Using this mode will allow developers to use API credentials issued from an external IdP that will authenticate their application requests. Once authenticated, an application will be granted access to any Product Version it is registered for that is configured for the same Auth Strategy. An OIDC strategy may be used in conjunction with a DCR provider to automatically create the IdP application. type: object properties: issuer: type: string format: url maxLength: 256 credential_claim: type: array items: type: string maxLength: 128 maxItems: 10 scopes: type: array items: type: string maxLength: 128 maxItems: 50 auth_methods: type: array items: type: string maxLength: 64 maxItems: 10 additionalProperties: true required: - issuer - credential_claim - scopes - auth_methods title: AppAuthStrategyConfigOpenIDConnect AppAuthStrategyKeyAuthRequest: description: Request for creating a Key Auth Application Auth Strategy type: object properties: name: $ref: '#/components/schemas/AuthStrategyName' display_name: $ref: '#/components/schemas/AuthStrategyDisplayName' strategy_type: type: string enum: - key_auth configs: description: JSON-B object containing the configuration for the Key Auth strategy type: object additionalProperties: false properties: key-auth: $ref: '#/components/schemas/AppAuthStrategyConfigKeyAuth' required: - key-auth labels: $ref: '#/components/schemas/Labels' additionalProperties: false required: - name - display_name - strategy_type - configs title: AppAuthStrategyKeyAuthRequest AppAuthStrategyKeyAuthResponse: description: Response payload from creating or updating a Key Auth Application Auth Strategy type: object properties: id: $ref: '#/components/schemas/UUID' name: $ref: '#/components/schemas/AuthStrategyName' display_name: $ref: '#/components/schemas/AuthStrategyDisplayName' strategy_type: type: string enum: - key_auth configs: description: JSON-B object containing the configuration for the Key Auth strategy type: object additionalProperties: false properties: key-auth: $ref: '#/components/schemas/AppAuthStrategyConfigKeyAuth' required: - key-auth active: description: At least one published entity is using this auth strategy. type: boolean dcr_provider: type: object additionalProperties: false nullable: true properties: id: $ref: '#/components/schemas/UUID' name: type: string display_name: $ref: '#/components/schemas/DcrProviderDisplayName' provider_type: description: The type of DCR provider. type: string enum: - auth0 - azureAd - curity - okta - http x-speakeasy-unknown-values: allow required: - id - name - provider_type labels: $ref: '#/components/schemas/Labels' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' supports_multiple_credentials: description: | Indicates whether this auth strategy supports multiple credentials. Always `true` for KEY_AUTH. type: boolean default: true readOnly: true additionalProperties: false required: - id - name - display_name - strategy_type - configs - active - dcr_provider - labels - created_at - updated_at title: AppAuthStrategyKeyAuthResponse AppAuthStrategyOpenIDConnectRequest: description: Payload for creating an OIDC Application Auth Strategy type: object properties: name: $ref: '#/components/schemas/AuthStrategyName' display_name: $ref: '#/components/schemas/AuthStrategyDisplayName' strategy_type: type: string enum: - openid_connect configs: description: JSON-B object containing the configuration for the OIDC strategy type: object additionalProperties: false properties: openid-connect: $ref: '#/components/schemas/AppAuthStrategyConfigOpenIDConnect' required: - openid-connect dcr_provider_id: type: string format: uuid nullable: true labels: $ref: '#/components/schemas/Labels' additionalProperties: false required: - name - display_name - strategy_type - configs title: AppAuthStrategyOpenIDConnectRequest AppAuthStrategyOpenIDConnectResponse: description: Response payload from creating an OIDC Application Auth Strategy type: object properties: id: $ref: '#/components/schemas/UUID' name: $ref: '#/components/schemas/AuthStrategyName' display_name: $ref: '#/components/schemas/AuthStrategyDisplayName' strategy_type: type: string enum: - openid_connect configs: description: JSON-B object containing the configuration for the OIDC strategy type: object additionalProperties: false properties: openid-connect: $ref: '#/components/schemas/AppAuthStrategyConfigOpenIDConnect' required: - openid-connect active: description: At least one published entity is using this auth strategy. type: boolean dcr_provider: type: object additionalProperties: false nullable: true properties: id: $ref: '#/components/schemas/UUID' name: type: string display_name: $ref: '#/components/schemas/DcrProviderDisplayName' provider_type: description: The type of DCR provider. type: string enum: - auth0 - azureAd - curity - okta - http x-speakeasy-unknown-values: allow required: - id - name - provider_type labels: $ref: '#/components/schemas/Labels' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' supports_multiple_credentials: description: | Indicates whether this auth strategy supports multiple credentials. - `true` for Key Auth strategies and when supported for Client Credentials strategies - `false` when not supported for Client Credentials strategies type: boolean readOnly: true additionalProperties: false required: - id - name - display_name - strategy_type - configs - active - dcr_provider - labels - created_at - updated_at title: AppAuthStrategyOpenIDConnectResponse CreateAppAuthStrategyRequest: x-speakeasy-entity: ApplicationAuthStrategy description: Request body for creating an Application Auth Strategy type: object discriminator: propertyName: strategy_type mapping: key_auth: '#/components/schemas/AppAuthStrategyKeyAuthRequest' openid_connect: '#/components/schemas/AppAuthStrategyOpenIDConnectRequest' oneOf: - $ref: '#/components/schemas/AppAuthStrategyKeyAuthRequest' - $ref: '#/components/schemas/AppAuthStrategyOpenIDConnectRequest' required: - strategy_type title: CreateAppAuthStrategyRequest AppAuthStrategy: x-speakeasy-entity: ApplicationAuthStrategy description: A set of plugin configurations that represent how the gateway will perform authentication and authorization for a Product Version. Called “Auth Strategy” for short in the context of portals/applications. The plugins are synced to any Gateway Service that is currently linked or becomes linked to the Product Version. type: object discriminator: propertyName: strategy_type mapping: key_auth: '#/components/schemas/AppAuthStrategyKeyAuthResponse' openid_connect: '#/components/schemas/AppAuthStrategyOpenIDConnectResponse' oneOf: - $ref: '#/components/schemas/AppAuthStrategyKeyAuthResponse' - $ref: '#/components/schemas/AppAuthStrategyOpenIDConnectResponse' required: - strategy_type title: AppAuthStrategy UpdateAppAuthStrategyRequest: x-speakeasy-entity: ApplicationAuthStrategy description: Request body for updating an Application Auth Strategy type: object properties: name: $ref: '#/components/schemas/AuthStrategyName' display_name: $ref: '#/components/schemas/AuthStrategyDisplayName' labels: $ref: '#/components/schemas/LabelsUpdate' dcr_provider_id: type: string format: uuid nullable: true configs: description: JSON-B object containing the configuration for the OIDC strategy under the key 'openid-connect' or the configuration for the Key Auth strategy under the key 'key-auth' type: object oneOf: - $ref: '#/components/schemas/UpdateAppAuthStrategyRequestOpenIdConnect' - $ref: '#/components/schemas/UpdateAppAuthStrategyRequestKeyAuth' additionalProperties: false title: UpdateAppAuthStrategyRequest UpdateAppAuthStrategyRequestOpenIdConnect: type: object properties: openid-connect: $ref: '#/components/schemas/PartialAppAuthStrategyConfigOpenIDConnect' additionalProperties: false required: - openid-connect UpdateAppAuthStrategyRequestKeyAuth: type: object properties: key-auth: $ref: '#/components/schemas/PartialAppAuthStrategyConfigKeyAuth' additionalProperties: false required: - key-auth CreateAppAuthStrategyResponse: $ref: '#/components/schemas/AppAuthStrategy' UpdateAppAuthStrategyResponse: $ref: '#/components/schemas/AppAuthStrategy' GetAppAuthStrategyResponse: $ref: '#/components/schemas/AppAuthStrategy' ListAppAuthStrategiesResponse: description: A paginated list response for a collection of Application Auth Strategies type: object properties: data: type: array items: $ref: '#/components/schemas/AppAuthStrategy' meta: $ref: '#/components/schemas/PaginatedMeta' additionalProperties: false required: - data - meta title: ListAppAuthStrategiesResponse DcrBaseUrl: description: | The base URL of the DCR server. This is the URL that will be used to make the HTTP requests from Konnect to the DCR provider. This URL must be accessible from the Konnect service. type: string format: url maxLength: 256 DcrProviderDisplayName: description: | The display name of the DCR provider. This is used to identify the DCR provider in the Portal UI. type: string maxLength: 256 minLength: 1 DcrProviderName: description: | The name of the DCR provider. This is used to identify the DCR provider in the Konnect UI. type: string maxLength: 256 minLength: 1 AuthStrategyName: description: | The name of the auth strategy. This is used to identify the auth strategy in the Konnect UI. type: string maxLength: 256 minLength: 1 AuthStrategyDisplayName: description: | The display name of the Auth strategy. This is used to identify the Auth strategy in the Portal UI. type: string maxLength: 256 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 ImageDataUri: example: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA' oneOf: - $ref: '#/components/schemas/ImagePNGDataUri' - $ref: '#/components/schemas/ImageJPGDataUri' - $ref: '#/components/schemas/ImageSVGDataUri' title: ImageDataUri ImageTypeSchema: description: The type of the image. type: string example: icon enum: - icon ReplaceImageRequestSchema: type: object properties: data: $ref: '#/components/schemas/ImageDataUri' additionalProperties: false required: - data title: Replace Image Payload ApiResponseSchema: type: object properties: id: description: The API identifier. type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 readOnly: 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 nullable: true 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 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 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 nullable: true readOnly: true attributes: $ref: '#/components/schemas/ApiAttributes' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - id - name - version - labels - created_at - updated_at - slug - portals - api_spec_ids - current_version_summary title: API APIImage: type: object properties: error: description: An error related to the image invalid status. type: string example: null nullable: true readOnly: true status: description: The status of the image. type: string example: valid enum: - uploading - validating - valid - invalid readOnly: true x-speakeasy-unknown-values: allow api_id: description: The API identifier which the image belongs to. type: string format: uuid example: 123e4567-e89b-12d3-a456-426614174000 readOnly: true image_type: allOf: - $ref: '#/components/schemas/ImageTypeSchema' - readOnly: true created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - status - error - api_id - image_type - created_at - updated_at title: Image Status 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 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 nullable: true title: API Document Parent Document ID 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 ApiDocumentSummaryWithChildren: type: object properties: id: $ref: '#/components/schemas/ApiDocumentId' title: $ref: '#/components/schemas/ApiDocumentTitle' slug: $ref: '#/components/schemas/ApiDocumentSlug' status: $ref: '#/components/schemas/ApiDocumentStatus' parent_document_id: $ref: '#/components/schemas/ApiDocumentParentDocumentId' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' children: type: array items: $ref: '#/components/schemas/ApiDocumentSummaryWithChildren' additionalProperties: false required: - id - title - slug - status - parent_document_id - created_at - updated_at - children title: API Document Summary 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 MoveDocumentRequestPayload: description: move document request payload type: object properties: parent_document_id: description: parent document id type: string format: uuid example: dd4e1b98-3629-4dd3-acc0-759a726ffee2 index: description: index of the document in the parent document's children type: integer example: 1 title: Move document ApiVersionSummary: type: object properties: id: description: The API version identifier. type: string format: uuid example: 7710d5c4-d902-410b-992f-18b814155b53 readOnly: true version: description: The version of this api spec. type: string spec: type: object additionalProperties: false properties: type: $ref: '#/components/schemas/ApiSpecType' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false nullable: true readOnly: true title: API Version Summary x-speakeasy-terraform-ignore: true APIVersionRequest: type: object properties: version: description: The version of the api. type: string example: 1.0.0 spec: type: object additionalProperties: false properties: content: 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"}}}}}}' type: string additionalProperties: false title: API Version Request ApiSpec: type: object properties: id: description: The API specification identifier. type: string format: uuid example: 7710d5c4-d902-410b-992f-18b814155b53 readOnly: 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 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 ValidateApiSpecRequestPayload: type: object properties: content: description: | The raw content of your API specification (OpenAPI or AsyncAPI), in json or yaml, to be validated. type: string additionalProperties: false required: - content title: API Specification Validation Request Payload ValidateApiSpecSuccessResponse: type: object properties: validation_messages: description: Any informational messages or warnings generated during validation. Empty if none. type: array items: type: object additionalProperties: false required: - message properties: message: type: string additionalProperties: false required: - validation_messages title: API Specification Validation Success Response 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 maxItems: 1 minItems: 1 nullable: true title: API Publication Auth Strategy IDs ApiPublicationListItem: description: An API publication in a portal type: object properties: api_id: description: The API identifier. type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 readOnly: true portal_id: description: The portal identifier. type: string format: uuid example: 7710d5c4-d902-410b-992f-18b814155b53 readOnly: true auto_approve_registrations: $ref: '#/components/schemas/AutoApproveRegistrations' entity_type: $ref: '#/components/schemas/EntityType' visibility: $ref: '#/components/schemas/ApiPublicationVisibility' auth_strategy_ids: $ref: '#/components/schemas/ApiPublicationAuthStrategyIds' warnings: description: Informational warnings (e.g. incompatible fields stripped for ACE). Empty if none. type: array items: type: string readOnly: true created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - api_id - portal_id - visibility - created_at - updated_at - auth_strategy_ids - auto_approve_registrations - entity_type title: API Publication List Item PublicationListItem: description: An API or API Package publication in a portal type: object properties: api_id: description: The API identifier. type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 readOnly: true portal_ids: description: The portal identifier. type: array items: type: string format: uuid example: - 7710d5c4-d902-410b-992f-18b814155b53 readOnly: true auto_approve_registrations: $ref: '#/components/schemas/AutoApproveRegistrations' entity_type: $ref: '#/components/schemas/EntityType' visibility: $ref: '#/components/schemas/ApiPublicationVisibility' auth_strategy_ids: $ref: '#/components/schemas/ApiPublicationAuthStrategyIds' warnings: description: Informational warnings (e.g. incompatible fields stripped for ACE). Empty if none. type: array items: type: string readOnly: true created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - api_id - portal_ids - visibility - created_at - updated_at - auth_strategy_ids - auto_approve_registrations - entity_type title: Publication List Item 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: auto_approve_registrations: $ref: '#/components/schemas/AutoApproveRegistrations' auth_strategy_ids: $ref: '#/components/schemas/ApiPublicationAuthStrategyIds' visibility: $ref: '#/components/schemas/ApiPublicationVisibility' warnings: description: Informational warnings (e.g. incompatible fields stripped for ACE). Empty if none. type: array items: type: string readOnly: true created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false title: API Publication ApiPackagePublication: description: An API Package publication in a portal type: object properties: auto_approve_registrations: $ref: '#/components/schemas/AutoApproveRegistrations' auth_strategy_ids: $ref: '#/components/schemas/ApiPublicationAuthStrategyIds' visibility: $ref: '#/components/schemas/ApiPublicationVisibility' warnings: description: Informational warnings (e.g. incompatible fields stripped for ACE). Empty if none. type: array items: type: string readOnly: true created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false title: API Package Publication 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 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 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 ApiImplementationListItem: description: An entity that implements an API type: object oneOf: - $ref: '#/components/schemas/ApiImplementationListItemGatewayServiceEntity' - $ref: '#/components/schemas/ApiImplementationListItemControlPlaneEntity' title: API Implementation List Item ApiImplementationListItemGatewayServiceEntity: description: An API Implementation list item for gateway services type: object properties: id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' api_id: description: The API identifier. type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 readOnly: true service: $ref: '#/components/schemas/ApiImplementationService' additionalProperties: false required: - id - api_id - created_at - updated_at title: ApiImplementationListItemGatewayServiceEntity ApiImplementationListItemControlPlaneEntity: description: An API Implementation list item for control planes type: object properties: id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' api_id: description: The API identifier. type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 readOnly: true control_plane: $ref: '#/components/schemas/ApiImplementationControlPlane' additionalProperties: false required: - id - api_id - created_at - updated_at - control_plane title: ApiImplementationListItemControlPlaneEntity 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' service: $ref: '#/components/schemas/ApiImplementationService' additionalProperties: false title: ApiImplementationGatewayServiceEntity 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' control_plane: $ref: '#/components/schemas/ApiImplementationControlPlane' additionalProperties: false title: ApiImplementationControlPlaneEntity x-speakeasy-name-override: Control Plane Reference ApiAttributeListItem: description: Entities that describe APIs type: object properties: id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' key: description: 'A unique key that can contain lowercase letters, numbers, hyphens, and underscores' type: string format: '^[a-z0-9-_]{0,128}$' example: kind maxLength: 128 values: type: array items: type: object required: - value - api_count properties: value: description: A keyword describing the API under the attribute key type: string example: REST maxLength: 512 minLength: 1 pattern: '^[^,<>]*$' api_count: type: integer additionalProperties: false readOnly: true required: - id - key - values - created_at - updated_at title: API Attribute List Item 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 ApiOperation: description: An operation linked to an API type: object properties: id: description: The API operation identifier. type: string format: uuid example: b42d905a-ed33-46a3-a093-d8f536af9a8a readOnly: true method: $ref: '#/components/schemas/Method' path: description: The path of the operation. type: string example: /users/* implementation_status: $ref: '#/components/schemas/ApiOperationImplementationStatus' additionalProperties: false required: - id - method - path title: API Operation ApiOperationImplementationStatus: description: The implementation status of the operation. type: object properties: matched: description: Whether the operation is matched by a Kong route in the control plane type: boolean readOnly: true route: type: object additionalProperties: false nullable: true properties: id: description: The route identifier type: string format: uuid name: description: The name of the route type: string readOnly: true required: - id - name service: type: object additionalProperties: false nullable: true properties: id: description: The service identifier type: string format: uuid name: description: The name of the service type: string readOnly: true required: - id - name additionalProperties: false required: - matched - route - service title: API Operation Implementation Status APIPackageJSONPatchOperation: description: A JSON Patch operation to add or remove API Operations from a Package. type: array items: $ref: '#/components/schemas/APIPackageJSONPatchItem' minItems: 1 title: JSON Patch Operation APIPackageJSONPatchItem: description: A JSON Patch operation to add or remove an API Operation from a Package. type: object properties: op: description: The operation to perform. type: string enum: - add - remove - replace x-speakeasy-unknown-values: allow path: description: 'The path to the API Operation in the Package, in the format "operations/<uuid>".' type: string pattern: '^operations/[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$' value: type: object additionalProperties: false properties: rate_limiting_config: $ref: '#/components/schemas/RateLimitingConfig' required: - rate_limiting_config additionalProperties: false required: - op - path ApiFilterParameters: type: object properties: id: $ref: '#/components/schemas/UuidFieldFilter' name: $ref: '#/components/schemas/StringFieldFilter' version: $ref: '#/components/schemas/StringFieldFilter' labels: $ref: '#/components/schemas/LabelsFieldFilter' attributes: $ref: '#/components/schemas/AttributesFieldFilter' implementation_mode: $ref: '#/components/schemas/StringFieldFilter' created_at: $ref: '#/components/schemas/DateTimeFieldFilter' updated_at: $ref: '#/components/schemas/DateTimeFieldFilter' title: API Filter Parameters ApiPackageFilterParameters: type: object properties: id: $ref: '#/components/schemas/UuidFieldFilter' name: $ref: '#/components/schemas/StringFieldFilter' version: $ref: '#/components/schemas/StringFieldFilter' labels: $ref: '#/components/schemas/LabelsFieldFilter' attributes: $ref: '#/components/schemas/AttributesFieldFilter' created_at: $ref: '#/components/schemas/DateTimeFieldFilter' updated_at: $ref: '#/components/schemas/DateTimeFieldFilter' title: API Package Filter Parameters ApiPackageOperationsFilterParameters: type: object properties: api_id: $ref: '#/components/schemas/UuidFieldFilter' method: $ref: '#/components/schemas/StringFieldFilter' path: $ref: '#/components/schemas/StringFieldFilter' created_at: $ref: '#/components/schemas/DateTimeFieldFilter' updated_at: $ref: '#/components/schemas/DateTimeFieldFilter' title: API Package Operations Filter Parameters ApiDocumentFilterParameters: type: object properties: status: $ref: '#/components/schemas/StringFieldFilter' title: API Document Filter Parameters ApiSpecFilterParameters: type: object properties: type: $ref: '#/components/schemas/StringFieldFilter' title: API Spec Filter Parameters ApiVersionFilterParameters: type: object properties: type: $ref: '#/components/schemas/StringFieldFilter' version: $ref: '#/components/schemas/StringFieldFilter' title: API Spec Filter Parameters ApiPublicationFilterParameters: type: object properties: portal_id: $ref: '#/components/schemas/UuidFieldFilter' portal_name: $ref: '#/components/schemas/StringFieldFilter' api_id: $ref: '#/components/schemas/UuidFieldFilter' api_name: $ref: '#/components/schemas/StringFieldFilter' auth_strategy_id: $ref: '#/components/schemas/UuidFieldFilter' entity_type: $ref: '#/components/schemas/StringFieldFilter' title: API Publication Filter Parameters PortalApiPublicationFilterParameters: description: API Publication filters excluding portal-specific fields (since portal is already specified in path) type: object properties: api_id: $ref: '#/components/schemas/UuidFieldFilter' api_name: $ref: '#/components/schemas/StringFieldFilter' auth_strategy_id: $ref: '#/components/schemas/UuidFieldFilter' entity_type: $ref: '#/components/schemas/StringFieldFilter' title: Portal API Publication Filter Parameters ApiImplementationFilterParameters: type: object properties: id: $ref: '#/components/schemas/UuidFieldFilter' api_id: $ref: '#/components/schemas/UuidFieldFilter' service_id: $ref: '#/components/schemas/UuidFieldFilter' control_plane_id: $ref: '#/components/schemas/UuidFieldFilter' created_at: $ref: '#/components/schemas/DateTimeFieldFilter' updated_at: $ref: '#/components/schemas/DateTimeFieldFilter' title: API Implementation Filter Parameters ApiAttributeFilterParameters: type: object properties: id: $ref: '#/components/schemas/UuidFieldFilter' key: $ref: '#/components/schemas/UuidFieldFilter' created_at: $ref: '#/components/schemas/DateTimeFieldFilter' updated_at: $ref: '#/components/schemas/DateTimeFieldFilter' title: API Attribute Filter Parameters ApiOperationFilterParameters: type: object properties: method: $ref: '#/components/schemas/StringFieldFilter' path: $ref: '#/components/schemas/StringFieldFilter' title: API Operation Filter Parameters ApiPackageResponseSchema: type: object properties: id: description: The API Package identifier. type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 readOnly: true name: description: | The name of your API Package. The `name + version` combination must be unique for each API Package you publish. type: string example: MyAPIPackage maxLength: 255 minLength: 1 description: description: A description of your API Package. Will be visible on your live Portal. type: string nullable: true slug: description: | The unique slug for your API Package, It should be unique across all APIs and API Packages. type: string example: my-api-package-v1 nullable: true pattern: '^[\w-]+$' version: description: An optional version for your API Package. Leave this empty if your API Package is unversioned. type: string maxLength: 255 minLength: 1 nullable: true rate_limiting_config: $ref: '#/components/schemas/RateLimitingConfig' labels: $ref: '#/components/schemas/Labels' attributes: $ref: '#/components/schemas/ApiAttributes' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - id - name - slug - version - labels - attributes - created_at - updated_at - rate_limiting_config title: API Package ApiPackageOperationResponseSchema: type: object properties: id: description: The API Operation identifier. type: string format: uuid example: 0f5061ce-78f6-4452-9108-ad7c02821fd6 readOnly: true api: type: object additionalProperties: false properties: id: description: The API identifier. type: string format: uuid example: 0f5061ce-78f6-4452-9108-ad7c02821fd6 readOnly: true name: description: The name of the API this operation belongs to. type: string example: MyAPI readOnly: true version: description: The version of the API this operation belongs to. type: string example: 1.0.0 readOnly: true readOnly: true required: - id - name - version method: $ref: '#/components/schemas/Method' path: description: The path of the API Operation. type: string example: '/users/{user_id}' readOnly: true rate_limiting_config: description: Rate limit configuration that can be applied to an API Package or an API Package Operation. type: object additionalProperties: false nullable: true properties: limit: description: The amount of requests allowed for each operation within the specified duration. type: integer minimum: 0 duration: description: The timeframe to ensure that an application does not exceed the request limit. type: string enum: - seconds - minutes - hours x-speakeasy-unknown-values: allow readOnly: true required: - limit - duration title: Rate Limiting configuration created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' implementation_status: $ref: '#/components/schemas/ApiOperationImplementationStatus' additionalProperties: false required: - id - api - method - path - created_at - updated_at - rate_limiting_config title: API Package Operation Response Method: description: The HTTP method of an API Operation. type: string enum: - GET - POST - PUT - DELETE - PATCH - OPTIONS - HEAD - CONNECT - TRACE readOnly: true x-speakeasy-unknown-values: allow RateLimitingConfig: description: Rate limit configuration that can be applied to an API Package or an API Package Operation. type: object properties: limit: description: The amount of requests allowed for each operation within the specified duration. type: integer minimum: 0 duration: description: The timeframe to ensure that an application does not exceed the request limit. type: string enum: - seconds - minutes - hours x-speakeasy-unknown-values: allow additionalProperties: false nullable: true required: - limit - duration title: Rate Limiting configuration APIPackageImage: type: object properties: error: description: An error related to the image invalid status. type: string example: null nullable: true readOnly: true status: description: The status of the image. type: string example: valid enum: - uploading - validating - valid - invalid readOnly: true x-speakeasy-unknown-values: allow api_package_id: description: The API identifier which the image belongs to. type: string format: uuid example: 123e4567-e89b-12d3-a456-426614174000 readOnly: true image_type: allOf: - $ref: '#/components/schemas/ImageTypeSchema' - readOnly: true created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - status - error - api_package_id - image_type - created_at - updated_at title: Image Status LabelsFieldFilter: allOf: - title: LabelsFieldFilter description: | Filters on the resource's `labels` field. Filters must use dot-notation to identify the label key that will be used to filter the results. For example: - `filter[labels.owner]` - `filter[labels.owner][neq]=kong` - `filter[labels.env]=dev` - `filter[labels.env][ocontains]=dev,test` - $ref: '#/components/schemas/StringFieldFilter' AttributesFieldFilter: allOf: - title: AttributesFieldFilter description: | Filters on the resource's `attributes` field. Filters must use dot-notation to identify the attribute key that will be used to filter the results. For example: - `filter[attributes.owner]` - `filter[attributes.owner][neq]=kong` - `filter[attributes.env]=dev` - `filter[attributes.env][ocontains]=dev,test` - $ref: '#/components/schemas/StringFieldFilter' DateTimeFieldFilter: description: Filters on the given datetime (RFC-3339) field value. oneOf: - type: object title: DateTimeFieldEqualsFilter additionalProperties: false properties: eq: description: Value strictly equals given RFC-3339 formatted timestamp in UTC type: string format: date-time example: '2022-03-30T07:20:50Z' required: - eq - type: object title: DateTimeFieldLTFilter additionalProperties: false properties: lt: description: Value is less than the given RFC-3339 formatted timestamp in UTC type: string format: date-time example: '2022-03-30T07:20:50Z' required: - lt - type: object title: DateTimeFieldLTEFilter additionalProperties: false properties: lte: description: Value is less than or equal to the given RFC-3339 formatted timestamp in UTC type: string format: date-time example: '2022-03-30T07:20:50Z' required: - lte - type: object title: DateTimeFieldGTFilter additionalProperties: false properties: gt: description: Value is greater than the given RFC-3339 formatted timestamp in UTC type: string format: date-time example: '2022-03-30T07:20:50Z' required: - gt - type: object title: DateTimeFieldGTEFilter additionalProperties: false properties: gte: description: Value is greater than or equal to the given RFC-3339 formatted timestamp in UTC type: string format: date-time example: '2022-03-30T07:20:50Z' required: - gte title: DateTimeFieldFilter 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 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 ImagePNGDataUri: description: 'must be a data URL with base64 PNG image data, e.g., data:image/png;base64,<BASE64_IMAGE_DATA>' type: string format: uri example: 'data:image/png,YW5faW1hZ2VfZmlsZQ==' pattern: '^data:image/png(;base64)?,(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$' title: ImagePNGDataUri x-validation-message: 'must be a data URL with base64 PNG image data, e.g., data:image/png;base64,<BASE64_IMAGE_DATA>' ImageJPGDataUri: description: 'must be a data URL with base64 JPEG image data, e.g., data:image/jpeg;base64,<BASE64_IMAGE_DATA>' type: string format: uri example: 'data:image/jpeg,YW5faW1hZ2VfZmlsZQ==' pattern: '^data:image/jpeg(;base64)?,(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$' title: ImageJPGDataUri x-validation-message: 'must be a data URL with base64 JPEG image data, e.g., data:image/jpeg;base64,<BASE64_IMAGE_DATA>' ImageSVGDataUri: description: 'must be a data URL with base64 SVG image data, e.g., data:image/svg\+xml;base64,<BASE64_IMAGE_DATA>' type: string format: uri example: 'data:image/svg+xml,YW5faW1hZ2VfZmlsZQ==' pattern: '^data:image/svg\+xml(;base64)?,(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$' title: ImageSVGDataUri x-validation-message: 'must be a data URL with base64 SVG image data, e.g., data:image/svg\+xml;base64,<BASE64_IMAGE_DATA>' 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 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 CreatePortalIdpTeamGroupMappingRequest: type: object properties: team_id: description: The Konnect team ID. type: string format: uuid example: 6801e673-cc10-498a-94cd-4271de07a0d3 group: description: The IdP group name. type: string example: API Engineers required: - team_id - group PortalIdpTeamGroupMapping: type: object properties: id: description: The mapping ID. type: string format: uuid example: a1b2c3d4-e5f6-4a8b-9c0d-1e2f3a4b5c6d readOnly: true team_id: description: The Konnect team ID. type: string format: uuid example: 6801e673-cc10-498a-94cd-4271de07a0d3 group: description: The IdP group name. type: string example: API Engineers created_at: description: Creation timestamp. type: string format: date-time example: '2024-01-15T10:30:00Z' readOnly: true updated_at: description: Last update timestamp. type: string format: date-time example: '2024-01-15T10:30:00Z' readOnly: true required: - id - team_id - group - created_at - updated_at PortalIdpTeamGroupMappingCollectionResponse: type: object properties: meta: $ref: '#/components/schemas/CursorMeta' data: type: array items: $ref: '#/components/schemas/PortalIdpTeamGroupMapping' required: - meta - data PortalImageDataUri: oneOf: - $ref: '#/components/schemas/ImagePNGDataUri' - $ref: '#/components/schemas/ImageJPGDataUri' - $ref: '#/components/schemas/ImageGIFDataUri' - $ref: '#/components/schemas/ImageICODataUri' - $ref: '#/components/schemas/ImageSVGDataUri' title: PortalImageDataUri PortalImageAssetBlob: description: Raw binary image data type: string format: binary title: PortalImageAsset 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=' additionalProperties: false nullable: true required: - data title: ReplacePortalImageAsset 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' 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 BasicDeveloper: description: Basic information about a developer. type: object properties: id: type: string format: uuid example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 readOnly: true email: type: string format: email example: developer@email.com maxLength: 250 full_name: type: string example: API Developer maxLength: 250 pattern: '^[\w \W]+$' active: type: boolean example: true readOnly: true created_at: type: string format: date-time example: '2022-02-07T17:46:57.52Z' readOnly: true updated_at: type: string format: date-time example: '2022-10-08T17:00:00.52Z' readOnly: true example: id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 email: user@email.com full_name: API Developer active: true created_at: '2022-02-07T17:46:57.52Z' updated_at: '2022-10-08T17:00:00.52Z' title: BasicDeveloper ListDevelopersResponse: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/PortalDeveloper' example: meta: page: number: 1 size: 10 total: 4 data: - id: 8cd9feff-b4da-4a9f-ba49-cbe83c75ff22 email: jane.developer@example.com full_name: Jane Dev status: approved created_at: '2022-11-15T20:37:41.457Z' updated_at: '2022-11-15T20:37:47.456Z' - id: 4cd9feff-b4da-4a9f-ba49-cbe83c75ff22 email: john.developer@example.com full_name: John Dev status: revoked created_at: '2022-11-15T20:37:41.457Z' updated_at: '2022-11-15T20:37:47.456Z' - id: 6cd9feff-b4da-4a9f-ba49-cbe83c75ff22 email: john.developer@example.com full_name: Jim Dev status: pending created_at: '2022-11-15T20:37:41.457Z' updated_at: '2022-11-15T20:37:47.456Z' - id: 7cd9feff-b4da-4a9f-ba49-cbe83c75ff22 email: john.developer@example.com full_name: Jan Dev status: rejected created_at: '2022-11-15T20:37:41.457Z' updated_at: '2022-11-15T20:37:47.456Z' additionalProperties: false required: - data - meta 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 MovePageRequestPayload: description: move page request payload type: object properties: parent_page_id: description: parent page id type: string format: uuid example: dd4e1b98-3629-4dd3-acc0-759a726ffee2 index: description: index of the document in the parent document's children type: integer example: 1 title: MovePage 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 nullable: true 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 SnippetName: description: The unique name of a snippet in a portal. type: string example: my-snippet maxLength: 512 title: SnippetName 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 PortalPageInfo: description: Information about a page in a portal. type: object properties: id: $ref: '#/components/schemas/UUID' slug: $ref: '#/components/schemas/PageSlug' title: $ref: '#/components/schemas/PageTitle' visibility: $ref: '#/components/schemas/VisibilityStatus' status: $ref: '#/components/schemas/PublishedStatus' description: $ref: '#/components/schemas/Description' parent_page_id: $ref: '#/components/schemas/ParentPageId' children: description: children of the page type: array items: $ref: '#/components/schemas/PortalPageInfo' example: - id: d32d905a-ed33-46a3-a093-d8f536af9a8a slug: hello-world title: Hello world visibility: public created_at: '2023-01-11T02:30:42.227Z' updated_at: '2023-01-11T02:30:42.227Z' status: unpublished parent_page_id: null children: [] created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - id - slug - title - visibility - created_at - updated_at - status - parent_page_id - children title: PortalPageInfo PortalSnippetInfo: description: Information about a snippet in a portal. type: object properties: id: $ref: '#/components/schemas/UUID' name: $ref: '#/components/schemas/SnippetName' title: $ref: '#/components/schemas/SnippetTitle' visibility: $ref: '#/components/schemas/VisibilityStatus' status: $ref: '#/components/schemas/PublishedStatus' description: $ref: '#/components/schemas/Description' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - id - name - title - visibility - status - created_at - updated_at title: PortalSnippetInfo DefaultContent: description: Summary of created default content type: object properties: pages: type: array items: type: string snippets: type: array items: type: string additionalProperties: false required: - pages - snippets title: DefaultContent 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 ListPortalPagesResponse: description: Tree of custom pages in a portal. Not paginated. type: object properties: data: type: array items: $ref: '#/components/schemas/PortalPageInfo' example: data: - id: 437c7192-fea0-4f35-8478-c8d57783f8c1 slug: /my-page title: My Page visibility: public status: unpublished description: A custom page created_at: '2021-01-01T00:00:00Z' updated_at: '2021-01-01T00:00:00Z' parent_page_id: null children: [] additionalProperties: false required: - data title: ListPortalPagesResponse 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 ListPortalSnippetsResponse: description: A paginated list of custom snippets in a portal. type: object properties: data: type: array items: $ref: '#/components/schemas/PortalSnippetInfo' meta: $ref: '#/components/schemas/PaginatedMeta' example: data: - id: 437c7192-fea0-4f35-8478-c8d57783f8c1 name: my-snippet title: My Snippet visibility: public status: published description: A custom snippet created_at: '2021-01-01T00:00:00Z' updated_at: '2021-01-01T00:00:00Z' meta: page: number: 1 size: 10 total: 1 additionalProperties: false required: - data - meta title: ListPortalSnippetsResponse 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 UpdateApplicationRequest: type: object properties: owner: $ref: '#/components/schemas/ApplicationOwner' additionalProperties: false title: UpdateApplicationRequest ListApplicationsResponse: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/Application' example: meta: page: number: 1 size: 10 total: 2 data: - id: b15e2460-ba40-431d-9df0-4957fcffacda labels: env: test name: App 1 description: An easy to manage app in a Konnect developer portal registration_count: 2 portal: id: 95606071-49c7-4c2e-ae49-8a86d72a8110 auth_strategy: id: 85606071-49c7-4c2e-ae49-8a86d72a8110 name: API Key credential_type: key_auth key_names: - apikey created_at: '2022-12-22T19:09:30.712Z' updated_at: '2022-12-22T19:09:30.712Z' - id: b15e2460-ba40-431d-9df0-4957fcffacda labels: env: test name: App 1 description: A Konnect application that is linked to an Identity Provider application using Dynamic Client Registration (DCR) client_id: yr1k0d9kj3l0cl01hp4o0 registration_count: 3 portal: id: 95606071-49c7-4c2e-ae49-8a86d72a8110 auth_strategy: id: 65606071-49c7-4c2e-ae49-8a86d72a8110 name: Client Credentials credential_type: client_credentials auth_methods: - client_credentials - bearer - session dcr_provider: id: 7ea06071-49c7-4c2e-ae49-8a86d72a8110 granted_scopes: null created_at: '2022-12-22T19:07:30.712Z' updated_at: '2022-12-22T19:07:30.712Z' additionalProperties: false required: - data - meta GetApplicationResponse: $ref: '#/components/schemas/Application' ListApplicationDevelopersResponse: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/ApplicationDeveloperDetailed' example: meta: page: number: 1 size: 10 total: 4 data: - id: 8cd9feff-b4da-4a9f-ba49-cbe83c75ff22 email: jane.developer@example.com full_name: Jane Dev - id: 4cd9feff-b4da-4a9f-ba49-cbe83c75ff22 email: john.developer@example.com full_name: John Dev - id: 6cd9feff-b4da-4a9f-ba49-cbe83c75ff22 email: jim.developer@example.com full_name: Jim Dev - id: 7cd9feff-b4da-4a9f-ba49-cbe83c75ff22 email: jan.developer@example.com full_name: Jan Dev additionalProperties: false required: - data - meta title: ListApplicationDevelopersResponse ListApplicationRegistrationsResponse: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/ApplicationRegistration' example: meta: page: number: 1 size: 10 total: 2 data: - id: c200cc33-2d33-4754-b086-a98e0fcd36fb status: approved application: id: e15e2460-ba40-431d-9df0-4957fcff7cda name: App 1 api: id: 56f637b7-cd95-478b-9b02-d770618f641c name: Great Stuff version: v1 entity_type: api created_at: '2022-12-22T20:13:07.305Z' updated_at: '2022-12-22T20:13:36.710Z' - id: d200cc33-2d33-4754-b086-a98e0fcd36fb status: rejected application: id: e15e2460-ba40-431d-9df0-4957fcff7cda name: App 2 api: id: 56f637b7-cd95-478b-9b02-d770618f641c name: Great Stuff version: v2 entity_type: api created_at: '2022-12-22T20:13:07.305Z' updated_at: '2022-12-22T20:13:36.710Z' - id: d300cc33-2d33-4754-b086-a98e0fcd36fb status: pending application: id: e15e2460-ba40-431d-9df0-4957fcff7cda name: App 3 api: id: 56f637b7-cd95-478b-9b02-d770618f641c name: Good Stuff version: v2 entity_type: api created_at: '2022-12-22T20:13:07.305Z' updated_at: '2022-12-22T20:13:36.710Z' - id: d300cc33-2d33-4754-b086-a98e0fcd36fb status: revoked application: id: e15e2460-ba40-431d-9df0-4957fcff7cda name: App 3 api: id: 56f637b7-cd95-478b-9b02-d770618f641c name: Good Stuff version: v1 entity_type: api created_at: '2022-12-22T20:13:07.305Z' updated_at: '2022-12-22T20:13:36.710Z' additionalProperties: false required: - data - meta title: ListApplicationRegistrationsResponse GetApplicationRegistrationResponse: $ref: '#/components/schemas/ApplicationRegistration' UpdateApplicationRegistrationResponse: $ref: '#/components/schemas/ApplicationRegistration' ApplicationDeveloperDetailed: description: List of developers that have a registered application. type: object properties: id: type: string format: uuid example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 readOnly: true email: type: string format: email example: developer@email.com maxLength: 250 full_name: type: string example: API Developer maxLength: 250 pattern: '^[\w \W]+$' example: id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 email: user@email.com full_name: API Developer additionalProperties: false required: - id title: ApplicationDeveloperDetailed Application: example: id: b15e2460-ba40-431d-9df0-4957fcffacda labels: env: test name: App 1 description: An easy to manage app in a Konnect developer portal registration_count: 4 portal: id: 95606071-49c7-4c2e-ae49-8a86d72a8110 auth_strategy: id: 45606071-49c7-4c2e-ae49-8a86d72a8110 name: API Key credential_type: key_auth key_names: - apikey created_at: '2022-12-22T19:09:30.712Z' updated_at: '2022-12-22T19:09:30.712Z' owner: id: 8cd9feff-b4da-4a9f-ba49-cbe83c75ff22 type: developer oneOf: - $ref: '#/components/schemas/ClientCredentialsApplication' - $ref: '#/components/schemas/KeyAuthApplication' title: Application ClientCredentialsApplication: 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 nullable: true labels: $ref: '#/components/schemas/LabelsUpdate' client_id: description: The ID used to linked the portal application to an Identity Provider application. type: string readOnly: true registration_count: description: The number of API registrations that are associated with the application. Registrations of any status are included in the count. type: number readOnly: true dcr_provider: description: 'Information about the DCR provider this application uses, if using DCR.' type: object additionalProperties: false nullable: true properties: id: $ref: '#/components/schemas/UUID' required: - id portal: description: Information about the portal the application is in. type: object additionalProperties: false properties: id: $ref: '#/components/schemas/UUID' required: - id auth_strategy: $ref: '#/components/schemas/AuthStrategyClientCredentials' granted_scopes: description: List of granted scopes for the application. Null if application type does not support returning granted scopes. type: array items: type: string nullable: true owner: $ref: '#/components/schemas/ApplicationOwner' additionalProperties: false required: - id - created_at - updated_at - name - description - registration_count - client_id - auth_strategy - dcr_provider - portal - labels - granted_scopes title: Client Credentials Application KeyAuthApplication: 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 nullable: true auth_strategy: $ref: '#/components/schemas/AuthStrategyKeyAuth' portal: description: Information about the portal the application is in. type: object additionalProperties: false properties: id: $ref: '#/components/schemas/UUID' required: - id labels: $ref: '#/components/schemas/LabelsUpdate' registration_count: description: The number of API registrations that are associated with the application. Registrations of any status are included in the count. type: number readOnly: true 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 - auth_strategy - portal - registration_count - labels title: Key Auth Application 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' 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 nullable: true 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 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 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 PortalPagesFilterParameters: type: object properties: id: $ref: '#/components/schemas/UuidFieldFilter' slug: $ref: '#/components/schemas/StringFieldFilter' title: $ref: '#/components/schemas/StringFieldFilter' visibility: $ref: '#/components/schemas/StringFieldFilter' created_at: $ref: '#/components/schemas/DateTimeFieldFilter' updated_at: $ref: '#/components/schemas/DateTimeFieldFilter' additionalProperties: false title: PortalPagesFilterParameters PortalSnippetsFilterParameters: type: object properties: id: $ref: '#/components/schemas/UuidFieldFilter' name: $ref: '#/components/schemas/StringFieldFilter' title: $ref: '#/components/schemas/StringFieldFilter' visibility: $ref: '#/components/schemas/StringFieldFilter' created_at: $ref: '#/components/schemas/DateTimeFieldFilter' updated_at: $ref: '#/components/schemas/DateTimeFieldFilter' additionalProperties: false title: PortalSnippetsFilterParameters 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 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 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 additionalProperties: false required: - domain_verification_method - verification_status title: PortalCustomDomainSSL CreatePortalCustomDomainSSL: type: object oneOf: - $ref: '#/components/schemas/CreatePortalCustomDomainSSLWithCustomCertificate' - $ref: '#/components/schemas/CreatePortalCustomDomainSSLStandard' title: CreatePortalCustomDomainSSL CreatePortalCustomDomainSSLWithCustomCertificate: properties: domain_verification_method: type: string const: custom_certificate custom_certificate: description: Custom certificate to be used for the SSL termination. type: string custom_private_key: description: Custom certificate private key to be used for the SSL termination. type: string 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 required: - domain_verification_method - custom_certificate - custom_private_key title: custom_certificate CreatePortalCustomDomainSSLStandard: properties: domain_verification_method: type: string const: http additionalProperties: false required: - domain_verification_method title: http UpdatePortalCustomDomainSSL: type: object properties: custom_certificate: description: Custom certificate to be used for the SSL termination. type: string custom_private_key: description: Custom certificate private key to be used for the SSL termination. type: string 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-unknown-values: allow PortalCustomDomainCnameStatus: type: string enum: - verified - pending readOnly: true title: PortalCustomDomainCnameStatus x-speakeasy-unknown-values: allow PortalCustomDomainValidationErrors: type: array items: type: string readOnly: true title: PortalCustomDomainValidationErrors 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 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 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) AssignedPortalRoleCollectionResponse: description: A paginated list of roles assigned to a team. type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/PortalAssignedRoleResponse' example: meta: page: number: 1 size: 10 total: 3 data: - id: b02e23c5-8ee4-4e5a-99f4-43329923adce role_name: API Viewer entity_id: 437c7192-fea0-4f35-8478-c8d57783f8c1 entity_type_name: Services entity_region: us - id: b02e23c5-8ee4-4e5a-99f4-43329923adce role_name: API Consumer entity_id: 437c7192-fea0-4f35-8478-c8d57783f8c1 entity_type_name: Services entity_region: us - id: 869d9402-f117-4f9a-840f-69acaf70a81a role_name: API Viewer entity_id: 18ee2573-dec0-4b83-be99-fa7700bcdc61 entity_type_name: Services entity_region: us required: - meta - data title: AssignedPortalRoleCollectionResponse ListPortalTeamsResponse: description: A paginated list of teams in a portal. type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/PortalTeamResponse' example: meta: page: number: 1 size: 10 total: 3 data: - id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 name: Partner description: Team with access to Partner APIs created_at: '2022-02-07T17:46:57.52Z' updated_at: '2022-09-25T13:00:00.00Z' can_own_applications: false - id: af9fd312-a987-4628-b4c5-bb4f4fddd5f7 name: Internal description: Team with access to Internal APIs created_at: '2022-02-07T17:46:57.52Z' updated_at: '2022-09-25T13:00:00.00Z' can_own_applications: true - id: 4f9fd312-a987-4628-b4c5-bb4f4fddd5f7 name: Root description: Team with access to Internal Systems created_at: '2022-02-07T17:46:57.52Z' updated_at: '2022-09-25T13:00:00.00Z' can_own_applications: true required: - data - meta title: ListPortalTeamsResponse ListRolesResponse: description: The set of roles available to associate with resources and assign to teams. type: object properties: services: type: object properties: name: type: string enum: - Services roles: type: object properties: apiviewer: type: object properties: name: type: string enum: - API Viewer description: type: string enum: - API Viewers have read-only access to the documentation of a service in a portal required: - name - description apiconsumer: type: object properties: name: type: string enum: - API Consumer description: type: string enum: - API Consumers can make calls to the given service required: - name - description required: - apiviewer - apiconsumer required: - name - roles example: services: name: Services roles: apiviewer: name: API Viewer description: API Viewers have read-only access to the documentation of a service in a portal apiconsumer: name: API Consumer description: API Consumers can make calls to the given service required: - services title: ListRolesResponse ListBasicDevelopersResponse: description: A paginated list of basic information about a set of developers. type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/BasicDeveloper' example: meta: page: number: 1 size: 10 total: 2 data: - id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 email: james.woods@email.com full_name: James Woods active: true created_at: '2022-08-17T17:46:57.52Z' updated_at: '2022-10-03T17:00:00.00Z' - id: 4f9fd312-a987-4628-b4c5-bb4f4fddd5f7 email: jill.stone@email.com full_name: Jill Stone active: false created_at: '2022-07-17T17:46:57.52Z' updated_at: '2022-10-03T17:00:00.00Z' title: ListBasicDevelopersResponse AddDeveloperToTeamRequest: description: Add a developer to a team by specifying the developer ID. type: object properties: id: type: string format: uuid example: df120cb4-f60b-47bc-a2f8-6a28e6a3c63b writeOnly: true example: id: df120cb4-f60b-47bc-a2f8-6a28e6a3c63b required: - id title: AddDeveloperToTeamRequest 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 deprecated: true 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 deprecated: true 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 deprecated: true 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: openid default: - email - openid - profile deprecated: true 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 deprecated: true maxProperties: 3 minProperties: 0 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 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 PortalTeamGroupMappingsUpdateRequest: description: A set of mappings to update from a team to their groups. type: object properties: data: description: The IdP groups to map to the given team. type: array items: type: object properties: team_id: type: string format: uuid groups: type: array items: type: string example: data: - team_id: af91db4c-6e51-403e-a2bf-33d27ae50c0a groups: - Service Developer title: PortalTeamGroupMappingsUpdateRequest PortalUpdateTeamRequest: description: Properties to update on a team. type: object properties: name: type: string example: IDM - Developers pattern: '^[\w \W]+$' writeOnly: true description: type: string example: The Identity Management (IDM) API team. maxLength: 250 writeOnly: true can_own_applications: description: Whether the team is allowed to own applications. type: boolean example: true example: name: IDM - Developers description: The Identity Management (IDM) API team. can_own_applications: false title: PortalUpdateTeamRequest PortalCreateTeamRequest: x-speakeasy-entity: PortalTeam description: Details about a team to create. type: object properties: name: type: string example: IDM - Developers pattern: '^[\w \W]+$' writeOnly: true description: type: string example: The Identity Management (IDM) team. maxLength: 250 writeOnly: true can_own_applications: description: Whether the team is allowed to own applications type: boolean example: true default: false example: name: IDM - Developers description: The Identity Management (IDM) team. can_own_applications: false required: - name title: PortalCreateTeamRequest PortalTeamResponse: description: Details about a developer team. type: object properties: id: type: string format: uuid example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 readOnly: true name: type: string example: IDM - Developers maxLength: 250 pattern: '^[\w \W]+$' description: type: string example: The developers for the IDM API. maxLength: 250 created_at: type: string format: date-time example: '1992-02-07T17:46:57.52Z' readOnly: true updated_at: type: string format: date-time example: '2022-02-07T17:00:00.52Z' readOnly: true can_own_applications: description: Whether the team is allowed to own applications. type: boolean example: false 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 title: PortalTeamResponse PortalTeamGroupMappingResponse: description: A paginated list of portal team group mappings. type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/PortalTeamGroupMapping' example: meta: page: number: 1 size: 10 total: 2 data: - team_id: 6801e673-cc10-498a-94cd-4271de07a0d3 groups: - Tech Leads - API Engineers - team_id: 7301e673-cc10-498a-94cd-4271de07a0d3 groups: - Managers - Directors title: PortalTeamGroupMappingResponse PortalTeamGroupMapping: description: A map of portal teams to Identity Provider groups. type: object properties: team_id: description: The Konnect team ID. type: string format: uuid example: 6801e673-cc10-498a-94cd-4271de07a0d3 groups: description: The IdP groups that are mapped to the specified team. type: array items: type: string example: API Engineers uniqueItems: true example: team_id: 6801e673-cc10-498a-94cd-4271de07a0d3 groups: - Tech Leads - API Engineers title: PortalTeamGroupMapping 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 ListDomains: type: object properties: data: type: array items: $ref: '#/components/schemas/EmailDomain' meta: $ref: '#/components/schemas/PaginatedMeta' required: - data - meta EmailDeliveryUpdatePayload: type: object properties: enabled: type: boolean from_email: type: string format: email nullable: true reply_to_email: type: string format: email nullable: true additionalProperties: false EmailDelivery: type: object properties: enabled: type: boolean from_email: type: string format: email nullable: true reply_to_email: type: string format: email nullable: true created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - enabled - from_email - reply_to_email - created_at - updated_at PatchPortalEmailConfig: type: object properties: domain_name: description: The domain name to use for sending emails. Null means default. type: string nullable: true from_name: description: The name to display in the 'From' field of emails. type: string nullable: true from_email: description: The email address to use in the 'From' field. type: string format: email nullable: true reply_to_email: description: 'The email address to use in the ''Reply-To'' field. If set to null, ''Reply-To'' header is omitted.' type: string format: email nullable: true additionalProperties: false PostPortalEmailConfig: type: object properties: domain_name: description: The domain name to use for sending emails. Null means default. type: string nullable: true from_name: description: The name to display in the 'From' field of emails. type: string nullable: true from_email: description: The email address to use in the 'From' field. type: string format: email nullable: true reply_to_email: description: The email address to use in the 'Reply-To' field. 'Reply-To' header is omitted if omitted or null. type: string format: email nullable: true additionalProperties: false PortalEmailConfig: type: object properties: id: type: string format: uuid example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 readOnly: true domain_name: description: The domain name used for sending emails. Null means default. type: string nullable: true from_name: description: The name displayed in the 'From' field of emails. type: string nullable: true from_email: description: The email address used in the 'From' field. type: string format: email nullable: true reply_to_email: description: The email address used in the 'Reply-To' field. 'Reply-To' header is omitted when null. type: string format: email nullable: true created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - id - from_name - from_email - reply_to_email - created_at - updated_at EmailDomainPayload: type: object properties: domain: type: string additionalProperties: false required: - domain EmailVerificationStatus: description: Specifies the status of the mail domain verification type: string enum: - pending - success - failed - temporary_failure - not_started readOnly: true x-speakeasy-unknown-values: allow EmailDomainVerification: type: object properties: status: $ref: '#/components/schemas/EmailVerificationStatus' last_time_checked: description: An ISO-8601 timestamp representation of the last time the verification got checked. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true last_time_success: description: An ISO-8601 timestamp representation of the last time the verification succeeded. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true additionalProperties: false readOnly: true required: - status - last_time_checked - last_time_success DNSRecord: type: object properties: type: type: string readOnly: true name: type: string readOnly: true value: type: string readOnly: true additionalProperties: false required: - type - name - value EmailDomain: type: object properties: domain: type: string verification: $ref: '#/components/schemas/EmailDomainVerification' dns_validation_records: type: array items: $ref: '#/components/schemas/DNSRecord' readOnly: true created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - domain - verification - dns_validation_records - created_at - updated_at EmailDomainFilterParameters: type: object properties: domain: $ref: '#/components/schemas/StringFieldFilter' verification_status: $ref: '#/components/schemas/StringFieldFilter' title: EmailDomainFilterParameters EmailTemplateName: description: | Short name email template name. type: string enum: - confirm-email-address - app-registration-approved - app-registration-rejected - app-registration-revoked - reset-password - account-access-approved - account-access-rejected - account-access-revoked - api-key-expiring-soon - api-key-expired - developer-invitation x-speakeasy-unknown-values: allow EmailTemplateVariableName: description: | Enum for available portal email template variables. type: string enum: - portal_display_name - portal_domain - developer_email - developer_fullname - dev_portal_reply_to - developer_status - api_documentation_url - api_name - api_version - application_name - credential_name - credential_expires_at x-speakeasy-unknown-values: allow DefaultEmailTemplate: type: object properties: default_content: $ref: '#/components/schemas/DefaultEmailTemplateContent' variables: type: array items: $ref: '#/components/schemas/EmailTemplateVariableName' name: $ref: '#/components/schemas/EmailTemplateName' label: description: The label of the email template type: string example: Confirm email Address additionalProperties: false required: - default_content - variables - name - label DefaultEmailTemplateContent: type: object properties: subject: type: string nullable: false title: type: string nullable: false body: type: string nullable: false button_label: type: string nullable: false required: - subject - title - body EmailTemplateContent: type: object properties: subject: type: string maxLength: 1024 nullable: true title: type: string maxLength: 1024 nullable: true body: type: string maxLength: 4096 nullable: true button_label: type: string maxLength: 128 nullable: true nullable: true SendTestEmailTemplateContent: type: object properties: subject: type: string maxLength: 1024 nullable: false title: type: string maxLength: 1024 nullable: false body: type: string maxLength: 4096 nullable: false button_label: type: string maxLength: 128 nullable: false required: - subject - title - body EmailTemplate: type: object properties: label: description: The label of the email template type: string example: App registration approved name: $ref: '#/components/schemas/EmailTemplateName' default_content: $ref: '#/components/schemas/DefaultEmailTemplateContent' content: $ref: '#/components/schemas/EmailTemplateContent' variables: type: array items: $ref: '#/components/schemas/EmailTemplateVariableName' enabled: description: Whether the email template is enabled or disabled for a portal type: boolean created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - name - label - default_content - variables - enabled - created_at - updated_at EmailTemplateVariablesList: type: object properties: data: type: array items: $ref: '#/components/schemas/EmailTemplateVariable' additionalProperties: false EmailTemplateVariable: type: object properties: name: $ref: '#/components/schemas/EmailTemplateVariableName' description: type: string scope: type: array items: $ref: '#/components/schemas/EmailTemplateName' example: description: Example value of the email template variable type: string example: My Company Portal required: - name - description - scope - example FilterApplications: type: object properties: developer_id: $ref: '#/components/schemas/UuidFieldFilter' name: $ref: '#/components/schemas/StringFieldFilter' team_id: $ref: '#/components/schemas/UuidFieldFilter' SourceIPEnabled: description: Whether ip allow list is enabled for the organization. type: boolean example: true default: false ImageGIFDataUri: description: 'must be a data URL with base64 GIF image data, e.g., data:image/gif;base64,<BASE64_IMAGE_DATA>' type: string format: uri example: 'data:image/gif,YW5faW1hZ2VfZmlsZQ==' pattern: '^data:image/gif(;base64)?,(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$' title: ImageGIFDataUri x-validation-message: 'must be a data URL with base64 GIF image data, e.g., data:image/gif;base64,<BASE64_IMAGE_DATA>' ImageICODataUri: description: 'must be a data URL with base64 ICO image data, e.g., data:image/ico;base64,<BASE64_IMAGE_DATA>' type: string format: uri example: 'data:image/ico,YW5faW1hZ2VfZmlsZQ==' pattern: '^data:image/(x-icon|ico|icon|vnd.microsoft.icon)(;base64)?,(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$' title: ImageICODataUri x-validation-message: 'must be a data URL with base64 ICO image data, e.g., data:image/ico;base64,<BASE64_IMAGE_DATA>' 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 PortalCustomization: description: The custom settings of this portal type: object properties: theme: type: object additionalProperties: false properties: name: type: string nullable: false mode: type: string enum: - light - dark - system x-speakeasy-unknown-values: allow colors: type: object additionalProperties: 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 layout: type: string nullable: false css: type: string nullable: true menu: type: object additionalProperties: false properties: main: type: array items: $ref: '#/components/schemas/PortalMenuItem' footer_sections: type: array items: $ref: '#/components/schemas/PortalFooterMenuSection' footer_bottom: type: array items: $ref: '#/components/schemas/PortalMenuItem' spec_renderer: type: object additionalProperties: false properties: try_it_ui: 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 robots: type: string nullable: true additionalProperties: false title: PortalCustomization GoogleTagManagerIntegrationConfigProperties: description: Configuration data for the Google Tag Manager integration type: object properties: id: description: The Google Tag Manager container ID type: string example: GTM-XXXXXX maxLength: 20 minLength: 5 pattern: '^GTM-[A-Za-z0-9]+$' x-validation-message: 'must be a valid GTM container ID (format: GTM-XXXXXX)' l: description: Optional dataLayer variable name type: string example: myNewName maxLength: 100 nullable: true preview: description: Preview environment name type: string example: preview maxLength: 100 nullable: true cookies_win: description: Forces GTM cookies to take precedence when true type: boolean nullable: true debug: description: Enables debug mode when true type: boolean nullable: true npa: description: No Personal Advertising - disables advertising features when true type: boolean nullable: true data_layer: description: Custom dataLayer name (alternative to "l" property) type: string example: myNewName maxLength: 100 nullable: true env_name: description: Environment name for environment-specific container type: string example: production maxLength: 100 nullable: true auth_referrer_policy: description: Referrer policy for analytics requests type: string example: no-referrer maxLength: 100 nullable: true additionalProperties: false GoogleTagManagerIntegration: description: Google Tag Manager integration configuration type: object properties: enabled: description: Whether the integration is enabled type: boolean type: description: The type of the integration for categorization type: string enum: - tracking config_data: description: Configuration data for the Google Tag Manager integration type: object additionalProperties: false properties: id: description: The Google Tag Manager container ID type: string example: GTM-XXXXXX maxLength: 20 minLength: 5 pattern: '^GTM-[A-Za-z0-9]+$' x-validation-message: 'must be a valid GTM container ID (format: GTM-XXXXXX)' l: description: Optional dataLayer variable name type: string example: myNewName maxLength: 100 nullable: true preview: description: Preview environment name type: string example: preview maxLength: 100 nullable: true cookies_win: description: Forces GTM cookies to take precedence when true type: boolean nullable: true debug: description: Enables debug mode when true type: boolean nullable: true npa: description: No Personal Advertising - disables advertising features when true type: boolean nullable: true data_layer: description: Custom dataLayer name (alternative to "l" property) type: string example: myNewName maxLength: 100 nullable: true env_name: description: Environment name for environment-specific container type: string example: production maxLength: 100 nullable: true auth_referrer_policy: description: Referrer policy for analytics requests type: string example: no-referrer maxLength: 100 nullable: true required: - id additionalProperties: false nullable: true required: - enabled - type - config_data GoogleAnalytics4IntegrationConfigProperties: description: Configuration data for the Google Analytics integration type: object properties: id: description: The Google Analytics measurement ID type: string example: G-XXXXXXX maxLength: 20 minLength: 5 pattern: '^G-[A-Za-z0-9-]+$' x-validation-message: 'must be a valid Google Analytics ID (format: G-XXXXXXX)' l: description: The datalayer's name you want data to be associated with type: string example: myNewName maxLength: 100 nullable: true additionalProperties: false GoogleAnalytics4Integration: description: Google Analytics integration configuration type: object properties: enabled: description: Whether the integration is enabled type: boolean type: description: The type of the integration for categorization type: string enum: - analytics config_data: description: Configuration data for the Google Analytics integration type: object additionalProperties: false properties: id: description: The Google Analytics measurement ID type: string example: G-XXXXXXX maxLength: 20 minLength: 5 pattern: '^G-[A-Za-z0-9-]+$' x-validation-message: 'must be a valid Google Analytics ID (format: G-XXXXXXX)' l: description: The datalayer's name you want data to be associated with type: string example: myNewName maxLength: 100 nullable: true required: - id additionalProperties: false nullable: true required: - enabled - type - config_data PortalIntegrations: description: Configuration data for Dev Portal integrations type: object properties: google_tag_manager: $ref: '#/components/schemas/GoogleTagManagerIntegration' google_analytics_4: $ref: '#/components/schemas/GoogleAnalytics4Integration' default: {} additionalProperties: false title: Portal Integrations UpdateGoogleTagManagerIntegration: description: Partially update Google Tag Manager integration configuration type: object properties: enabled: description: Whether the integration is enabled type: boolean type: description: The type of the integration for categorization type: string enum: - tracking config_data: type: object $ref: '#/components/schemas/GoogleTagManagerIntegrationConfigProperties' additionalProperties: false nullable: true UpdateGoogleAnalytics4Integration: description: Partially update Google Analytics 4 integration configuration type: object properties: enabled: description: Whether the integration is enabled type: boolean type: description: The type of the integration for categorization type: string enum: - analytics config_data: type: object $ref: '#/components/schemas/GoogleAnalytics4IntegrationConfigProperties' additionalProperties: false nullable: true UpdatePortalIntegrations: description: Partially update configuration data for Dev Portal integrations type: object properties: google_tag_manager: $ref: '#/components/schemas/UpdateGoogleTagManagerIntegration' google_analytics_4: $ref: '#/components/schemas/UpdateGoogleAnalytics4Integration' default: {} additionalProperties: false title: Update Portal Integrations AuthMethods: type: array items: description: Auth Methods enabled for this strategy type: string example: - bearer AvailableScopes: description: Possible developer selectable scopes for an application. Only present when using DCR Provider that supports it. type: array items: type: string example: - scope1 - scope2 AuthStrategyClientCredentials: description: Client Credential Auth strategy that the application uses. type: object properties: id: description: The Application Auth Strategy ID. type: string format: uuid example: b9e81174-b5bb-4638-a3c3-8afe61a0abf8 readOnly: true name: type: string example: name default: name credential_type: type: string enum: - client_credentials - self_managed_client_credentials x-speakeasy-unknown-values: allow auth_methods: $ref: '#/components/schemas/AuthMethods' available_scopes: $ref: '#/components/schemas/AvailableScopes' additionalProperties: false required: - id - name - credential_type - auth_methods AuthStrategyKeyAuth: description: KeyAuth Auth strategy that the application uses. type: object properties: id: description: The Application Auth Strategy ID. type: string format: uuid example: b9e81174-b5bb-4638-a3c3-8afe61a0abf8 readOnly: true name: type: string example: name default: name credential_type: type: string enum: - key_auth key_names: type: array items: type: string 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 required: - value - unit additionalProperties: false required: - id - name - credential_type - key_names ApiKeyCredentialListItem: description: API key credential returned when listing credentials. type: object properties: type: type: string enum: - api_key readOnly: true id: $ref: '#/components/schemas/UUID' display_name: type: string status: type: string enum: - active - expired - revoked readOnly: true x-speakeasy-unknown-values: allow expires_at: type: string format: date-time nullable: true readOnly: true created_at: $ref: '#/components/schemas/CreatedAt' additionalProperties: false required: - type - id - display_name - created_at ClientSecretCredentialListItem: description: Client secret credential returned when listing credentials. type: object properties: type: type: string enum: - client_secret readOnly: true id: description: Credential identifier type: string display_name: description: May not be available for all Client Credentials applications type: string nullable: true client_id: description: OAuth2 client identifier type: string readOnly: true created_at: description: 'Creation timestamp, if available' type: string format: date-time nullable: true readOnly: true expires_at: description: 'Expiration timestamp, if applicable' type: string format: date-time nullable: true readOnly: true additionalProperties: false required: - type - id - client_id - created_at CredentialListItem: type: object discriminator: propertyName: type oneOf: - $ref: '#/components/schemas/ApiKeyCredentialListItem' - $ref: '#/components/schemas/ClientSecretCredentialListItem' ListCredentialsResponse: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/CredentialListItem' additionalProperties: false required: - data - meta 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 IPEntries: description: The list of allowed ips for the portal. type: array items: $ref: '#/components/schemas/IPEntry' example: - id: 660e8400-e29b-41d4-a716-446655440000 allowed_ips: - 192.168.1.1 - id: 550e8400-e29b-41d4-a716-446655440000 allowed_ips: - 192.168.1.0/22 - 192.168.1.52 maxItems: 1000 uniqueItems: true CreateCatalogService: type: object properties: name: description: | The machine name of the Service that uniquely identifies it within the catalog. type: string example: user-svc maxLength: 120 minLength: 1 pattern: '^[0-9a-z.-]+$' display_name: description: The display name of the Service. type: string example: User Service maxLength: 120 minLength: 1 description: description: Optionally provide a description of the Service. type: string maxLength: 2048 nullable: true labels: $ref: '#/components/schemas/Labels' custom_fields: $ref: '#/components/schemas/CustomFields' additionalProperties: false required: - name - display_name UpdateCatalogService: type: object properties: name: description: | The machine name of the Service that uniquely identifies it within the catalog. type: string example: user-svc maxLength: 120 minLength: 1 pattern: '^[0-9a-z.-]+$' display_name: description: The display name of the Service. type: string example: User Service maxLength: 120 minLength: 1 description: description: Optionally provide a description of the Service. type: string maxLength: 2048 nullable: true labels: $ref: '#/components/schemas/LabelsUpdate' custom_fields: $ref: '#/components/schemas/CustomFields' additionalProperties: false CatalogServiceFilterParameters: type: object properties: id: $ref: '#/components/schemas/UuidFieldFilter' name: $ref: '#/components/schemas/StringFieldFilter' display_name: $ref: '#/components/schemas/StringFieldFilter' custom_fields: description: | Filter by custom fields using dot-notation to specify the custom field. Filter operators are dictated by the custom field type. For example: - `filter[custom_fields.owner]` - `filter[custom_fields.owner][neq]=kong` - `filter[custom_fields.dashboard.link][contains]=https` oneOf: - $ref: '#/components/schemas/StringFieldFilter' - $ref: '#/components/schemas/BooleanFieldFilter' - $ref: '#/components/schemas/NumericFieldFilter' labels: $ref: '#/components/schemas/LabelsFieldFilter' created_at: $ref: '#/components/schemas/DateTimeFieldFilter' updated_at: $ref: '#/components/schemas/DateTimeFieldFilter' CatalogService: description: The service object contains information about a Service Catalog service. type: object properties: id: description: The service ID. type: string format: uuid example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 readOnly: true name: description: | The machine name of the Service that uniquely identifies it within the catalog. type: string example: user-svc maxLength: 120 minLength: 1 pattern: '^[0-9a-z.-]+$' display_name: description: The display name of the Service. type: string example: User Service maxLength: 120 minLength: 1 description: description: Optionally provide a description of the Service. type: string maxLength: 2048 nullable: true custom_fields: $ref: '#/components/schemas/CustomFields' labels: $ref: '#/components/schemas/Labels' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - id - name - display_name - description - custom_fields - labels - created_at - updated_at title: CatalogService CatalogIntegrationFilterParameters: type: object properties: name: $ref: '#/components/schemas/StringFieldFilter' display_name: $ref: '#/components/schemas/StringFieldFilter' CatalogIntegration: type: object properties: name: description: The machine name of the integration that uniquely identifies it within the catalog. type: string example: gateway-manager readOnly: true display_name: description: The display name of the integration. type: string example: Gateway Manager description: description: The description of the integration. type: string built_in: description: | Denotes whether the integration is built-in to the catalog. Built-in integrations are always connected and available by default. type: boolean example: true readOnly: true version: description: The integration version. type: string example: v1 readOnly: true visibility: description: The visibility of the integration. type: string example: public enum: - public - private x-speakeasy-unknown-values: allow authorization: $ref: '#/components/schemas/CatalogIntegrationAuthorization' config_schema: $ref: '#/components/schemas/CatalogIntegrationConfigSchema' resource_types: $ref: '#/components/schemas/CatalogIntegrationResourceTypes' discovery: $ref: '#/components/schemas/CatalogIntegrationDiscovery' api_spec_provider: $ref: '#/components/schemas/CatalogIntegrationApiSpecProvider' events: $ref: '#/components/schemas/CatalogIntegrationEvents' required: - built_in - name - display_name - version - authorization - config_schema - resource_types - discovery - api_spec_provider - events - visibility CatalogIntegrationAuthorization: description: Defines the authorization strategy for an integration. oneOf: - type: object nullable: true - $ref: '#/components/schemas/OAuth' - $ref: '#/components/schemas/MultiKeyAuth' - $ref: '#/components/schemas/GitHubAppInstallationAuth' title: CatalogIntegrationAuthorization OAuth: description: | Defines the OAuth 2.0 authorization strategy used by an integration. This schema provides all necessary information for the platform to initiate and manage OAuth-based authorization flows on behalf of customers. type: object properties: type: type: string const: oauth overridable_config: description: | A list of field names from the `config` object (e.g., `client_id`, `authorization_endpoint`, etc) that can be overridden on a per-customer basis. When a field is listed here, the catalog allows customer-defined values to take precedence over the default configuration provided by the integration. This supports flexible deployment models, including both SaaS-based and self-hosted OAuth authorization flows. type: array items: type: string enum: - client_id - client_secret - authorization_endpoint - token_endpoint x-speakeasy-unknown-values: allow config: type: object properties: grant_type: description: | The OAuth 2.0 grant type used for authorization (e.g., `authorization_code`). Determines the flow the integration uses to request access tokens. type: string enum: - authorization_code client_id: description: The OAuth client identifier registered with the integration provider. type: string example: d745213a-b7e8-4998-abe3-41f164001970 authorization_endpoint: type: object properties: url: description: The URL where users are redirected to authorize access. type: string format: uri example: 'https://identity.service.com/oauth/authorize' required: - url token_endpoint: type: object properties: url: description: The URL used to retrieve access tokens. type: string format: uri example: 'https://identity.service.com/oauth/token' required: - url scope: description: | A list of permission scopes requested by the integration. Defines what level of access the token will grant. type: array items: type: string example: - read - write scope_delimiter: description: | A string used to separate multiple scopes in the `scope` parameter. type: string default: ' ' rolling_refresh_exp_seconds: description: | Number of seconds before the refresh token grant can no longer be used to mint a new access token. Once expired clients must re-authenticate to restart the window interval. type: number example: 15780000 nullable: true required: - grant_type - client_id - authorization_endpoint - token_endpoint - scope - rolling_refresh_exp_seconds required: - type - config MultiKeyAuth: description: | Defines an authentication strategy based on one or more API keys passed via HTTP headers. This strategy supports integrations that require custom headers for credential-based access, allowing flexibility across providers with different authentication header requirements. type: object properties: type: type: string const: multi_key_auth config: type: object properties: headers: description: | A list of header definitions used to transmit API credentials to the integration's external API. Each header represents a unique key required by the provider. type: array items: type: object title: KeyAuthHeader required: - name - display_name - description properties: name: description: The exact name of the HTTP request header where the credential should be inserted. type: string example: X-API-Key display_name: description: 'An optional user-friendly label for the key, used in UI forms to guide users.' type: string example: API Key nullable: true description: description: An optional brief explanation of the purpose or usage of the key. type: string nullable: true minItems: 1 required: - headers required: - type - config GitHubAppInstallationAuth: description: | Defines the GitHub App authorization strategy used by the GitHub integration. This strategy enables secure access to GitHub APIs using app installation tokens. It supports both API-based interactions and real-time event delivery via GitHub webhooks. Unlike standard OAuth flows, this strategy leverages GitHub's custom app installation flow and token lifecycle, making it ideal for deep, organization-level GitHub integration. type: object properties: type: type: string const: github_app_installation config: type: object properties: app_install_url: type: object additionalProperties: false properties: url: description: | The URL where customers are directed to install the GitHub App into their GitHub organization. type: string format: uri example: 'https://global.api.konghq.com/service-catalog-integrations/github/app/install' required: - url app_manage_url: type: object additionalProperties: false properties: url: description: 'The GitHub App management page URL where users can view, configure, or uninstall the app after installation.' type: string format: uri example: 'https://global.api.konghq.com/service-catalog-integrations/github/app/manage' required: - url authorize_app_installation_endpoint: type: object additionalProperties: false properties: url: description: | The endpoint used to link a completed GitHub App installation with a customer account in the catalog. This step finalizes the integration by exchanging metadata from the GitHub installation event. type: string format: uri example: 'https://global.api.konghq.com/service-catalog-integrations/github/app/authorize-installation' required: - url pending_app_installs_endpoint: type: object additionalProperties: false properties: url: description: | The endpoint used to return a list of in-progress or unlinked GitHub App installations awaiting user confirmation. type: string format: uri example: 'https://global.api.konghq.com/service-catalog-integrations/github/app/pending-installs' required: - url required: - app_install_url - app_manage_url - authorize_app_installation_endpoint - pending_app_installs_endpoint required: - type - config CatalogIntegrationConfigSchema: description: Defines the configuration schema for the integration. example: base_url: type: string display_name: Base URL description: The customer-specific API URL required: true additionalProperties: oneOf: - type: object nullable: true - $ref: '#/components/schemas/StringConfigFieldSchema' - $ref: '#/components/schemas/EnumConfigFieldSchema' - $ref: '#/components/schemas/BooleanConfigFieldSchema' StringConfigFieldSchema: description: Defines a string value integration config field. type: object properties: display_name: description: user-friendly name of the configuration field. type: string description: description: Optional brief description of the configuration field. type: string required: description: Denotes whether the config field is a required value. type: boolean default: false mutable_condition: $ref: '#/components/schemas/MutableCondition' type: description: The field type of the config value. type: string enum: - string default: description: The default value for the config field. type: string required: - type title: StringConfigFieldSchema EnumConfigFieldSchema: description: Defines an enum value integration config field. type: object properties: display_name: description: user-friendly name of the configuration field. type: string description: description: Optional brief description of the configuration field. type: string required: description: Denotes whether the config field is a required value. type: boolean default: false mutable_condition: $ref: '#/components/schemas/MutableCondition' type: description: The field type of config value. type: string enum: - enum choices: description: List of enumerated choices that can be selected as the config field value. type: array items: type: object required: - value - display_name properties: value: description: The value represented by this option. type: string display_name: description: user-friendly name of the option. type: string description: description: Optional brief description of the option. type: string default: description: | The default value for the config field. Must reference the value of an option listed in `choices`. type: string required: - type - choices title: EnumConfigFieldSchema BooleanConfigFieldSchema: description: Defines a boolean value integration config field. type: object properties: display_name: description: user-friendly name of the configuration field. type: string description: description: Optional brief description of the configuration field. type: string required: description: Denotes whether the config field is a required value. type: boolean default: false mutable_condition: $ref: '#/components/schemas/MutableCondition' type: description: The field type of the config value. type: string enum: - boolean default: description: The default value for the config field. type: boolean required: - type title: BooleanConfigFieldSchema MutableCondition: description: | Defines the condition under which this configuration field is allowed to be modified. When specified, the platform will restrict updates to this field unless the integration meets the given condition. For example, setting `mutable_condition: unauthorized` means the field can only be changed while the integration is in an unauthorized state. type: string enum: - unauthorized CatalogIntegrationResourceTypes: description: | Defines the resource types that the integration manages within the catalog. This schema is a key-value object where: - Keys are globally unique, machine-readable identifiers for each resource type. - Values are objects describing metadata about the resource type. This declaration enables the platform to understand the structure, identity, and behavior of resources discovered by the integration. By registering resource types, integrations communicate the kinds of entities they will ingest and maintain, allowing the catalog to enforce consistency, validation, and visibility across all integrations. type: object example: gateway_svc: display_name: Gateway Service schema: type: simple definition: control_plane_id: string gatway_service_id: string analytics_dashboard: display_name: Dashboard schema: type: simple definition: dashboard_id: string additionalProperties: type: object title: ResourceType required: - schema properties: display_name: description: The user-friendly resource type name. type: string schema: $ref: '#/components/schemas/SimpleSchema' CatalogIntegrationDiscovery: description: | Defines how the integration participates in Discovery. Discovery enables integrations to automatically ingest and update resources in the catalog. type: object properties: resource_integration_data_examples: description: | A map of example resource `integration_data` payloads by resource type. - Keys are the machine-readable, globally unique names of resource types registered by this integration. - Values are example `integration_data` payloads. type: object example: gateway_service: control_plane: id: 00000000-0000-0000-0000-000000000000 name: dev-ext labels: env: development gateway_service: id: 11111111-1111-1111-1111-111111111111 name: gateway-service host: konghq.com path: /example type: service port: 443 protocol: https enabled: true additionalProperties: type: object additionalProperties: true description: An example `integration_data` payload for the given resource type. nullable: true required: - resource_integration_data_examples CatalogIntegrationApiSpecProvider: description: | Defines how an integration behaves as a source provider of Catalog Service API specs. API specs are entities that can be attached to Catalog Services. When an integration implements this capability, it can act as a source type for API spec contents. In this role, the integration becomes the source of truth for the spec. When a spec is attached to a Catalog Service using this source type, the platform relies on the external system to provide and update the spec data. A null value indicates the given integration does not act as a source provider of API specs. type: object properties: name: description: | The globally unique name of the API spec provider that identifies it within the catalog. Corresponds to the API spec provider `type` when creating API specs. type: string example: konnect_api display_name: description: A user-friendly name for the API spec provider. type: string example: Konnect API description: description: An brief description of the API spec provider. type: string config_schema: description: Defines the shape of the API spec provider config. type: object example: type: simple definition: api_id: string properties: type: type: string enum: - simple definition: type: object additionalProperties: type: string enum: - string - number - boolean x-speakeasy-unknown-values: allow required: - type - definition resource_type: description: | When non-null, denotes that the API spec provider is bound to the given Resource type. This means that API specs are auto-created when a Resource of the given type is mapped to a service. Furthermore, it couples the lifecycle of the API Spec with the given Resource mapping. When the given Resource is removed, the API spec will be deleted. type: string nullable: true nullable: true required: - name - display_name - description - config_schema - resource_type CatalogIntegrationEvents: description: | Defines the event types across all resource types belonging to the integration that will be ingested into the catalog. - Keys are the machine-readable, globally unique names of resource types registered by this integration. - Values are a map of event type definitions. type: object example: gateway_svc: plugin_added: display_name: Plugin Added description: Event triggered when a new plugin is added to a gateway service. events_feed: enabled: true additionalProperties: $ref: '#/components/schemas/IntegrationResourceEvents' nullable: true IntegrationResourceEvents: description: | Defines the event types for a given resource type belonging to the integration that will be ingested in the catalog. - Keys are the machine-readable, globally unique names of resource types registered by this integration. - Values are the event type definition. type: object additionalProperties: $ref: '#/components/schemas/IntegrationResourceEvent' IntegrationResourceEvent: description: Defines a registered event type for a given resource. type: object properties: display_name: description: User-friendly display name for the event type. type: string description: description: 'Optional, brief description of the integration event type.' type: string nullable: true events_feed: type: object properties: enabled: description: Whether this event type is returned by default in the Events API. type: boolean required: - enabled required: - display_name - description - events_feed CreateIntegrationInstance: type: object properties: integration_name: description: The type of integration instance to create. type: string example: aws-lambda maxLength: 120 minLength: 1 pattern: '^[0-9a-z.-]+$' name: description: | The machine name of the integration instance that uniquely identifies it within the catalog. type: string example: aws-lambda-prod maxLength: 120 minLength: 1 pattern: '^[0-9a-z.-]+$' display_name: description: The display name of the integration instance. type: string example: AWS (prod) maxLength: 120 minLength: 1 description: description: Optionally provide a description of the integration instance. type: string maxLength: 2048 nullable: true labels: $ref: '#/components/schemas/Labels' config: $ref: '#/components/schemas/IntegrationInstanceConfig' additionalProperties: false required: - integration_name - name - display_name - config UpdateIntegrationInstance: type: object properties: name: description: | The machine name of the integration instance that uniquely identifies it within the catalog. type: string example: aws-lambda-prod maxLength: 120 minLength: 1 pattern: '^[0-9a-z.-]+$' display_name: description: The display name of the integration instance. type: string example: AWS (prod) maxLength: 120 minLength: 1 description: description: Optionally provide a description of the integration instance. type: string maxLength: 2048 nullable: true labels: $ref: '#/components/schemas/LabelsUpdate' config: $ref: '#/components/schemas/IntegrationInstanceConfig' additionalProperties: false IntegrationInstanceFilterParameters: type: object properties: name: $ref: '#/components/schemas/StringFieldFilter' display_name: $ref: '#/components/schemas/StringFieldFilter' integration.name: oneOf: - $ref: '#/components/schemas/StringFieldFilter' integration.display_name: oneOf: - $ref: '#/components/schemas/StringFieldFilter' authorized: $ref: '#/components/schemas/BooleanFieldFilter' labels: $ref: '#/components/schemas/LabelsFieldFilter' created_at: $ref: '#/components/schemas/DateTimeFieldFilter' updated_at: $ref: '#/components/schemas/DateTimeFieldFilter' IntegrationInstance: description: Information about an integration instance. type: object properties: id: description: The integration instance ID. type: string format: uuid example: 3f51fa25-310a-421d-bd1a-007f859021a3 readOnly: true name: description: | The machine name of the integration instance that uniquely identifies it within the catalog. type: string example: aws-lambda-prod maxLength: 120 minLength: 1 pattern: '^[0-9a-z.-]+$' display_name: description: The display name of the integration instance. type: string example: AWS (prod) maxLength: 120 minLength: 1 description: description: The description of the integration instance. type: string maxLength: 2048 nullable: true integration: $ref: '#/components/schemas/IntegrationRefWithoutInstance' authorized: description: Denotes whether the integration instance has been authorized within the catalog. type: boolean example: true readOnly: true labels: $ref: '#/components/schemas/Labels' config: $ref: '#/components/schemas/IntegrationInstanceConfig' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - id - name - display_name - description - integration - authorized - config - created_at - updated_at IntegrationInstanceConfig: description: | JSON object representing configuration specific to the integration instance. The expected schema depends on the integration type and is dynamically registered at runtime. type: object example: account_region: eu default: {} additionalProperties: true x-speakeasy-type-override: any CreateIntegrationInstanceAuthCredential: oneOf: - $ref: '#/components/schemas/CreateOAuthCredential' - $ref: '#/components/schemas/CreateGitHubAppInstallationCredential' - $ref: '#/components/schemas/CreateMultiKeyAuthCredential' - $ref: '#/components/schemas/CreateAWSRoleDelegationAuthCredential' title: CreateIntegrationInstanceAuthCredential IntegrationInstanceAuthCredential: description: Object containing metadata for an integration instance auth credential. oneOf: - $ref: '#/components/schemas/OAuthCredential' - $ref: '#/components/schemas/GitHubAppInstallationCredential' - $ref: '#/components/schemas/MultiKeyAuthCredential' - $ref: '#/components/schemas/AWSRoleDelegationAuthCredential' title: IntegrationInstanceAuthCredential CreateOAuthCredential: description: Payload used to create an `OAuth` credential for an integration instance. type: object properties: type: type: string const: oauth config: type: object additionalProperties: false properties: grant_type: description: 'The OAuth 2.0 grant type used for authorization (e.g., `authorization_code`).' type: string enum: - authorization_code code: description: The authorization code used to exchange for an access token with the identity server. type: string example: Yzk5ZDczMzRlNDEwY redirect_uri: description: | The redirect URI submitted to the authorization server during the authentication request to retrieve the authorization code. type: string format: uri example: 'https://cloud.konghq.com/us/service-catalog/integrations/pagerduty/oauth' required: - grant_type - code - redirect_uri title: CreateOAuthCredentialConfig additionalProperties: false required: - type - config CreateGitHubAppInstallationCredential: description: Payload used to create an `GitHub App Installation` credential for an integration instance. type: object properties: type: type: string const: github_app_installation config: type: object additionalProperties: false properties: installation_id: description: The GitHub App installation ID. type: string example: '46952218' code: description: The authorization code used to exchange for a GitHub user-scoped access token. type: string example: Yzk5ZDczMzRlNDEwY app_installed_by: description: The GitHub user who installed the app type: string required: - installation_id - code title: CreateGitHubAppInstallationCredentialConfig additionalProperties: false required: - type - config CreateMultiKeyAuthCredential: description: Payload used to create an `Multi Key` credential for an integration instance. type: object properties: type: type: string const: multi_key_auth config: type: object additionalProperties: false properties: headers: description: | A list of header key/value pairs used to transmit API credentials to the integration's external API. Header names are defined by the integration within its `Multi Key` authorization strategy definition. type: array items: type: object required: - name - key properties: name: description: Name of the request header type: string key: description: The key used to populate the request header type: string example: - name: x-api-key key: 9f2a3b4c8d6e7f00112233445566778899aabbccddeeff001122334455667788 required: - headers title: CreateMultiKeyAuthCredentialConfig x-speakeasy-param-force-new: true x-speakeasy-param-suppress-computed-diff: true additionalProperties: false required: - type - config writeOnly: true x-speakeasy-name-override: multi_key_auth CreateAWSRoleDelegationAuthCredential: description: Payload used to create an `AWS Role Delegation` credential for an integration instance. type: object properties: type: type: string enum: - aws_role_delegation config: type: object additionalProperties: false properties: role_arn: description: | The AWS Role ARN string type: string example: 'arn:aws:iam::084735895545:role/KonnectServiceCatalogRole' required: - role_arn title: CreateAWSRoleDelegationAuthCredentialConfig additionalProperties: false required: - type - config OAuthCredential: description: Represents a credential scoped to an integration instance that supports the `OAuth` authorization strategy. type: object properties: id: type: string format: uuid example: 4f535923-ec24-456c-b4e5-e67f65c8c208 integration_instance: $ref: '#/components/schemas/IntegrationInstanceRef' missing_permissions: description: List of detected missing permissions required to enable the full functionality of the given integration instance. type: array items: $ref: '#/components/schemas/MissingPermission' tainted: description: Indicates that the credential is no longer valid and must be replaced with a new valid credential. type: boolean example: false expires_at: description: | Timestamp denoting when the when the credential will expire in RFC-3339 format with a "T" character separating date from time within the field value. When expired, the credential must be replaced with a new valid credential to re-enable full functionality for the given integration instance. A `null` value indicates no known expiration time. type: string format: date-time example: '2025-04-01T07:20:50Z' nullable: true created_at: $ref: '#/components/schemas/CreatedAt' type: type: string const: oauth required: - id - integration_instance - missing_permissions - tainted - expires_at - created_at - type title: OAuthCredential x-speakeasy-name-override: Oauth x-speakeasy-param-suppress-computed-diff: true GitHubAppInstallationCredential: description: Represents a credential scoped to an integration instance that supports the `GitHub App Installation` authorization strategy. type: object properties: id: type: string format: uuid example: 4f535923-ec24-456c-b4e5-e67f65c8c208 integration_instance: $ref: '#/components/schemas/IntegrationInstanceRef' missing_permissions: description: List of detected missing permissions required to enable the full functionality of the given integration instance. type: array items: $ref: '#/components/schemas/MissingPermission' tainted: description: Indicates that the credential is no longer valid and must be replaced with a new valid credential. type: boolean example: false expires_at: description: | Timestamp denoting when the when the credential will expire in RFC-3339 format with a "T" character separating date from time within the field value. When expired, the credential must be replaced with a new valid credential to re-enable full functionality for the given integration instance. A `null` value indicates no known expiration time. type: string format: date-time example: '2025-04-01T07:20:50Z' nullable: true created_at: $ref: '#/components/schemas/CreatedAt' type: type: string const: github_app_installation config: type: object properties: installation_id: description: The GitHub App installation ID type: string app_installed_by: description: The GitHub user who installed the app. type: string nullable: true required: - installation_id - app_installed_by title: GitHubAppInstallationCredentialConfig required: - id - integration_instance - missing_permissions - tainted - expires_at - created_at - type - config title: GitHubAppInstallationCredential x-speakeasy-name-override: GithubAppInstallation x-speakeasy-param-suppress-computed-diff: true MultiKeyAuthCredential: description: Represents a credential scoped to an integration instance that supports the `Multi Key` authorization strategy. type: object properties: id: type: string format: uuid example: 4f535923-ec24-456c-b4e5-e67f65c8c208 integration_instance: $ref: '#/components/schemas/IntegrationInstanceRef' missing_permissions: description: List of detected missing permissions required to enable the full functionality of the given integration instance. type: array items: $ref: '#/components/schemas/MissingPermission' tainted: description: Indicates that the credential is no longer valid and must be replaced with a new valid credential. type: boolean example: false expires_at: description: | Timestamp denoting when the when the credential will expire in RFC-3339 format with a "T" character separating date from time within the field value. When expired, the credential must be replaced with a new valid credential to re-enable full functionality for the given integration instance. A `null` value indicates no known expiration time. type: string format: date-time example: '2025-04-01T07:20:50Z' nullable: true created_at: $ref: '#/components/schemas/CreatedAt' type: type: string const: multi_key_auth required: - id - integration_instance - missing_permissions - tainted - expires_at - created_at - type title: MultiKeyAuthCredential x-speakeasy-param-suppress-computed-diff: true AWSRoleDelegationAuthCredential: description: Represents a credential scoped to an integration instance that supports the `AWS Role Delegation` authorization strategy. type: object properties: id: type: string format: uuid example: 4f535923-ec24-456c-b4e5-e67f65c8c208 integration_instance: $ref: '#/components/schemas/IntegrationInstanceRef' missing_permissions: description: List of detected missing permissions required to enable the full functionality of the given integration instance. type: array items: $ref: '#/components/schemas/MissingPermission' tainted: description: Indicates that the credential is no longer valid and must be replaced with a new valid credential. type: boolean example: false expires_at: description: | Timestamp denoting when the when the credential will expire in RFC-3339 format with a "T" character separating date from time within the field value. When expired, the credential must be replaced with a new valid credential to re-enable full functionality for the given integration instance. A `null` value indicates no known expiration time. type: string format: date-time example: '2025-04-01T07:20:50Z' nullable: true created_at: $ref: '#/components/schemas/CreatedAt' type: type: string enum: - aws_role_delegation config: type: object properties: role_arn: description: The Role ARN use for AWS Assume Role. type: string required: - role_arn title: AWSRoleDelegationAuthCredentialConfig required: - id - integration_instance - missing_permissions - tainted - expires_at - created_at - type - config title: AWSRoleDelegationAuthCredential x-speakeasy-param-suppress-computed-diff: true MissingPermission: type: object properties: scopes: type: array items: type: string nullable: true example: - 'incident:read' message: description: | Describes the degraded experience of the integration instance due to the missing permission. May also include a message on how to resolve the missing permission. type: string required: - scopes - message UpsertIntegrationInstanceAuthConfig: oneOf: - $ref: '#/components/schemas/UpsertOAuthAuthConfig' title: UpsertIntegrationInstanceAuthConfig IntegrationInstanceAuthConfig: oneOf: - $ref: '#/components/schemas/OAuthAuthConfig' title: IntegrationInstanceAuthConfig UpsertOAuthAuthConfig: type: object properties: type: type: string const: oauth client_id: description: The OAuth client identifier. type: string example: d745213a-b7e8-4998-abe3-41f164001970 client_secret: description: The OAuth client secret. type: string example: s3cr3t4p1cl13ntt0k3n1234567890abcdef writeOnly: true authorization_endpoint: description: The URL where users are redirected to authorize access. type: string format: uri example: 'https://identity.service.com/oauth/authorize' token_endpoint: description: The URL used to retrieve access tokens. type: string format: uri example: 'https://identity.service.com/oauth/token' additionalProperties: false required: - type - client_id - client_secret - authorization_endpoint - token_endpoint title: OAuth Config x-speakeasy-name-override: oauth_config OAuthAuthConfig: type: object properties: type: type: string const: oauth client_id: description: The OAuth client identifier. type: string example: d745213a-b7e8-4998-abe3-41f164001970 authorization_endpoint: description: The URL where users are redirected to authorize access. type: string format: uri example: 'https://identity.service.com/oauth/authorize' token_endpoint: description: The URL used to retrieve access tokens. type: string format: uri example: 'https://identity.service.com/oauth/token' required: - type - client_id - authorization_endpoint - token_endpoint x-speakeasy-name-override: OauthAuthConfig UpdateCatalogResource: type: object properties: archived: description: | Whether or not to archive the resource. When a resource is archived, all catalog service mappings will be removed. type: boolean example: false additionalProperties: false CatalogResourceFilterParameters: type: object properties: id: $ref: '#/components/schemas/StringFieldFilterExact' name: $ref: '#/components/schemas/StringFieldFilter' integration.name: oneOf: - $ref: '#/components/schemas/StringFieldFilter' integration.display_name: oneOf: - $ref: '#/components/schemas/StringFieldFilter' integration.instance.id: oneOf: - $ref: '#/components/schemas/UuidFieldFilter' integration.instance.name: oneOf: - $ref: '#/components/schemas/StringFieldFilter' integration.instance.display_name: oneOf: - $ref: '#/components/schemas/StringFieldFilter' type: $ref: '#/components/schemas/StringFieldFilterExact' config: oneOf: - $ref: '#/components/schemas/CatalogResourceConfigFieldFilter' integration_data: oneOf: - $ref: '#/components/schemas/CatalogResourceIntegrationDataFieldFilter' archived: $ref: '#/components/schemas/BooleanFieldFilter' service_associations: $ref: '#/components/schemas/NumericFieldFilter' created_at: $ref: '#/components/schemas/DateTimeFieldFilter' updated_at: $ref: '#/components/schemas/DateTimeFieldFilter' CatalogResourceRefFilterParameters: type: object properties: id: $ref: '#/components/schemas/StringFieldFilterExact' name: $ref: '#/components/schemas/StringFieldFilter' integration.name: oneOf: - $ref: '#/components/schemas/StringFieldFilter' integration.display_name: oneOf: - $ref: '#/components/schemas/StringFieldFilter' integration.instance.id: oneOf: - $ref: '#/components/schemas/UuidFieldFilter' integration.instance.name: oneOf: - $ref: '#/components/schemas/StringFieldFilter' integration.instance.display_name: oneOf: - $ref: '#/components/schemas/StringFieldFilter' type: $ref: '#/components/schemas/StringFieldFilterExact' config: oneOf: - $ref: '#/components/schemas/CatalogResourceConfigFieldFilter' integration_data: oneOf: - $ref: '#/components/schemas/CatalogResourceIntegrationDataFieldFilter' service_associations: $ref: '#/components/schemas/NumericFieldFilter' created_at: $ref: '#/components/schemas/DateTimeFieldFilter' updated_at: $ref: '#/components/schemas/DateTimeFieldFilter' CatalogResourceConfigFieldFilter: description: | Filters on the resource's `config` field. Filters must use dot-notation to identify the property that will be used to filter the results. For example: - `filter[config.control_plane_id]` - `filter[config.gateway_service_id][neq]=cedbd134-fc5c-4d44-9e38-ccd2a0c6e0ae` type: object properties: eq: type: string contains: type: string ocontains: type: string oeq: type: string neq: type: string additionalProperties: false required: - contains - ocontains - oeq - neq title: CatalogResourceConfigFieldFilter CatalogResourceIntegrationDataFieldFilter: description: | Filters on the resource's `integration_data` field. Filters must use dot-notation to identify the property that will be used to filter the results. For example: - `filter[integration_data.control_plane.id]=760562c3-fedd-43e4-b742-fc1663fef188` - `filter[integration_data.gateway_service.name][contains]=legacy` type: object properties: eq: type: string contains: type: string ocontains: type: string oeq: type: string neq: type: string additionalProperties: false required: - contains - ocontains - oeq - neq title: CatalogResourceIntegrationDataFieldFilter CatalogResource: description: Information about a catalog resource. type: object properties: id: $ref: '#/components/schemas/CatalogResourceId' name: description: | The name of the resource. Will be `null` when the resource has not yet been hydrated by the integration. type: string maxLength: 255 minLength: 1 nullable: true integration: $ref: '#/components/schemas/IntegrationRef' type: $ref: '#/components/schemas/CatalogResourceType' config: $ref: '#/components/schemas/CatalogResourceConfig' integration_data: description: | JSON object containing schemaless integration data of the resource. This field is always populated by the system backing the integration. When `null`, the resource has been manually initialized via API but has yet to be hydrated by the integration. type: object additionalProperties: true nullable: true archived: description: Whether or not the resource has been archived. type: boolean example: false service_associations: description: The number of catalog services this resource is mapped to. type: number example: 2 minimum: 0 readOnly: true created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - id - name - integration - type - config - integration_data - archived - service_associations - created_at - updated_at CatalogResourceId: description: The resource ID. type: string format: base64url example: 4UdXnoaDYYJsH_Ir maxLength: 16 minLength: 16 CatalogResourceConfig: description: | JSON object representing the properties used to identify the resource in the third-party system. The schema depends on the resource type and is dynamically registered at runtime. type: object example: control_plane_id: ccadfb0a-56cd-4f74-955d-aec1d87157c8 gateway_service_id: 94896d05-0c4d-45eb-aae3-de754885dd58 additionalProperties: true x-speakeasy-type-override: any CatalogResourceType: description: | The resource type. Available resource types are compiled from the integrations installed within the catalog. type: string example: gateway_svc maxLength: 120 minLength: 1 CreateCatalogResourceMapping: type: object properties: service: description: The `id` or `name` of the service to map the resource to. type: string example: user-svc x-speakeasy-name-override: service_id resource: oneOf: - $ref: '#/components/schemas/CatalogResourceId' - $ref: '#/components/schemas/CreateCatalogResourceMappingResourceByConfig' additionalProperties: false required: - service - resource CreateCatalogResourceMappingResourceByConfig: type: object properties: integration_instance: description: The `id` or `name` of the integration instance the resource belongs to. type: string example: aws-lambda-prod type: $ref: '#/components/schemas/CatalogResourceType' config: $ref: '#/components/schemas/CatalogResourceConfig' additionalProperties: false required: - integration_instance - type - config title: CreateCatalogResourceMappingResourceByConfig CatalogResourceMappingFilterParameters: type: object properties: resource.id: oneOf: - $ref: '#/components/schemas/StringFieldFilterExact' resource.name: oneOf: - $ref: '#/components/schemas/StringFieldFilter' resource.type: oneOf: - $ref: '#/components/schemas/StringFieldFilter' resource.config: oneOf: - $ref: '#/components/schemas/CatalogResourceConfigFieldFilter' resource.integration.name: oneOf: - $ref: '#/components/schemas/StringFieldFilter' resource.integration.display_name: oneOf: - $ref: '#/components/schemas/StringFieldFilter' resource.integration.instance.id: oneOf: - $ref: '#/components/schemas/UuidFieldFilter' resource.integration.instance.name: oneOf: - $ref: '#/components/schemas/StringFieldFilter' resource.integration.instance.display_name: oneOf: - $ref: '#/components/schemas/StringFieldFilter' service.id: oneOf: - $ref: '#/components/schemas/StringFieldFilterExact' service.name: oneOf: - $ref: '#/components/schemas/StringFieldFilter' service.display_name: oneOf: - $ref: '#/components/schemas/StringFieldFilter' created_at: $ref: '#/components/schemas/DateTimeFieldFilter' CatalogResourceMapping: description: Describes a mapping between a catalog resource and a service. type: object properties: id: description: The resource mapping ID. type: string format: uuid example: d277faad-ed4e-4c56-a0fb-acce065dee34 resource: $ref: '#/components/schemas/CatalogResourceRef' service: $ref: '#/components/schemas/CatalogServiceRef' created_at: $ref: '#/components/schemas/CreatedAt' required: - id - resource - service - created_at CriteriaTemplateFilterParameters: type: object properties: name: $ref: '#/components/schemas/StringFieldFilter' display_name: $ref: '#/components/schemas/StringFieldFilter' installed: $ref: '#/components/schemas/BooleanFieldFilter' integration_name: $ref: '#/components/schemas/StringFieldFilter' CriteriaTemplate: description: Representation of a criteria template. type: object properties: name: $ref: '#/components/schemas/CriteriaTemplateName' display_name: description: The human-readable display name of the template. type: string category: description: Categorical tag for the functionality the template relates to. type: string example: Source Code Management enum: - Source Code Management - Incident Management - Observability - Code Quality - Issue Tracking - Communications - Feature Management - Security / Vulnerability - Documentation - Catalog Management - Gateway Configuration nullable: true x-speakeasy-unknown-values: allow template_string: description: '[Liquid](https://shopify.github.io/liquid/) template string used to render the criteria interpolated by parameters.' type: string nullable: true integration_name: description: | The catalog integration who registered the given criteria template. This will be `null` when a template is always available independent of connected integrations. type: string nullable: true installed: description: | Whether the template is available given the current state of the catalog. For example, this will be `false` when the template is provided by an integrastion that is not currently connected. type: boolean schema: $ref: '#/components/schemas/CriteriaTemplateSchema' required_integration_capability: description: | Required capability from connected integrations to use this criteria template. Applicable for templates that are not provided by a given integration (functional across integrations). type: string enum: - null - on_call_provider - incident_provider - pull_request_provider - workflow_provider nullable: true x-speakeasy-unknown-values: allow required: - name - display_name - category - template_string - integration_name - installed - schema - required_integration_capability CriteriaTemplateSchema: oneOf: - title: EmptySchema type: object nullable: true - type: object required: - type - definition properties: type: type: string enum: - simple definition: type: object additionalProperties: type: string enum: - string - number - boolean title: CriteriaTemplateSimpleSchema description: | Defines the parameters required to evaluate the criteria using simple schema. Set to `null` when the given criteria does not rely on parameterization. - type: object required: - type - definition properties: type: type: string enum: - json_schema definition: type: object additionalProperties: true title: CriteriaTemplateJSONSchema description: | Defines the parameters required to evaluate the criteria using JSON schema. Set to `null` when the given criteria does not rely on parameterization. ScorecardTemplateFilterParameters: type: object properties: name: $ref: '#/components/schemas/StringFieldFilter' display_name: $ref: '#/components/schemas/StringFieldFilter' ScorecardTemplate: description: Representation of a scorecard template. type: object properties: name: $ref: '#/components/schemas/ScorecardTemplateName' display_name: type: string example: Kong Best Practices description: type: string example: Best practices that we encourage users to follow when using other Konnect applications. criteria: type: array items: $ref: '#/components/schemas/ScorecardTemplateCriteria' example: - template_name: gateway_manager_error_rate template_parameters: relative_window: 30d integration: gateway_manager section_name: Gateway Observability - template_name: gateway_manager_response_latency template_parameters: metric: response_latency_p95 relative_window: 30d integration: gateway_manager section_name: Gateway Observability - template_name: gateway_manager_has_plugin template_parameters: {} integration: gateway_manager section_name: Plugin Management required: - name - display_name - description - criteria ScorecardTemplateName: description: Well-known name of the template. Uniquely identifies the template. type: string example: kong_best_practices enum: - kong_best_practices - service_documentation - service_maturity - security_and_compliance x-speakeasy-unknown-values: allow ScorecardTemplateCriteria: type: object properties: integration: description: The integration `name` when it provides the criteria template. Otherwise `null`. type: string example: null nullable: true template_name: $ref: '#/components/schemas/CriteriaTemplateName' template_parameters: $ref: '#/components/schemas/CriteriaParameters' section_name: description: Organizational section that the criteria belongs to within the scorecard template. type: string example: Source Code Management nullable: true required: - integration - template_name - template_parameters - section_name CreateScorecard: type: object properties: name: description: The human-readable name of the scorecard. type: string example: Incident Response description: type: string example: Governs key metrics pertaining to teams' incident response practices. nullable: true entity_selector: $ref: '#/components/schemas/ScorecardEntitySelector' criteria: type: array items: $ref: '#/components/schemas/CreateScorecardCriteria' minItems: 1 scorecard_template: description: | The name of the scorecard template used to create the scorecard. Otherwise, `null`. type: string example: kong_best_practices enum: - kong_best_practices - service_documentation - service_maturity - security_and_compliance nullable: true x-speakeasy-unknown-values: allow additionalProperties: false required: - name - description - entity_selector - criteria - scorecard_template UpdateScorecard: type: object properties: name: description: The human-readable name of the scorecard. type: string example: Incident Response description: type: string example: Governs key metrics pertaining to teams' incident response practices. nullable: true entity_selector: $ref: '#/components/schemas/ScorecardEntitySelector' criteria: type: array items: oneOf: - $ref: '#/components/schemas/UpdateScorecardCriteria' - $ref: '#/components/schemas/CreateScorecardCriteria' minItems: 1 scorecard_template: description: | The name of the scorecard template used to create the scorecard. Otherwise, `null`. type: string example: kong_best_practices enum: - kong_best_practices - service_documentation - service_maturity - security_and_compliance nullable: true x-speakeasy-unknown-values: allow additionalProperties: false required: - name - description - entity_selector - criteria - scorecard_template ScorecardFilterParameters: type: object properties: name: $ref: '#/components/schemas/StringFieldFilter' score.value: oneOf: - $ref: '#/components/schemas/StringFieldFilter' score.raw_value: oneOf: - $ref: '#/components/schemas/NumericFieldFilter' Scorecard: description: Representation of a scorecard. type: object properties: id: type: string format: uuid example: f3704e4c-104d-4f21-998a-20d4364c893f name: description: The human-readable name of the scorecard. type: string example: Incident Response description: type: string example: Governs key metrics pertaining to teams' incident response practices. nullable: true score: $ref: '#/components/schemas/ScorecardScore' entity_selector: $ref: '#/components/schemas/ScorecardEntitySelector' scorecard_template: description: | The name of the scorecard template used to create the scorecard. Otherwise, `null`. type: string example: kong_best_practices enum: - kong_best_practices - service_documentation - service_maturity - security_and_compliance nullable: true x-speakeasy-unknown-values: allow created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - id - name - description - score - entity_selector - scorecard_template - created_at - updated_at ScorecardWithCriteria: description: Representation of a scorecard. type: object properties: id: type: string format: uuid example: f3704e4c-104d-4f21-998a-20d4364c893f name: description: The human-readable name of the scorecard. type: string example: Incident Response description: type: string example: Governs key metrics pertaining to teams' incident response practices. nullable: true score: $ref: '#/components/schemas/ScorecardScore' entity_selector: $ref: '#/components/schemas/ScorecardEntitySelector' scorecard_template: description: | The name of the scorecard template used to create the scorecard. Otherwise, `null`. type: string example: kong_best_practices enum: - kong_best_practices - service_documentation - service_maturity - security_and_compliance nullable: true x-speakeasy-unknown-values: allow created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' criteria: type: array items: $ref: '#/components/schemas/ScorecardCriteria' required: - id - name - description - score - entity_selector - scorecard_template - created_at - updated_at - criteria CatalogServiceScorecard: description: Representation of a scorecard. type: object properties: id: type: string format: uuid example: f3704e4c-104d-4f21-998a-20d4364c893f name: description: The human-readable name of the scorecard. type: string example: Incident Response description: type: string example: Governs key metrics pertaining to teams' incident response practices. nullable: true score: $ref: '#/components/schemas/ScorecardScore' entity_selector: $ref: '#/components/schemas/ScorecardEntitySelector' scorecard_template: description: | The name of the scorecard template used to create the scorecard. Otherwise, `null`. type: string example: kong_best_practices enum: - kong_best_practices - service_documentation - service_maturity - security_and_compliance nullable: true x-speakeasy-unknown-values: allow created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' criteria: type: array items: $ref: '#/components/schemas/CatalogServiceScorecardCriteria' required: - id - name - description - score - entity_selector - scorecard_template - created_at - updated_at - criteria ScorecardEntitySelector: description: | Selector used to dynamically target catalog entities that will be included in the given scorecard's evaluated score. type: object example: selector: label selector_parameters: label_key: product_area operator: eq value: cloud_platform nullable: true oneOf: - $ref: '#/components/schemas/ServiceSelector' title: ScorecardEntitySelector ScorecardScore: description: | The current score for the given Scorecard. A `null` value indicates the scorecard has not yet been evaluated and therefore no score has been computed. type: object properties: value: description: The human-readable score value coverted to the Scorecard's assigned grading system. type: string example: 88% raw_value: description: | The raw, numeric score calculated during evaluation of the scorecard. Rounded to 3 decimal places. type: number example: 87.5 maximum: 100 minimum: 0 nullable: true required: - value - raw_value ScorecardServiceFilterParameters: type: object properties: id: $ref: '#/components/schemas/UuidFieldFilter' name: $ref: '#/components/schemas/StringFieldFilter' display_name: $ref: '#/components/schemas/StringFieldFilter' custom_fields: description: | Filter by custom fields using dot-notation to specify the custom field. Filter operators are dictated by the custom field type. For example: - `filter[custom_fields.owner]` - `filter[custom_fields.owner][neq]=kong` - `filter[custom_fields.dashboard.link][contains]=https` oneOf: - $ref: '#/components/schemas/StringFieldFilter' - $ref: '#/components/schemas/BooleanFieldFilter' - $ref: '#/components/schemas/NumericFieldFilter' labels: $ref: '#/components/schemas/LabelsFieldFilter' created_at: $ref: '#/components/schemas/DateTimeFieldFilter' updated_at: $ref: '#/components/schemas/DateTimeFieldFilter' score.value: oneOf: - $ref: '#/components/schemas/StringFieldFilter' score.raw_value: oneOf: - $ref: '#/components/schemas/NumericFieldFilter' ScorecardService: description: Service object that includes its score for the given scorecard. type: object properties: id: description: The service ID. type: string format: uuid example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 readOnly: true name: description: | The machine name of the Service that uniquely identifies it within the catalog. type: string example: user-svc maxLength: 120 minLength: 1 pattern: '^[0-9a-z.-]+$' display_name: description: The display name of the Service. type: string example: User Service maxLength: 120 minLength: 1 description: description: Optionally provide a description of the Service. type: string maxLength: 2048 nullable: true custom_fields: $ref: '#/components/schemas/CustomFields' labels: $ref: '#/components/schemas/Labels' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' score: $ref: '#/components/schemas/ScorecardScore' required: - id - name - display_name - description - custom_fields - labels - created_at - updated_at - score title: ScorecardService ScorecardCriteriaFilterParameters: type: object properties: evaluation.passing_services_count: oneOf: - $ref: '#/components/schemas/NumericFieldFilter' ScorecardCriteriaServiceFilterParameters: type: object properties: id: $ref: '#/components/schemas/UuidFieldFilter' name: $ref: '#/components/schemas/StringFieldFilter' display_name: $ref: '#/components/schemas/StringFieldFilter' custom_fields: description: | Filter by custom fields using dot-notation to specify the custom field. Filter operators are dictated by the custom field type. For example: - `filter[custom_fields.owner]` - `filter[custom_fields.owner][neq]=kong` - `filter[custom_fields.dashboard.link][contains]=https` oneOf: - $ref: '#/components/schemas/StringFieldFilter' - $ref: '#/components/schemas/BooleanFieldFilter' - $ref: '#/components/schemas/NumericFieldFilter' labels: $ref: '#/components/schemas/LabelsFieldFilter' created_at: $ref: '#/components/schemas/DateTimeFieldFilter' updated_at: $ref: '#/components/schemas/DateTimeFieldFilter' evaluation.is_passing: oneOf: - $ref: '#/components/schemas/BooleanFieldFilter' evaluation.successfully_evaluated_at: description: Filters on the given datetime (RFC-3339) field value. oneOf: - type: object title: DateTimeFieldEqualsFilter additionalProperties: false properties: eq: description: Value strictly equals given RFC-3339 formatted timestamp in UTC type: string format: date-time example: '2022-03-30T07:20:50Z' required: - eq - type: object title: DateTimeFieldLTFilter additionalProperties: false properties: lt: description: Value is less than the given RFC-3339 formatted timestamp in UTC type: string format: date-time example: '2022-03-30T07:20:50Z' required: - lt - type: object title: DateTimeFieldLTEFilter additionalProperties: false properties: lte: description: Value is less than or equal to the given RFC-3339 formatted timestamp in UTC type: string format: date-time example: '2022-03-30T07:20:50Z' required: - lte - type: object title: DateTimeFieldGTFilter additionalProperties: false properties: gt: description: Value is greater than the given RFC-3339 formatted timestamp in UTC type: string format: date-time example: '2022-03-30T07:20:50Z' required: - gt - type: object title: DateTimeFieldGTEFilter additionalProperties: false properties: gte: description: Value is greater than or equal to the given RFC-3339 formatted timestamp in UTC type: string format: date-time example: '2022-03-30T07:20:50Z' required: - gte title: DateTimeFieldFilter evaluation.attempted_at: description: Filters on the given datetime (RFC-3339) field value. oneOf: - type: object title: DateTimeFieldEqualsFilter additionalProperties: false properties: eq: description: Value strictly equals given RFC-3339 formatted timestamp in UTC type: string format: date-time example: '2022-03-30T07:20:50Z' required: - eq - type: object title: DateTimeFieldLTFilter additionalProperties: false properties: lt: description: Value is less than the given RFC-3339 formatted timestamp in UTC type: string format: date-time example: '2022-03-30T07:20:50Z' required: - lt - type: object title: DateTimeFieldLTEFilter additionalProperties: false properties: lte: description: Value is less than or equal to the given RFC-3339 formatted timestamp in UTC type: string format: date-time example: '2022-03-30T07:20:50Z' required: - lte - type: object title: DateTimeFieldGTFilter additionalProperties: false properties: gt: description: Value is greater than the given RFC-3339 formatted timestamp in UTC type: string format: date-time example: '2022-03-30T07:20:50Z' required: - gt - type: object title: DateTimeFieldGTEFilter additionalProperties: false properties: gte: description: Value is greater than or equal to the given RFC-3339 formatted timestamp in UTC type: string format: date-time example: '2022-03-30T07:20:50Z' required: - gte title: DateTimeFieldFilter CreateScorecardCriteria: type: object properties: name: type: string example: Median time to merge opened PRs is less than 6 hours over the last 3 months. maxLength: 2048 minLength: 1 enabled: type: boolean example: true template_name: $ref: '#/components/schemas/CriteriaTemplateName' template_parameters: $ref: '#/components/schemas/CriteriaParameters' section_name: description: Organizational section name for the criteria within the scorecard. type: string example: Source Code Management maxLength: 120 minLength: 1 nullable: true additionalProperties: false required: - enabled - template_name - template_parameters - section_name UpdateScorecardCriteria: type: object properties: id: type: string format: uuid example: 5c1121f9-3f3a-47c7-9bb6-c81a51128714 name: type: string example: Median time to merge opened PRs is less than 6 hours over the last 3 months. maxLength: 2048 minLength: 1 enabled: type: boolean example: true template_name: $ref: '#/components/schemas/CriteriaTemplateName' template_parameters: $ref: '#/components/schemas/CriteriaParameters' section_name: description: Organizational section name for the criteria within the scorecard. type: string example: Source Code Management maxLength: 120 minLength: 1 nullable: true additionalProperties: false required: - id - enabled - template_name - template_parameters - section_name ScorecardCriteria: type: object properties: id: type: string format: uuid example: 5c1121f9-3f3a-47c7-9bb6-c81a51128714 name: description: 'Override display name for the criteria, for greater contextual clarity within a given scorecard.' type: string example: Time to restore service is less than 6 hours over the last 3 months. nullable: true scorecard_id: type: string format: uuid example: f3704e4c-104d-4f21-998a-20d4364c893f integration: description: The integration `name` when it provides the criteria template. Otherwise `null`. type: string example: null nullable: true enabled: description: Whether the criteria is enabled for the given scorecard. type: boolean example: true template_name: $ref: '#/components/schemas/CriteriaTemplateName' template_parameters: $ref: '#/components/schemas/CriteriaParameters' section_name: description: Organizational section name for the criteria within the scorecard. type: string example: Documentation maxLength: 120 minLength: 1 nullable: true created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - id - name - scorecard_id - integration - enabled - template_name - template_parameters - section_name - created_at - updated_at CatalogServiceScorecardCriteria: type: object properties: id: type: string format: uuid example: 5c1121f9-3f3a-47c7-9bb6-c81a51128714 name: description: 'Override display name for the criteria, for greater contextual clarity within a given scorecard.' type: string example: Time to restore service is less than 6 hours over the last 3 months. nullable: true scorecard_id: type: string format: uuid example: f3704e4c-104d-4f21-998a-20d4364c893f integration: description: The integration `name` when it provides the criteria template. Otherwise `null`. type: string example: null nullable: true enabled: description: Whether the criteria is enabled for the given scorecard. type: boolean example: true template_name: $ref: '#/components/schemas/CriteriaTemplateName' template_parameters: $ref: '#/components/schemas/CriteriaParameters' section_name: description: Organizational section name for the criteria within the scorecard. type: string example: Documentation maxLength: 120 minLength: 1 nullable: true created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' evaluation: $ref: '#/components/schemas/ScorecardCriteriaServiceEvaluation' required: - id - name - scorecard_id - integration - enabled - template_name - template_parameters - section_name - created_at - updated_at - evaluation ScorecardCriteriaWithEvaluation: type: object properties: id: type: string format: uuid example: 5c1121f9-3f3a-47c7-9bb6-c81a51128714 name: description: 'Override display name for the criteria, for greater contextual clarity within a given scorecard.' type: string example: Time to restore service is less than 6 hours over the last 3 months. nullable: true scorecard_id: type: string format: uuid example: f3704e4c-104d-4f21-998a-20d4364c893f integration: description: The integration `name` when it provides the criteria template. Otherwise `null`. type: string example: null nullable: true enabled: description: Whether the criteria is enabled for the given scorecard. type: boolean example: true template_name: $ref: '#/components/schemas/CriteriaTemplateName' template_parameters: $ref: '#/components/schemas/CriteriaParameters' section_name: description: Organizational section name for the criteria within the scorecard. type: string example: Documentation maxLength: 120 minLength: 1 nullable: true created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' evaluation: $ref: '#/components/schemas/ScorecardCriteriaEvaluation' required: - id - name - scorecard_id - integration - enabled - template_name - template_parameters - section_name - created_at - updated_at - evaluation ScorecardCriteriaEvaluation: type: object properties: passing_services_count: description: Number of targeted Services passing the criteria. type: number example: 3 nullable: true required: - passing_services_count CriteriaTemplateName: description: Reference to the unique `name` of the criteria template. type: string example: time_to_merge CriteriaParameters: description: | Input parameters for the given criteria template. The available parameters, and its schema, are found on the criteria template definition via the `schema` property. Criteria template definitions are determined by the `/v1/criteria-templates` endpoint. type: object example: measure: median threshold: unit: hours value: 6 window: unit: months value: 3 additionalProperties: true nullable: true ScorecardCriteriaService: description: Service object that includes its evaluation result for the given scorecard criteria. type: object properties: id: description: The service ID. type: string format: uuid example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 readOnly: true name: description: | The machine name of the Service that uniquely identifies it within the catalog. type: string example: user-svc maxLength: 120 minLength: 1 pattern: '^[0-9a-z.-]+$' display_name: description: The display name of the Service. type: string example: User Service maxLength: 120 minLength: 1 description: description: Optionally provide a description of the Service. type: string maxLength: 2048 nullable: true custom_fields: $ref: '#/components/schemas/CustomFields' labels: $ref: '#/components/schemas/Labels' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' score: $ref: '#/components/schemas/ScorecardCriteriaServiceEvaluation' required: - id - name - display_name - description - custom_fields - labels - created_at - updated_at - evaluation title: ScorecardService ScorecardCriteriaServiceEvaluation: description: | Evaluation for a scorecard criteria relative to the given service service. Has a `null` value when the criteria has not yet been evaluated for the service. type: object properties: is_passing: description: Whether or not the service has most recently passed the criteria check. type: boolean evaluation_context: $ref: '#/components/schemas/CriteriaEvaluationResultDetails' evaluation_error: description: | Details about an error that occurred during evaluation preventing computation of a pass/fail result. Will be `null` when no error occurred. type: object example: null nullable: true properties: type: description: The type of error that occurred. type: string example: integration_unauthorized details: description: Human-readable error message about the error. type: string example: | The GitHub integration is unauthorized. Please ensure that the integration is re-authorized for the criteria to be successfully evaluated. required: - type - details attempted_at: description: The timestamp denoting the last evaluation attempt of the criteria for the service. type: string format: date-time example: '2023-02-15T07:20:50Z' successfully_evaluated_at: description: | The timestamp denoting when the criteria was last successfully evaluated for the service. Error states preventing the evaluation from being performed will not update this timestamp. type: string format: date-time example: '2023-02-15T07:20:50Z' created_at: $ref: '#/components/schemas/CreatedAt' nullable: true required: - is_passing - evaluation_context - evaluation_error - successfully_evaluated_at - attempted_at - created_at CriteriaEvaluationResultDetails: description: Provides additional metadata about the criteria evaluation result. type: object properties: raw_value: description: | Raw value of the criteria evaluation. For example, a service may be failing the `time_to_acknowledge` criteria evaluation when the the mean time-to-ack is greater than 15 minutes. This value represents the _actual_ mean time-to-ack value for the service which if not passing could be 25 minutes. oneOf: - type: number - type: string - type: boolean - $ref: '#/components/schemas/TimeValue' - $ref: '#/components/schemas/CriteriaEvaluationRelationMap' - type: object additionalProperties: true - nullable: true display_text: description: Renderable text providing human-readable context about the evaluation value. type: string example: 25 minutes example: raw_value: unit: minutes value: 25 display_text: 25 minutes nullable: true required: - raw_value - display_text CriteriaEvaluationRelationMap: type: object properties: instance: type: string enum: - criteria_result_relation_map relation: type: string example: gateway_svc map: additionalProperties: oneOf: - $ref: '#/components/schemas/CriteriaEvaluationRelationResult' - $ref: '#/components/schemas/CriteriaEvaluationErrorResult' required: - instance - relation - map CriteriaEvaluationRelationResult: type: object properties: is_passing: description: Whether or not the relation has passed the criteria evaluation. type: boolean relation: type: object properties: id: type: string name: type: string required: - id - name details: $ref: '#/components/schemas/CriteriaEvaluationResultDetails' required: - is_passing - relation - details CriteriaEvaluationErrorResult: type: object properties: relation: type: object properties: id: type: string name: type: string required: - id - name error: description: | Details about an error that occurred during evaluation preventing computation of a pass/fail result. Will be `null` when no error occurred. type: object example: null nullable: true properties: type: description: The type of error that occurred. type: string example: integration_unauthorized details: description: Human-readable error message about the error. type: string example: | The GitHub integration is unauthorized. Please ensure that the integration is re-authorized for the criteria to be successfully evaluated. required: - type - details required: - relation - error CustomFields: description: | Map of customizable, catalog-defined fields providing information about a service. type: object example: owner: John Appleseed dashboard: name: On-Call Dashboard link: 'https://my-dashboard-svc.io/dashboards/1' additionalProperties: oneOf: - $ref: '#/components/schemas/TextCustomField' - $ref: '#/components/schemas/NumericCustomField' - $ref: '#/components/schemas/BooleanCustomField' - $ref: '#/components/schemas/UrlCustomField' x-speakeasy-type-override: any TextCustomField: type: string nullable: true NumericCustomField: type: number nullable: true BooleanCustomField: type: boolean nullable: true UrlCustomField: type: object properties: name: description: The human-readable name of the URL link. type: string example: On-Call Dashboard link: description: The href value of the URL link. type: string format: uri-reference example: 'https://my-dashboard-svc.io/dashboards/1' nullable: true required: - name - link ServiceSelector: oneOf: - $ref: '#/components/schemas/AllEntitiesSelector' - $ref: '#/components/schemas/ByIDsSelector' - $ref: '#/components/schemas/ByNameSelector' - $ref: '#/components/schemas/ByDisplayNameSelector' - $ref: '#/components/schemas/ByCustomFieldSelector' - $ref: '#/components/schemas/ByLabelSelector' - $ref: '#/components/schemas/HasLabelKeySelector' - $ref: '#/components/schemas/HasDocsSelector' - $ref: '#/components/schemas/HasApisSelector' - $ref: '#/components/schemas/HasResourcesSelector' AllEntitiesSelector: description: Entity selector that includes all entities of the given type within the catalog. type: object properties: selector: type: string enum: - all selector_parameters: type: string enum: - null nullable: true required: - selector - selector_parameters ByIDsSelector: description: Entity selector that includes entities contained within a list of IDs. type: object properties: selector: type: string enum: - ids selector_parameters: type: object properties: ids: type: array items: type: string format: uuid required: - ids required: - selector - selector_parameters ByNameSelector: description: Entity selector that includes entities by `name`. type: object properties: selector: type: string enum: - name selector_parameters: $ref: '#/components/schemas/StringFieldSelectorParams' required: - selector - selector_parameters ByDisplayNameSelector: description: Entity selector that includes entities by `display_name`. type: object properties: selector: type: string enum: - display_name selector_parameters: $ref: '#/components/schemas/StringFieldSelectorParams' required: - selector - selector_parameters ByCustomFieldSelector: description: Entity selector that include entities by a custom field. type: object properties: selector: type: string enum: - custom_field selector_parameters: oneOf: - type: object title: StringCustomFieldSelectorParams required: - field - value - operator properties: field: description: Name of the custom field. type: string value: type: string operator: $ref: '#/components/schemas/StringSelectorOperator' - type: object title: NumberCustomFieldSelectorParams required: - field - value - operator properties: field: description: Name of the custom field. type: string value: type: number operator: $ref: '#/components/schemas/NumberSelectorOperator' - type: object title: BooleanCustomFieldSelectorParams required: - field - value - operator properties: field: description: Name of the custom field. type: string value: type: boolean operator: $ref: '#/components/schemas/BooleanSelectorOperator' - type: object title: UrlCustomFieldSelectorParams required: - field - subfield - value - operator properties: field: description: Name of the custom field. type: string subfield: description: Specify which subfield of the `url` custom field value to use for selection. type: string enum: - name - link x-speakeasy-unknown-values: allow value: type: string operator: $ref: '#/components/schemas/StringSelectorOperator' required: - selector - selector_parameters ByLabelSelector: description: Entity selector that includes entities by `label` value. type: object properties: selector: type: string enum: - label selector_parameters: type: object properties: operator: $ref: '#/components/schemas/StringSelectorOperator' value: type: string label_key: type: string required: - operator - value - label_key title: LabelSelectorParams required: - selector - selector_parameters HasLabelKeySelector: description: Entity selector that includes entities by inclusion of a `label` key. type: object properties: selector: type: string enum: - has_label_key selector_parameters: type: object properties: label_key: type: string required: - label_key title: HasLabelKeySelectorParams required: - selector - selector_parameters HasDocsSelector: description: Entity selector to include entities by attached documentation. type: object properties: selector: type: string enum: - has_docs selector_parameters: type: string enum: - null nullable: true required: - selector - selector_parameters HasApisSelector: description: Entity selector that includes services by attached APIs. type: object properties: selector: type: string enum: - api_count selector_parameters: $ref: '#/components/schemas/HasSelectorParams' required: - selector - selector_parameters HasResourcesSelector: description: Entity selector that includes services by mapped resources. type: object properties: selector: type: string enum: - resource_count selector_parameters: type: object properties: operator: $ref: '#/components/schemas/HasRelationshipSelectorOperator' value: type: number resource_type: $ref: '#/components/schemas/CatalogResourceType' integration: description: The machine name of the integration that uniquely identifies it within the catalog. type: string example: gateway-manager required: - operator - value - resource_type - integration title: HasResourcesSelectorParams required: - selector - selector_parameters StringFieldSelectorParams: type: object properties: operator: $ref: '#/components/schemas/StringSelectorOperator' value: type: string required: - operator - value HasSelectorParams: type: object properties: operator: $ref: '#/components/schemas/HasRelationshipSelectorOperator' value: type: number required: - operator - value StringSelectorOperator: type: string enum: - eq - contains x-speakeasy-unknown-values: allow NumberSelectorOperator: type: string enum: - eq - lt - gt x-speakeasy-unknown-values: allow BooleanSelectorOperator: type: string enum: - eq HasRelationshipSelectorOperator: type: string enum: - eq - gte - lte x-speakeasy-unknown-values: allow SimpleSchema: type: object properties: type: type: string enum: - simple definition: type: object additionalProperties: type: string enum: - string - number - boolean x-speakeasy-unknown-values: allow required: - type - definition CatalogServiceRef: description: Short-hand descriptor of a catalog service. type: object properties: id: description: The service ID. type: string format: uuid example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 name: description: | The machine name of the service that uniquely identifies it within the catalog. type: string example: user-svc display_name: description: The display name of the service. type: string example: User Service required: - id - name - display_name IntegrationRef: description: Short-hand descriptor of an integration installed within the catalog. type: object properties: name: type: string example: gateway-manager display_name: type: string example: gateway-manager instance: $ref: '#/components/schemas/IntegrationInstanceRef' required: - name - display_name - instance IntegrationRefWithoutInstance: description: Short-hand descriptor of an integration that omits instance metadata. type: object properties: name: type: string example: gateway-manager display_name: type: string example: gateway-manager required: - name - display_name IntegrationInstanceRef: description: Short-hand descriptor of an integration instance. type: object properties: id: description: The integration instance ID. type: string format: uuid example: 772b9caf-ddbc-4f4f-8aa4-8dfbbe420351 name: description: | The machine name of the integration instance that uniquely identifies it within the catalog. type: string example: aws-lambda-prod pattern: '^[0-9a-z.-]+$' display_name: description: The display name of the integration instance. type: string example: AWS (prod) required: - id - name - display_name CatalogResourceRef: description: Short-hand descriptor of a catalog resource. type: object properties: id: $ref: '#/components/schemas/CatalogResourceId' name: description: The name of the resource. type: string nullable: true integration: $ref: '#/components/schemas/IntegrationRef' type: $ref: '#/components/schemas/CatalogResourceType' config: $ref: '#/components/schemas/CatalogResourceConfig' required: - id - name - type - config - integration TimeValue: description: Represents a time value inclusive of units. type: object properties: value: type: number example: 3.25 unit: type: string example: hours enum: - milliseconds - seconds - minutes - hours - days - months - years x-speakeasy-unknown-values: allow required: - value - unit CatalogServiceApiMapping: description: Represents an API mapping associated with a service in the catalog. type: object properties: id: description: The mapping ID. type: string format: uuid service_id: description: The ID of the service. type: string format: uuid api_id: description: The ID of the API. type: string format: uuid created_at: description: Creation timestamp. type: string format: date-time updated_at: description: Last update timestamp. type: string format: date-time required: - id - service_id - api_id - created_at - updated_at CatalogServiceApiMappingFilterParameters: type: object properties: api_id: $ref: '#/components/schemas/UuidFieldFilter' additionalProperties: false title: CatalogServiceApiMappingFilterParameters CatalogApiServiceMappingFilterParameters: type: object properties: service_id: $ref: '#/components/schemas/UuidFieldFilter' additionalProperties: false title: CatalogApiServiceMappingFilterParameters NumericFieldFilter: description: Filter by a numeric value. oneOf: - type: number description: Value strictly equals the given numeric value. example: 21 - type: object title: NumericFieldEqualsFilter additionalProperties: false properties: eq: description: Value strictly equals the given numeric value. type: number example: 3.14 required: - eq - type: object title: NumericFieldLTFilter additionalProperties: false properties: lt: description: Value is less than the given numeric value. type: number example: 10 required: - lt - type: object title: NumericFieldLTEFilter additionalProperties: false properties: lte: description: Value is less than or equal to the given numeric value. type: number example: 10 required: - lte - type: object title: NumericFieldGTFilter additionalProperties: false properties: gt: description: Value is greater than the given numeric value. type: number example: 1.85 required: - gt - type: object title: NumericFieldGTEFilter additionalProperties: false properties: gte: description: Value is greater than or equal to the given numeric value. type: number example: 1.85 required: - gte CursorPageParameters: type: object properties: size: description: The number of items included per page. type: integer example: 10 after: description: Cursor param specifying the page (i.e. the next page) of data returned. type: string example: ewogICJpZCI6ICJoZWxsbyB3b3JsZCIKfQ before: description: Cursor param specifying the page (i.e. the previous page) of data returned. type: string example: ewogICJpZCI6ICJoZWxsbyB3b3JsZCIKfQ StringFieldFilterExact: 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 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-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-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: oneOf: - type: string pattern: '^(\d{1,5}|\d{1,5}-\d{1,5})$' description: A port or a range of ports in the format 9092 or 9092-9094. - type: integer minimum: 1 maximum: 65535 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: |- **Pre-release Feature** This feature is currently in beta and is subject to change. 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' x-min-runtime-version: '1.2' 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. anyOf: - $ref: '#/components/schemas/VirtualClusterReferenceById' - $ref: '#/components/schemas/VirtualClusterReferenceByName' x-terraform-preferred: '#/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 VirtualClusterReferenceByName: description: Reference a virtual cluster by its unique name. type: object properties: name: $ref: '#/components/schemas/VirtualClusterName' required: - name 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 example: type: client_certificate additionalProperties: false required: - type x-min-runtime-version: '1.1' 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' 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`. anyOf: - $ref: '#/components/schemas/TLSTrustBundleReferenceById' - $ref: '#/components/schemas/TLSTrustBundleReferenceByName' x-terraform-preferred: '#/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 TLSTrustBundleReferenceByName: type: object properties: name: $ref: '#/components/schemas/TLSTrustBundleName' required: - name 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' 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' minItems: 1 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 minLength: 1 scope: description: Maps the scope claim. type: string minLength: 1 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 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' 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' minItems: 1 issuer: description: Expected token issuer in the token. type: string minLength: 1 VirtualClusterAuthenticationAudience: type: object properties: name: type: string minLength: 1 required: - name 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`. anyOf: - $ref: '#/components/schemas/BackendClusterReferenceById' - $ref: '#/components/schemas/BackendClusterReferenceByName' BackendClusterReferenceById: type: object properties: id: description: The unique identifier of the backend cluster. type: string format: uuid minLength: 1 required: - id BackendClusterReferenceByName: type: object properties: name: $ref: '#/components/schemas/BackendClusterName' required: - name 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' oneOf: - $ref: '#/components/schemas/BackendClusterAuthenticationAnonymous' - $ref: '#/components/schemas/BackendClusterAuthenticationSaslPlain' - $ref: '#/components/schemas/BackendClusterAuthenticationSaslScram' BackendClusterAuthenticationSensitiveDataAwareScheme: discriminator: propertyName: type mapping: anonymous: '#/components/schemas/BackendClusterAuthenticationAnonymous' sasl_plain: '#/components/schemas/BackendClusterAuthenticationSaslPlainSensitiveDataAware' sasl_scram: '#/components/schemas/BackendClusterAuthenticationSaslScramSensitiveDataAware' oneOf: - $ref: '#/components/schemas/BackendClusterAuthenticationAnonymous' - $ref: '#/components/schemas/BackendClusterAuthenticationSaslPlainSensitiveDataAware' - $ref: '#/components/schemas/BackendClusterAuthenticationSaslScramSensitiveDataAware' 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 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 of the virtual cluster. type: string default: '' maxLength: 512 type: description: The type of the schema registry. type: string config: description: The configuration of the schema registry. type: object 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 of the virtual cluster. type: string default: '' maxLength: 512 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 of the virtual cluster. type: string default: '' maxLength: 512 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. oneOf: - $ref: '#/components/schemas/SchemaRegistryReferenceById' - $ref: '#/components/schemas/SchemaRegistryReferenceByName' x-terraform-preferred: '#/components/schemas/SchemaRegistryReferenceById' SchemaRegistryReferenceById: type: object properties: id: description: The unique identifier of the schema registry. type: string format: uuid minLength: 1 required: - id SchemaRegistryReferenceByName: description: Reference a schema registry by its unique name. type: object properties: name: description: The unique name of the schema registry. type: string maxLength: 255 minLength: 1 required: - name SchemaValidationType: description: | How to validate the schema and parse the record. * confluent_schema_registry - validates against confluent schema registry. * json - simple JSON parsing without the schema. type: string enum: - confluent_schema_registry - json x-speakeasy-unknown-values: allow 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 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 nullable: true 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 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 nullable: true 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 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 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' required: - mode - tls_trust_bundles x-min-runtime-version: '1.1' 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' required: - mode - tls_trust_bundles x-min-runtime-version: '1.1' 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 EventGatewayListenerPolicyCreate: description: The typed schema of the listener policy to modify it. discriminator: propertyName: type mapping: tls_server: '#/components/schemas/EventGatewayTLSListenerPolicy' forward_to_virtual_cluster: '#/components/schemas/ForwardToVirtualClusterPolicy' oneOf: - $ref: '#/components/schemas/EventGatewayTLSListenerPolicy' - $ref: '#/components/schemas/ForwardToVirtualClusterPolicy' EventGatewayListenerPolicyUpdate: description: The typed schema of the listener policy to modify it. discriminator: propertyName: type mapping: tls_server: '#/components/schemas/EventGatewayTLSListenerSensitiveDataAwarePolicy' forward_to_virtual_cluster: '#/components/schemas/ForwardToVirtualClusterPolicy' oneOf: - $ref: '#/components/schemas/EventGatewayTLSListenerSensitiveDataAwarePolicy' - $ref: '#/components/schemas/ForwardToVirtualClusterPolicy' EventGatewayPolicyPatch: description: The schema of the policy to patch it. properties: name: description: A unique user-defined name of the policy. type: string maxLength: 255 minLength: 1 nullable: true pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string maxLength: 512 nullable: true enabled: description: Whether the policy is enabled. type: boolean condition: description: A string containing the boolean expression that determines whether the policy is applied. type: string example: context.topic.name.endsWith('my_suffix') maxLength: 1000 nullable: true x-expression: type: boolean labels: $ref: '#/components/schemas/Labels' EventGatewayListenerPolicyPatch: description: The schema of the policy to patch it. properties: name: description: A unique user-defined name of the policy. type: string maxLength: 255 minLength: 1 nullable: true pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string maxLength: 512 nullable: true enabled: description: Whether the policy is enabled. type: boolean labels: $ref: '#/components/schemas/Labels' 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 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 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 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' additionalProperties: false required: - type EventGatewayConsumePolicyCreate: description: The typed schema of the consume policy to modify it. discriminator: propertyName: type mapping: modify_headers: '#/components/schemas/EventGatewayModifyHeadersPolicyCreate' schema_validation: '#/components/schemas/EventGatewayConsumeSchemaValidationPolicy' decrypt: '#/components/schemas/EventGatewayDecryptPolicy' skip_record: '#/components/schemas/EventGatewaySkipRecordPolicyCreate' decrypt_fields: '#/components/schemas/EventGatewayParsedRecordDecryptFieldsPolicyCreate' oneOf: - $ref: '#/components/schemas/EventGatewayConsumeSchemaValidationPolicy' - $ref: '#/components/schemas/EventGatewayModifyHeadersPolicyCreate' - $ref: '#/components/schemas/EventGatewaySkipRecordPolicyCreate' - $ref: '#/components/schemas/EventGatewayDecryptPolicy' - $ref: '#/components/schemas/EventGatewayParsedRecordDecryptFieldsPolicyCreate' EventGatewayConsumePolicyUpdate: description: The typed schema of the consume policy to modify it. discriminator: propertyName: type mapping: modify_headers: '#/components/schemas/EventGatewayModifyHeadersPolicy' schema_validation: '#/components/schemas/EventGatewayConsumeSchemaValidationPolicy' decrypt: '#/components/schemas/EventGatewayDecryptPolicy' skip_record: '#/components/schemas/EventGatewaySkipRecordPolicy' decrypt_fields: '#/components/schemas/EventGatewayParsedRecordDecryptFieldsPolicy' oneOf: - $ref: '#/components/schemas/EventGatewayModifyHeadersPolicy' - $ref: '#/components/schemas/EventGatewayConsumeSchemaValidationPolicy' - $ref: '#/components/schemas/EventGatewayDecryptPolicy' - $ref: '#/components/schemas/EventGatewaySkipRecordPolicy' - $ref: '#/components/schemas/EventGatewayParsedRecordDecryptFieldsPolicy' EventGatewayProducePolicyCreate: description: The typed schema of the produce policy to modify it. discriminator: propertyName: type mapping: modify_headers: '#/components/schemas/EventGatewayModifyHeadersPolicyCreate' schema_validation: '#/components/schemas/EventGatewayProduceSchemaValidationPolicy' encrypt: '#/components/schemas/EventGatewayEncryptPolicy' encrypt_fields: '#/components/schemas/EventGatewayParsedRecordEncryptFieldsPolicyCreate' oneOf: - $ref: '#/components/schemas/EventGatewayModifyHeadersPolicyCreate' - $ref: '#/components/schemas/EventGatewayProduceSchemaValidationPolicy' - $ref: '#/components/schemas/EventGatewayEncryptPolicy' - $ref: '#/components/schemas/EventGatewayParsedRecordEncryptFieldsPolicyCreate' EventGatewayProducePolicyUpdate: description: The typed schema of the produce policy to modify it. discriminator: propertyName: type mapping: modify_headers: '#/components/schemas/EventGatewayModifyHeadersPolicy' schema_validation: '#/components/schemas/EventGatewayProduceSchemaValidationPolicy' encrypt: '#/components/schemas/EventGatewayEncryptPolicy' encrypt_fields: '#/components/schemas/EventGatewayParsedRecordEncryptFieldsPolicy' oneOf: - $ref: '#/components/schemas/EventGatewayProduceSchemaValidationPolicy' - $ref: '#/components/schemas/EventGatewayModifyHeadersPolicy' - $ref: '#/components/schemas/EventGatewayEncryptPolicy' - $ref: '#/components/schemas/EventGatewayParsedRecordEncryptFieldsPolicy' EventGatewayClusterPolicyModify: description: The typed schema of the cluster policy to modify it. discriminator: propertyName: type mapping: acls: '#/components/schemas/EventGatewayACLsPolicy' oneOf: - $ref: '#/components/schemas/EventGatewayACLsPolicy' 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 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.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. 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 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.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. required: - type - config title: Encrypt Parsed Record 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. 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 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.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. 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 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' 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: paths: description: Selects which fields of the parsed record to encrypt. A maximum of 50 path entries are allowed. oneOf: - type: array maxItems: 50 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' - type: string x-expression: type: array items: type: string 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.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.' - name: record.headers type: object description: An associative array of header key value pairs. - name: record.value.content type: object description: The content of the record value. description: | This expression should evaluate to an array of exact field paths, equivalent to the `match` values in the array variant. example: | ${context.auth.type == 'sasl_oauth_bearer' ? ['credentials.accessToken', 'credentials.refreshToken'] : ['credentials.password']} encryption_key: $ref: '#/components/schemas/EncryptionKey' required: - paths - encryption_key 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 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.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. 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 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.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. required: - type - config title: Decrypt Parsed Record Fields 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. 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 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.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. 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 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: description: Selects which fields to decrypt. type: array items: $ref: '#/components/schemas/EventGatewayParsedRecordDecryptionSelector' minItems: 1 required: - failure_mode - key_sources - decrypt_fields EventGatewayParsedRecordDecryptionSelector: description: Selects fields of a parsed record for decryption. type: object properties: paths: description: Selects which fields of the parsed record to decrypt. A maximum of 50 path entries are allowed. oneOf: - type: array maxItems: 50 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' - type: string x-expression: type: array items: type: string 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.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.' - name: record.headers type: object description: An associative array of header key value pairs. - name: record.value.content type: object description: The content of the record value. description: | This expression should evaluate to an array of exact field paths, equivalent to the `match` values in the array variant. example: | ${context.auth.type == 'sasl_oauth_bearer' ? ['credentials.accessToken', 'credentials.refreshToken'] : ['credentials.password']} 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 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' minItems: 1 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.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. 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 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' minItems: 1 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.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. parent_policy_id: description: 'The unique identifier of the parent schema validation policy, if any.' type: string format: uuid 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 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.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. 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 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.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. parent_policy_id: description: 'The unique identifier of the parent schema validation policy, if any.' type: string format: uuid 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 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 schema validation policy. type: object properties: type: $ref: '#/components/schemas/SchemaValidationType' schema_registry: $ref: '#/components/schemas/SchemaRegistryReference' key_validation_action: $ref: '#/components/schemas/ConsumeKeyValidationAction' value_validation_action: $ref: '#/components/schemas/ConsumeValueValidationAction' required: - type 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.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 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 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.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' 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' 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 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.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.' oneOf: - $ref: '#/components/schemas/EventGatewayACLRuleResourceNamesStaticArray' - $ref: '#/components/schemas/EventGatewayACLRuleResourceNamesDynamicArray' 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 EventGatewayACLRuleResourceNamesStaticArray: description: A static list of resource name globs to match against resources when applying an ACL policy. type: array items: $ref: '#/components/schemas/EventGatewayACLResourceName' example: - match: orders-* - match: payments-* maxItems: 50 EventGatewayACLRuleResourceNamesDynamicArray: description: |- This expression should evaluate to an array of glob patterns, equivalent to the `match` values in the static array form of `resource_names`. **Requires a minimum runtime version of `1.1`**. type: string example: 'context.auth.token.claims["topics"]' x-expression: type: array items: type: string 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.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.' x-min-runtime-version: '1.1' 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). type: string enum: - reject - passthrough - mark 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). type: string enum: - error - skip - passthrough - mark 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. anyOf: - $ref: '#/components/schemas/EncryptionKeyStaticReferenceById' - $ref: '#/components/schemas/EncryptionKeyStaticReferenceByName' x-terraform-preferred: '#/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 EncryptionKeyStaticReferenceByName: description: A static encryption key reference by name. type: object properties: name: description: The name of the static key defined in the key source. type: string maxLength: 255 minLength: 1 required: - name x-speakeasy-name-override: ReferenceByName ConsumeKeyValidationAction: description: | 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 enum: - mark - skip x-speakeasy-unknown-values: allow ConsumeValueValidationAction: description: | 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 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 MoveEventGatewayPolicy: description: Defines the position of a policy relative to the policy chain. type: object properties: index: description: The position of the policy relative to the policy chain. type: integer example: 2 minimum: 0 required: - index 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 maxLength: 255 minLength: 1 x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A description of the certificate. type: string 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 subject: description: The subject of the certificate. type: string key_usages: description: The key usages of the certificate. type: array items: type: string expiry: description: The expiry date of the certificate as a unix timestamp. type: integer format: int64 san_names: description: The Subject Alternative Names (SAN) of the certificate. type: array items: type: string dns_names: description: The DNS names in the certificate SAN. type: array items: type: string email_addresses: description: The email addresses in the certificate SAN. type: array items: type: string ip_addresses: description: The IP addresses in the certificate SAN. type: array items: type: string uris: description: The URIs in the certificate SAN. type: array items: type: string format: uri sha256_fingerprint: description: The SHA-256 fingerprint of the certificate. type: string EventGatewayNodeError: description: An error reported by an event gateway node. type: object properties: name: description: The name of the error. type: string message: description: The error message. type: string required: - name - message 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 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' 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' VirtualClusterTopicAlias: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. 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 match: 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.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' 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' minItems: 1 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 minItems: 1 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 EventGatewayPolicyReference: description: The unique identifier of the policy. type: string format: uuid 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 PatchGatewayRequest: description: The request schema for the patch gateway request. type: object properties: name: $ref: '#/components/schemas/GatewayName' description: description: A human-readable description of the Gateway. type: string maxLength: 512 nullable: true min_runtime_version: 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' nullable: true pattern: ^\d+\.\d+$ 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 maxProperties: 50 nullable: true title: Labels additionalProperties: false title: PatchGatewayRequest 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 GatewayNode: type: object properties: id: description: The node ID. type: string format: uuid example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 readOnly: true version: description: The string representation of the node current version. type: string last_seen_at: description: An ISO-8604 timestamp representation of node last seen date. type: string format: date-time example: '2025-08-04T20:10:06.927Z' created_at: description: An ISO-8604 timestamp representation of node creation date. type: string format: date-time example: '2025-08-04T20:10:06.927Z' readOnly: true updated_at: description: An ISO-8604 timestamp representation of node update date. type: string format: date-time example: '2025-08-04T20:10:06.927Z' readOnly: true config_applied_at: description: The time the node succeeds in applying the configuration. type: string format: date-time readOnly: true config_version: description: The version number of the configuration applied by the node. type: string example: v1.123 readOnly: true required: - id - version - last_seen_at - created_at - updated_at Address: description: Address type: object properties: country: description: 'Country code in [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 format.' type: string example: US maxLength: 2 minLength: 2 pattern: '^[A-Z]{2}$' title: Country postal_code: description: Postal code. type: string title: Postal Code state: description: State or province. type: string title: State city: description: City. type: string title: City line1: description: First line of the address. type: string title: Line 1 line2: description: Second line of the address. type: string title: Line 2 phone_number: description: Phone number. type: string title: Phone Number AppPagePaginatedResponse: description: Page paginated response. type: object properties: data: type: array items: $ref: '#/components/schemas/BillingApp' meta: $ref: '#/components/schemas/PaginatedMeta' required: - data - meta BillingApp: description: Installed application. type: object discriminator: propertyName: type mapping: stripe: '#/components/schemas/BillingAppStripe' sandbox: '#/components/schemas/BillingAppSandbox' external_invoicing: '#/components/schemas/BillingAppExternalInvoicing' oneOf: - $ref: '#/components/schemas/BillingAppStripe' - $ref: '#/components/schemas/BillingAppSandbox' - $ref: '#/components/schemas/BillingAppExternalInvoicing' BillingAppCustomerData: description: App customer data. type: object properties: stripe: description: Used if the customer has a linked Stripe app. type: object properties: customer_id: description: The Stripe customer ID used. type: string example: cus_1234567890 title: Stripe customer ID default_payment_method_id: description: The Stripe default payment method ID. type: string example: pm_1234567890 title: Stripe default payment method ID labels: description: Labels for this Stripe integration on the customer. 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 maxProperties: 50 title: Labels title: Stripe external_invoicing: description: Used if the customer has a linked external invoicing app. type: object properties: labels: description: Labels for this external invoicing integration on the customer. 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 maxProperties: 50 title: Labels title: External invoicing BillingAppExternalInvoicing: description: |- External Invoicing app enables integration with third-party invoicing or payment system. The app supports a bi-directional synchronization pattern where OpenMeter Billing manages the invoice lifecycle while the external system handles invoice presentation and payment collection. Integration workflow: 1. The billing system creates invoices and transitions them through lifecycle states (draft → issuing → issued) 2. The integration receives webhook notifications about invoice state changes 3. The integration calls back to provide external system IDs and metadata 4. The integration reports payment events back via the payment status API State synchronization is controlled by hooks that pause invoice progression until the external system confirms synchronization via API callbacks. type: object properties: id: description: ULID (Universally Unique Lexicographically Sortable Identifier). type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' readOnly: true title: ULID name: description: |- Display name of the resource. Between 1 and 256 characters. type: string maxLength: 256 minLength: 1 description: description: |- Optional description of the resource. Maximum 1024 characters. type: string maxLength: 1024 labels: $ref: '#/components/schemas/Labels' created_at: description: An ISO-8601 timestamp representation of entity creation date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time updated_at: description: An ISO-8601 timestamp representation of entity last update date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time deleted_at: description: An ISO-8601 timestamp representation of entity deletion date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time type: description: The app type. type: string enum: - external_invoicing readOnly: true definition: description: The app catalog definition that this installed app is based on. type: object example: type: stripe name: Stripe description: Stripe integration allows you to collect payments with Stripe. properties: type: description: Type of the app. type: string enum: - sandbox - stripe - external_invoicing readOnly: true x-speakeasy-unknown-values: allow name: description: Name of the app. type: string readOnly: true description: description: Description of the app. type: string readOnly: true readOnly: true required: - type - name - description status: description: Status of the app connection. type: string enum: - ready - unauthorized readOnly: true x-speakeasy-unknown-values: allow enable_draft_sync_hook: description: |- Enable draft synchronization hook. When enabled, invoices will pause at the draft state and wait for the integration to call the draft synchronized endpoint before progressing to the issuing state. This allows the external system to validate and prepare the invoice data. When disabled, invoices automatically progress through the draft state based on the configured workflow timing. type: boolean enable_issuing_sync_hook: description: |- Enable issuing synchronization hook. When enabled, invoices will pause at the issuing state and wait for the integration to call the issuing synchronized endpoint before progressing to the issued state. This ensures the external invoicing system has successfully created and finalized the invoice before it is marked as issued. When disabled, invoices automatically progress through the issuing state and are immediately marked as issued. type: boolean required: - id - name - created_at - updated_at - type - definition - status - enable_draft_sync_hook - enable_issuing_sync_hook BillingAppReference: description: App reference. type: object properties: id: description: The ID of the app. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' title: ULID required: - id BillingAppSandbox: description: Sandbox app can be used for testing billing features. type: object properties: id: description: ULID (Universally Unique Lexicographically Sortable Identifier). type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' readOnly: true title: ULID name: description: |- Display name of the resource. Between 1 and 256 characters. type: string maxLength: 256 minLength: 1 description: description: |- Optional description of the resource. Maximum 1024 characters. type: string maxLength: 1024 labels: $ref: '#/components/schemas/Labels' created_at: description: An ISO-8601 timestamp representation of entity creation date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time updated_at: description: An ISO-8601 timestamp representation of entity last update date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time deleted_at: description: An ISO-8601 timestamp representation of entity deletion date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time type: description: The app type. type: string enum: - sandbox readOnly: true definition: description: The app catalog definition that this installed app is based on. type: object example: type: stripe name: Stripe description: Stripe integration allows you to collect payments with Stripe. properties: type: description: Type of the app. type: string enum: - sandbox - stripe - external_invoicing readOnly: true x-speakeasy-unknown-values: allow name: description: Name of the app. type: string readOnly: true description: description: Description of the app. type: string readOnly: true readOnly: true required: - type - name - description status: description: Status of the app connection. type: string enum: - ready - unauthorized readOnly: true x-speakeasy-unknown-values: allow required: - id - name - created_at - updated_at - type - definition - status BillingAppStripe: description: Stripe app. type: object properties: id: description: ULID (Universally Unique Lexicographically Sortable Identifier). type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' readOnly: true title: ULID name: description: |- Display name of the resource. Between 1 and 256 characters. type: string maxLength: 256 minLength: 1 description: description: |- Optional description of the resource. Maximum 1024 characters. type: string maxLength: 1024 labels: $ref: '#/components/schemas/Labels' created_at: description: An ISO-8601 timestamp representation of entity creation date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time updated_at: description: An ISO-8601 timestamp representation of entity last update date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time deleted_at: description: An ISO-8601 timestamp representation of entity deletion date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time type: description: The app type. type: string enum: - stripe readOnly: true definition: description: The app catalog definition that this installed app is based on. type: object example: type: stripe name: Stripe description: Stripe integration allows you to collect payments with Stripe. properties: type: description: Type of the app. type: string enum: - sandbox - stripe - external_invoicing readOnly: true x-speakeasy-unknown-values: allow name: description: Name of the app. type: string readOnly: true description: description: Description of the app. type: string readOnly: true readOnly: true required: - type - name - description status: description: Status of the app connection. type: string enum: - ready - unauthorized readOnly: true x-speakeasy-unknown-values: allow account_id: description: The Stripe account ID associated with the connected Stripe account. type: string readOnly: true livemode: description: Indicates whether the app is connected to a live Stripe account. type: boolean readOnly: true masked_api_key: description: The masked Stripe API key that only exposes the first and last few characters. type: string readOnly: true required: - id - name - created_at - updated_at - type - definition - status - account_id - livemode - masked_api_key BillingAppStripeCreateCheckoutSessionConsentCollectionPaymentMethodReuseAgreementPosition: description: Position of payment method reuse agreement in the UI. type: string enum: - auto - hidden x-speakeasy-unknown-values: allow BillingAppStripeCreateCheckoutSessionResult: description: |- Result of creating a Stripe Checkout Session. Contains all the information needed to redirect customers to the checkout or initialize an embedded checkout flow. type: object properties: customer_id: description: The customer ID in the billing system. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' title: ULID stripe_customer_id: description: The Stripe customer ID. type: string session_id: description: The Stripe checkout session ID. type: string setup_intent_id: description: The setup intent ID created for collecting the payment method. type: string client_secret: description: |- Client secret for initializing Stripe.js on the client side. Required for embedded checkout sessions. See: https://docs.stripe.com/payments/checkout/custom-success-page type: string client_reference_id: description: |- The client reference ID provided in the request. Useful for reconciling the session with your internal systems. type: string customer_email: description: Customer's email address if provided to Stripe. type: string currency: description: Currency code for the checkout session. type: string example: USD maxLength: 3 minLength: 3 pattern: '^[A-Z]{3}$' created_at: description: Timestamp when the checkout session was created. type: string format: date-time example: '2023-01-01T01:01:01.001Z' title: RFC3339 Date-Time expires_at: description: Timestamp when the checkout session will expire. type: string format: date-time example: '2023-01-01T01:01:01.001Z' title: RFC3339 Date-Time metadata: description: Metadata attached to the checkout session. type: object additionalProperties: type: string status: description: |- The status of the checkout session. See: https://docs.stripe.com/api/checkout/sessions/object#checkout_session_object-status type: string url: description: URL to redirect customers to the checkout page (for hosted mode). type: string mode: description: |- Mode of the checkout session. Currently only "setup" mode is supported for collecting payment methods. type: string enum: - setup cancel_url: description: The cancel URL where customers are redirected if they cancel. type: string success_url: description: The success URL where customers are redirected after completion. type: string return_url: description: The return URL for embedded sessions after authentication. type: string required: - customer_id - stripe_customer_id - session_id - setup_intent_id - created_at - mode BillingAppStripeCreateCheckoutSessionTaxIdCollectionRequired: description: Tax ID collection requirement level. type: string enum: - if_supported - never x-speakeasy-unknown-values: allow BillingAppStripeCreateCustomerPortalSessionResult: description: |- Result of creating a [Stripe Customer Portal Session](https://docs.stripe.com/api/customer_portal/sessions/object). Contains all the information needed to redirect the customer to the Stripe Customer Portal. type: object properties: id: description: |- The ID of the customer portal session. See: https://docs.stripe.com/api/customer_portal/sessions/object#portal_session_object-id type: string stripe_customer_id: description: The ID of the stripe customer. type: string configuration_id: description: |- Configuration used to customize the customer portal. See: https://docs.stripe.com/api/customer_portal/sessions/object#portal_session_object-configuration type: string livemode: description: |- Livemode. See: https://docs.stripe.com/api/customer_portal/sessions/object#portal_session_object-livemode type: boolean created_at: description: |- Created at. See: https://docs.stripe.com/api/customer_portal/sessions/object#portal_session_object-created type: string format: date-time example: '2023-01-01T01:01:01.001Z' title: RFC3339 Date-Time return_url: description: |- Return URL. See: https://docs.stripe.com/api/customer_portal/sessions/object#portal_session_object-return_url type: string locale: description: |- The IETF language tag of the locale customer portal is displayed in. See: https://docs.stripe.com/api/customer_portal/sessions/object#portal_session_object-locale type: string url: description: |- The URL to redirect the customer to after they have completed their requested actions. type: string required: - id - stripe_customer_id - configuration_id - livemode - created_at - return_url - locale - url BillingCustomer: description: Customers can be individuals or organizations that can subscribe to plans and have access to features. type: object properties: id: description: ULID (Universally Unique Lexicographically Sortable Identifier). type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' readOnly: true title: ULID name: description: |- Display name of the resource. Between 1 and 256 characters. type: string maxLength: 256 minLength: 1 description: description: |- Optional description of the resource. Maximum 1024 characters. type: string maxLength: 1024 labels: $ref: '#/components/schemas/Labels' created_at: description: An ISO-8601 timestamp representation of entity creation date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time updated_at: description: An ISO-8601 timestamp representation of entity last update date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time deleted_at: description: An ISO-8601 timestamp representation of entity deletion date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time key: $ref: '#/components/schemas/ExternalResourceKey' usage_attribution: description: Mapping to attribute metered usage to the customer by the event subject. type: object properties: subject_keys: description: |- The subjects that are attributed to the customer. Can be empty when no usage event subjects are associated with the customer. type: array items: $ref: '#/components/schemas/UsageAttributionSubjectKey' minItems: 0 title: Subject Keys required: - subject_keys title: Usage Attribution primary_email: description: The primary email address of the customer. type: string title: Primary Email currency: description: |- Currency of the customer. Used for billing, tax and invoicing. type: string example: USD maxLength: 3 minLength: 3 pattern: '^[A-Z]{3}$' title: Currency billing_address: description: |- The billing address of the customer. Used for tax and invoicing. type: object properties: country: description: 'Country code in [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 format.' type: string example: US maxLength: 2 minLength: 2 pattern: '^[A-Z]{2}$' title: Country postal_code: description: Postal code. type: string title: Postal Code state: description: State or province. type: string title: State city: description: City. type: string title: City line1: description: First line of the address. type: string title: Line 1 line2: description: Second line of the address. type: string title: Line 2 phone_number: description: Phone number. type: string title: Phone Number title: Billing Address required: - id - name - created_at - updated_at - key BillingCustomerData: description: Billing customer data. type: object properties: billing_profile: description: |- The billing profile for the customer. If not provided, the default billing profile will be used. type: object properties: id: description: The ID of the billing profile. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' title: ULID required: - id title: Billing profile app_data: description: App customer data. type: object properties: stripe: description: Used if the customer has a linked Stripe app. type: object properties: customer_id: description: The Stripe customer ID used. type: string example: cus_1234567890 title: Stripe customer ID default_payment_method_id: description: The Stripe default payment method ID. type: string example: pm_1234567890 title: Stripe default payment method ID labels: description: Labels for this Stripe integration on the customer. 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 maxProperties: 50 title: Labels title: Stripe external_invoicing: description: Used if the customer has a linked external invoicing app. type: object properties: labels: description: Labels for this external invoicing integration on the customer. 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 maxProperties: 50 title: Labels title: External invoicing title: App customer data BillingCustomerStripeCreateCheckoutSessionRequest: description: |- Request to create a Stripe Checkout Session for the customer. Checkout Sessions are used to collect payment method information from customers in a secure, Stripe-hosted interface. This integration uses setup mode to collect payment methods that can be charged later for subscription billing. type: object properties: stripe_options: description: |- Options for configuring the Stripe Checkout Session. These options are passed directly to Stripe's [checkout session creation API](https://docs.stripe.com/api/checkout/sessions/create). type: object properties: billing_address_collection: description: |- Whether to collect the customer's billing address. Defaults to auto, which only collects the address when necessary for tax calculation. type: string default: auto enum: - auto - required x-speakeasy-unknown-values: allow cancel_url: description: |- URL to redirect customers who cancel the checkout session. Not allowed when ui_mode is "embedded". type: string client_reference_id: description: |- Unique reference string for reconciling sessions with internal systems. Can be a customer ID, cart ID, or any other identifier. type: string customer_update: description: Controls which customer fields can be updated by the checkout session. type: object properties: address: description: |- Whether to save the billing address to customer.address. Defaults to "never". type: string default: never enum: - auto - never x-speakeasy-unknown-values: allow name: description: |- Whether to save the customer name to customer.name. Defaults to "never". type: string default: never enum: - auto - never x-speakeasy-unknown-values: allow shipping: description: |- Whether to save shipping information to customer.shipping. Defaults to "never". type: string default: never enum: - auto - never x-speakeasy-unknown-values: allow consent_collection: description: Configuration for collecting customer consent during checkout. type: object properties: payment_method_reuse_agreement: description: Controls the visibility of payment method reuse agreement. type: object properties: position: description: Position and visibility of the payment method reuse agreement. type: string enum: - auto - hidden x-speakeasy-unknown-values: allow promotions: description: |- Enables collection of promotional communication consent. Only available to US merchants. When set to "auto", Checkout determines whether to show the option based on the customer's locale. type: string enum: - auto - none x-speakeasy-unknown-values: allow terms_of_service: description: |- Requires customers to accept terms of service before payment. Requires a valid terms of service URL in your Stripe Dashboard settings. type: string enum: - none - required x-speakeasy-unknown-values: allow currency: description: |- Three-letter ISO 4217 currency code in uppercase. Required for payment mode sessions. Optional for setup mode sessions. type: string example: USD maxLength: 3 minLength: 3 pattern: '^[A-Z]{3}$' custom_text: description: Custom text to display during checkout at various stages. type: object properties: after_submit: description: Text displayed after the payment confirmation button. type: object properties: message: description: The custom message text (max 1200 characters). type: string maxLength: 1200 shipping_address: description: Text displayed alongside shipping address collection. type: object properties: message: description: The custom message text (max 1200 characters). type: string maxLength: 1200 submit: description: Text displayed alongside the payment confirmation button. type: object properties: message: description: The custom message text (max 1200 characters). type: string maxLength: 1200 terms_of_service_acceptance: description: Text replacing the default terms of service agreement text. type: object properties: message: description: The custom message text (max 1200 characters). type: string maxLength: 1200 expires_at: description: |- Unix timestamp when the checkout session expires. Can be 30 minutes to 24 hours from creation. Defaults to 24 hours. type: integer format: int64 locale: description: |- IETF language tag for the checkout UI locale. If blank or "auto", uses the browser's locale. Example: "en", "fr", "de". type: string metadata: description: |- Set of key-value pairs to attach to the checkout session. Useful for storing additional structured information. type: object additionalProperties: type: string return_url: description: |- Return URL for embedded checkout sessions after payment authentication. Required if ui_mode is "embedded" and redirect-based payment methods are enabled. type: string success_url: description: |- Success URL to redirect customers after completing payment or setup. Not allowed when ui_mode is "embedded". See: https://docs.stripe.com/payments/checkout/custom-success-page type: string ui_mode: description: |- The UI mode for the checkout session. "hosted" displays a Stripe-hosted page. "embedded" integrates directly into your app. Defaults to "hosted". type: string default: hosted enum: - embedded - hosted x-speakeasy-unknown-values: allow payment_method_types: description: |- List of payment method types to enable (e.g., "card", "us_bank_account"). If not specified, Stripe enables all relevant payment methods. type: array items: type: string redirect_on_completion: description: |- Redirect behavior for embedded checkout sessions. Controls when to redirect users after completion. See: https://docs.stripe.com/payments/checkout/custom-success-page?payment-ui=embedded-form type: string enum: - always - if_required - never x-speakeasy-unknown-values: allow tax_id_collection: description: Configuration for collecting tax IDs during checkout. type: object properties: enabled: description: |- Enable tax ID collection during checkout. Defaults to false. type: boolean default: false required: description: |- Whether tax ID collection is required. Defaults to "never". type: string default: never enum: - if_supported - never x-speakeasy-unknown-values: allow required: - stripe_options BillingCustomerStripeCreateCustomerPortalSessionRequest: description: |- Request to create a Stripe Customer Portal Session for the customer. Useful to redirect the customer to the Stripe Customer Portal to manage their payment methods, change their billing address and access their invoice history. Only returns URL if the customer billing profile is linked to a stripe app and customer. type: object properties: stripe_options: description: Options for configuring the Stripe Customer Portal Session. type: object properties: configuration_id: description: |- The ID of an existing [Stripe configuration](https://docs.stripe.com/api/customer_portal/configurations) to use for this session, describing its functionality and features. If not specified, the session uses the default configuration. type: string locale: description: |- The IETF [language tag](https://docs.stripe.com/api/customer_portal/sessions/create#create_portal_session-locale) of the locale customer portal is displayed in. If blank or `auto`, the customer's preferred_locales or browser's locale is used. type: string return_url: description: |- The [URL to redirect](https://docs.stripe.com/api/customer_portal/sessions/create#create_portal_session-return_url) the customer to after they have completed their requested actions. type: string required: - stripe_options BillingEntitlementAccessResult: description: Entitlement access result. type: object properties: type: description: The type of the entitlement. type: string example: static enum: - metered - static - boolean readOnly: true x-speakeasy-unknown-values: allow feature_key: description: The feature key of the entitlement. type: string example: available_models maxLength: 64 minLength: 1 pattern: '^[a-z0-9]+(?:_[a-z0-9]+)*$' readOnly: true title: Resource Key has_access: description: |- Whether the customer has access to the feature. Always true for `boolean` and `static` entitlements. Depends on balance for `metered` entitlements. type: boolean example: true readOnly: true config: description: |- Only available for static entitlements. Config is the JSON parsable configuration of the entitlement. Useful to describe per customer configuration. type: string example: '{ "availableModels": ["gpt-5", "gpt-4o"] }' readOnly: true required: - type - feature_key - has_access BillingProfile: description: Billing profiles contain the settings for billing and controls invoice generation. type: object properties: id: description: ULID (Universally Unique Lexicographically Sortable Identifier). type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' readOnly: true title: ULID name: description: |- Display name of the resource. Between 1 and 256 characters. type: string maxLength: 256 minLength: 1 description: description: |- Optional description of the resource. Maximum 1024 characters. type: string maxLength: 1024 labels: $ref: '#/components/schemas/Labels' created_at: description: An ISO-8601 timestamp representation of entity creation date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time updated_at: description: An ISO-8601 timestamp representation of entity last update date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time deleted_at: description: An ISO-8601 timestamp representation of entity deletion date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time supplier: description: The name and contact information for the supplier this billing profile represents type: object properties: id: description: Unique identifier for the party. type: string readOnly: true key: description: An optional unique key of the party. type: string example: 019ae40f-4258-7f15-9491-842f42a7d6ac maxLength: 256 minLength: 1 title: External Resource Key name: description: Legal name or representation of the party. type: string tax_id: description: |- The entity's legal identification used for tax purposes. They may have other numbers, but we're only interested in those valid for tax purposes. type: object properties: code: description: Normalized tax identification code shown on the original identity document. type: string maxLength: 32 minLength: 1 addresses: description: Address for where information should be sent if needed. type: object properties: billing_address: description: Billing address. type: object properties: country: description: 'Country code in [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 format.' type: string example: US maxLength: 2 minLength: 2 pattern: '^[A-Z]{2}$' title: Country postal_code: description: Postal code. type: string title: Postal Code state: description: State or province. type: string title: State city: description: City. type: string title: City line1: description: First line of the address. type: string title: Line 1 line2: description: Second line of the address. type: string title: Line 2 phone_number: description: Phone number. type: string title: Phone Number required: - billing_address workflow: description: The billing workflow settings for this profile type: object properties: collection: description: The collection settings for this workflow type: object properties: alignment: description: The alignment for collecting the pending line items into an invoice. type: object default: type: subscription discriminator: propertyName: type mapping: subscription: '#/components/schemas/BillingWorkflowCollectionAlignmentSubscription' anchored: '#/components/schemas/BillingWorkflowCollectionAlignmentAnchored' oneOf: - $ref: '#/components/schemas/BillingWorkflowCollectionAlignmentSubscription' - $ref: '#/components/schemas/BillingWorkflowCollectionAlignmentAnchored' interval: description: |- This grace period can be used to delay the collection of the pending line items specified in alignment. This is useful, in case of multiple subscriptions having slightly different billing periods. type: string format: ISO8601 example: P1D default: PT1H title: Workflow collection settings invoicing: description: The invoicing settings for this workflow type: object properties: auto_advance: description: Whether to automatically issue the invoice after the draftPeriod has passed. type: boolean default: true draft_period: description: The period for the invoice to be kept in draft status for manual reviews. type: string format: ISO8601 example: P1D default: P0D progressive_billing: description: Should progressive billing be allowed for this workflow? type: boolean default: true title: Workflow invoice settings payment: description: The payment settings for this workflow type: object discriminator: propertyName: collection_method mapping: charge_automatically: '#/components/schemas/BillingWorkflowPaymentChargeAutomaticallySettings' send_invoice: '#/components/schemas/BillingWorkflowPaymentSendInvoiceSettings' oneOf: - $ref: '#/components/schemas/BillingWorkflowPaymentChargeAutomaticallySettings' - $ref: '#/components/schemas/BillingWorkflowPaymentSendInvoiceSettings' tax: description: The tax settings for this workflow type: object properties: enabled: description: |- Enable automatic tax calculation when tax is supported by the app. For example, with Stripe Invoicing when enabled, tax is calculated via Stripe Tax. type: boolean default: true enforced: description: |- Enforce tax calculation when tax is supported by the app. When enabled, the billing system will not allow to create an invoice without tax calculation. Enforcement is different per apps, for example, Stripe app requires customer to have a tax location when starting a paid subscription. type: boolean default: false default_tax_config: description: Default tax configuration to apply to the invoices for line items. type: object properties: behavior: description: |- Tax behavior. If not specified the billing profile is used to determine the tax behavior. If not specified in the billing profile, the provider's default behavior is used. type: string enum: - inclusive - exclusive title: Tax behavior x-speakeasy-unknown-values: allow stripe: description: Stripe tax config. type: object deprecated: true properties: code: description: 'Product [tax code](https://docs.stripe.com/tax/tax-codes).' type: string example: txcd_10000000 pattern: '^txcd_\d{8}$' title: Tax code required: - code title: Stripe tax config external_invoicing: description: External invoicing tax config. type: object deprecated: true properties: code: description: The tax code should be interpreted by the external invoicing provider. type: string maxLength: 64 title: Tax code required: - code title: External invoicing tax config tax_code_id: description: Tax code ID. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH deprecated: true pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' title: Tax code ID tax_code: description: |- Tax code reference. When both `tax_code` and `tax_code_id` are provided, `tax_code` takes precedence. When `stripe.code` is also provided, `tax_code` still wins and `stripe.code` is ignored. type: object properties: id: $ref: '#/components/schemas/ULID' required: - id title: Tax code title: Workflow tax settings apps: description: The applications used by this billing profile. type: object properties: tax: description: The tax app used for this workflow. type: object properties: id: description: The ID of the app. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' title: ULID required: - id invoicing: description: The invoicing app used for this workflow. type: object properties: id: description: The ID of the app. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' title: ULID required: - id payment: description: The payment app used for this workflow. type: object properties: id: description: The ID of the app. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' title: ULID required: - id required: - tax - invoicing - payment default: description: Whether this is the default profile. type: boolean required: - id - name - created_at - updated_at - supplier - workflow - apps - default BillingProfilePagePaginatedResponse: description: Page paginated response. type: object properties: data: type: array items: $ref: '#/components/schemas/BillingProfile' meta: $ref: '#/components/schemas/PaginatedMeta' required: - data - meta BillingSubscription: description: Subscription. type: object properties: id: description: ULID (Universally Unique Lexicographically Sortable Identifier). type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' readOnly: true title: ULID labels: $ref: '#/components/schemas/Labels' created_at: description: An ISO-8601 timestamp representation of entity creation date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time updated_at: description: An ISO-8601 timestamp representation of entity last update date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time deleted_at: description: An ISO-8601 timestamp representation of entity deletion date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time customer_id: description: The customer ID of the subscription. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' readOnly: true title: Customer ID plan_id: description: |- The plan ID of the subscription. Set if subscription is created from a plan. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' readOnly: true title: Plan ID billing_anchor: description: |- A billing anchor is the fixed point in time that determines the subscription's recurring billing cycle. It affects when charges occur and how prorations are calculated. Common anchors: - Calendar month (1st of each month): `2025-01-01T00:00:00Z` - Subscription anniversary (day customer signed up) - Custom date (customer-specified day) type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: Billing anchor status: description: The status of the subscription. type: string enum: - active - inactive - canceled - scheduled readOnly: true title: Status x-speakeasy-unknown-values: allow required: - id - created_at - updated_at - customer_id - billing_anchor - status BillingSubscriptionCancel: description: Request for canceling a subscription. type: object properties: timing: description: If not provided the subscription is canceled immediately. example: immediate default: immediate oneOf: - $ref: '#/components/schemas/BillingSubscriptionEditTimingEnum' - $ref: '#/components/schemas/DateTime' BillingSubscriptionChange: description: Request for changing a subscription. type: object properties: labels: $ref: '#/components/schemas/Labels' customer: description: The customer to create the subscription for. type: object properties: id: description: |- The ID of the customer to create the subscription for. Either customer ID or customer key must be provided. If both are provided, the ID will be used. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' title: Customer ID key: description: |- The key of the customer to create the subscription for. Either customer ID or customer key must be provided. If both are provided, the ID will be used. type: string example: 019ae40f-4258-7f15-9491-842f42a7d6ac maxLength: 256 minLength: 1 title: Customer Key plan: description: The plan reference of the subscription. type: object properties: id: description: |- The plan ID of the subscription. Set if subscription is created from a plan. ID or Key of the plan is required if creating a subscription from a plan. If both are provided, the ID will be used. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' title: Plan ID key: description: |- The plan Key of the subscription, if any. Set if subscription is created from a plan. ID or Key of the plan is required if creating a subscription from a plan. If both are provided, the ID will be used. type: string example: resource_key maxLength: 64 minLength: 1 pattern: '^[a-z0-9]+(?:_[a-z0-9]+)*$' title: Plan Key version: description: |- The plan version of the subscription, if any. If not provided, the latest version of the plan will be used. type: integer title: Plan Version billing_anchor: description: |- A billing anchor is the fixed point in time that determines the subscription's recurring billing cycle. It affects when charges occur and how prorations are calculated. Common anchors: - Calendar month (1st of each month): `2025-01-01T00:00:00Z` - Subscription anniversary (day customer signed up) - Custom date (customer-specified day) If not provided, the subscription will be created with the subscription's creation time as the billing anchor. type: string format: date-time example: '2023-01-01T01:01:01.001Z' title: Billing anchor timing: description: |- Timing configuration for the change, when the change should take effect. For changing a subscription, the accepted values depend on the subscription configuration. example: immediate oneOf: - $ref: '#/components/schemas/BillingSubscriptionEditTimingEnum' - $ref: '#/components/schemas/DateTime' required: - customer - plan - timing BillingSubscriptionChangeResponse: description: Response for changing a subscription. type: object properties: current: description: The current subscription before the change. type: object properties: id: description: ULID (Universally Unique Lexicographically Sortable Identifier). type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' readOnly: true title: ULID labels: $ref: '#/components/schemas/Labels' created_at: description: An ISO-8601 timestamp representation of entity creation date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time updated_at: description: An ISO-8601 timestamp representation of entity last update date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time deleted_at: description: An ISO-8601 timestamp representation of entity deletion date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time customer_id: description: The customer ID of the subscription. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' readOnly: true title: Customer ID plan_id: description: |- The plan ID of the subscription. Set if subscription is created from a plan. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' readOnly: true title: Plan ID billing_anchor: description: |- A billing anchor is the fixed point in time that determines the subscription's recurring billing cycle. It affects when charges occur and how prorations are calculated. Common anchors: - Calendar month (1st of each month): `2025-01-01T00:00:00Z` - Subscription anniversary (day customer signed up) - Custom date (customer-specified day) type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: Billing anchor status: description: The status of the subscription. type: string enum: - active - inactive - canceled - scheduled readOnly: true title: Status x-speakeasy-unknown-values: allow required: - id - created_at - updated_at - customer_id - billing_anchor - status next: description: The new state of the subscription after the change. type: object properties: id: description: ULID (Universally Unique Lexicographically Sortable Identifier). type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' readOnly: true title: ULID labels: $ref: '#/components/schemas/Labels' created_at: description: An ISO-8601 timestamp representation of entity creation date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time updated_at: description: An ISO-8601 timestamp representation of entity last update date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time deleted_at: description: An ISO-8601 timestamp representation of entity deletion date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time customer_id: description: The customer ID of the subscription. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' readOnly: true title: Customer ID plan_id: description: |- The plan ID of the subscription. Set if subscription is created from a plan. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' readOnly: true title: Plan ID billing_anchor: description: |- A billing anchor is the fixed point in time that determines the subscription's recurring billing cycle. It affects when charges occur and how prorations are calculated. Common anchors: - Calendar month (1st of each month): `2025-01-01T00:00:00Z` - Subscription anniversary (day customer signed up) - Custom date (customer-specified day) type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: Billing anchor status: description: The status of the subscription. type: string enum: - active - inactive - canceled - scheduled readOnly: true title: Status x-speakeasy-unknown-values: allow required: - id - created_at - updated_at - customer_id - billing_anchor - status required: - current - next BillingSubscriptionCreate: description: Subscription create request. type: object properties: labels: $ref: '#/components/schemas/Labels' customer: description: The customer to create the subscription for. type: object properties: id: description: |- The ID of the customer to create the subscription for. Either customer ID or customer key must be provided. If both are provided, the ID will be used. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' title: Customer ID key: description: |- The key of the customer to create the subscription for. Either customer ID or customer key must be provided. If both are provided, the ID will be used. type: string example: 019ae40f-4258-7f15-9491-842f42a7d6ac maxLength: 256 minLength: 1 title: Customer Key plan: description: The plan reference of the subscription. type: object properties: id: description: |- The plan ID of the subscription. Set if subscription is created from a plan. ID or Key of the plan is required if creating a subscription from a plan. If both are provided, the ID will be used. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' title: Plan ID key: description: |- The plan Key of the subscription, if any. Set if subscription is created from a plan. ID or Key of the plan is required if creating a subscription from a plan. If both are provided, the ID will be used. type: string example: resource_key maxLength: 64 minLength: 1 pattern: '^[a-z0-9]+(?:_[a-z0-9]+)*$' title: Plan Key version: description: |- The plan version of the subscription, if any. If not provided, the latest version of the plan will be used. type: integer title: Plan Version billing_anchor: description: |- A billing anchor is the fixed point in time that determines the subscription's recurring billing cycle. It affects when charges occur and how prorations are calculated. Common anchors: - Calendar month (1st of each month): `2025-01-01T00:00:00Z` - Subscription anniversary (day customer signed up) - Custom date (customer-specified day) If not provided, the subscription will be created with the subscription's creation time as the billing anchor. type: string format: date-time example: '2023-01-01T01:01:01.001Z' title: Billing anchor required: - customer - plan BillingSubscriptionEditTimingEnum: description: |- Subscription edit timing. When immediate, the requested changes take effect immediately. When next_billing_cycle, the requested changes take effect at the next billing cycle. type: string enum: - immediate - next_billing_cycle x-speakeasy-unknown-values: allow BillingTaxConfig: description: Set of provider specific tax configs. type: object properties: behavior: description: |- Tax behavior. If not specified the billing profile is used to determine the tax behavior. If not specified in the billing profile, the provider's default behavior is used. type: string enum: - inclusive - exclusive title: Tax behavior x-speakeasy-unknown-values: allow stripe: description: Stripe tax config. type: object deprecated: true properties: code: description: 'Product [tax code](https://docs.stripe.com/tax/tax-codes).' type: string example: txcd_10000000 pattern: '^txcd_\d{8}$' title: Tax code required: - code title: Stripe tax config external_invoicing: description: External invoicing tax config. type: object deprecated: true properties: code: description: The tax code should be interpreted by the external invoicing provider. type: string maxLength: 64 title: Tax code required: - code title: External invoicing tax config tax_code_id: description: Tax code ID. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH deprecated: true pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' title: Tax code ID tax_code: description: |- Tax code reference. When both `tax_code` and `tax_code_id` are provided, `tax_code` takes precedence. When `stripe.code` is also provided, `tax_code` still wins and `stripe.code` is ignored. type: object properties: id: $ref: '#/components/schemas/ULID' required: - id title: Tax code BillingTaxIdentificationCode: description: Tax identifier code is a normalized tax code shown on the original identity document. type: string maxLength: 32 minLength: 1 BillingWorkflowCollectionAlignment: description: |- The alignment for collecting the pending line items into an invoice. Defaults to subscription, which means that we are to create a new invoice every time the a subscription period starts (for in advance items) or ends (for in arrears items). type: object discriminator: propertyName: type mapping: subscription: '#/components/schemas/BillingWorkflowCollectionAlignmentSubscription' anchored: '#/components/schemas/BillingWorkflowCollectionAlignmentAnchored' oneOf: - $ref: '#/components/schemas/BillingWorkflowCollectionAlignmentSubscription' - $ref: '#/components/schemas/BillingWorkflowCollectionAlignmentAnchored' BillingWorkflowCollectionAlignmentAnchored: description: |- BillingWorkflowCollectionAlignmentAnchored specifies the alignment for collecting the pending line items into an invoice. type: object properties: type: description: The type of alignment. type: string enum: - anchored recurring_period: description: The recurring period for the alignment. type: object properties: anchor: description: A date-time anchor to base the recurring period on. type: string format: date-time example: '2023-01-01T01:01:01.001Z' title: Anchor time interval: description: The interval duration in ISO 8601 format. type: string format: ISO8601 example: P1M pattern: '^P(?:\d+(?:\.\d+)?Y)?(?:\d+(?:\.\d+)?M)?(?:\d+(?:\.\d+)?W)?(?:\d+(?:\.\d+)?D)?(?:T(?:\d+(?:\.\d+)?H)?(?:\d+(?:\.\d+)?M)?(?:\d+(?:\.\d+)?S)?)?$' title: Interval in ISO 8601 duration format required: - anchor - interval required: - type - recurring_period BillingWorkflowCollectionAlignmentSubscription: description: |- BillingWorkflowCollectionAlignmentSubscription specifies the alignment for collecting the pending line items into an invoice. type: object properties: type: description: The type of alignment. type: string enum: - subscription required: - type BillingWorkflowCollectionSettings: description: Workflow collection specifies how to collect the pending line items for an invoice. type: object properties: alignment: description: The alignment for collecting the pending line items into an invoice. type: object default: type: subscription discriminator: propertyName: type mapping: subscription: '#/components/schemas/BillingWorkflowCollectionAlignmentSubscription' anchored: '#/components/schemas/BillingWorkflowCollectionAlignmentAnchored' oneOf: - $ref: '#/components/schemas/BillingWorkflowCollectionAlignmentSubscription' - $ref: '#/components/schemas/BillingWorkflowCollectionAlignmentAnchored' interval: description: |- This grace period can be used to delay the collection of the pending line items specified in alignment. This is useful, in case of multiple subscriptions having slightly different billing periods. type: string format: ISO8601 example: P1D default: PT1H title: Workflow collection settings BillingWorkflowInvoicingSettings: description: Invoice settings for a billing workflow. type: object properties: auto_advance: description: Whether to automatically issue the invoice after the draftPeriod has passed. type: boolean default: true draft_period: description: The period for the invoice to be kept in draft status for manual reviews. type: string format: ISO8601 example: P1D default: P0D progressive_billing: description: Should progressive billing be allowed for this workflow? type: boolean default: true title: Workflow invoice settings BillingWorkflowPaymentChargeAutomaticallySettings: description: Payment settings for a billing workflow when the collection method is charge automatically. type: object properties: collection_method: description: The collection method for the invoice. type: string enum: - charge_automatically required: - collection_method BillingWorkflowPaymentSendInvoiceSettings: description: Payment settings for a billing workflow when the collection method is send invoice. type: object properties: collection_method: description: The collection method for the invoice. type: string enum: - send_invoice due_after: description: |- The period after which the invoice is due. With some payment solutions it's only applicable for manual collection method. type: string format: ISO8601 example: P30D default: P30D required: - collection_method BillingWorkflowPaymentSettings: description: Payment settings for a billing workflow. type: object discriminator: propertyName: collection_method mapping: charge_automatically: '#/components/schemas/BillingWorkflowPaymentChargeAutomaticallySettings' send_invoice: '#/components/schemas/BillingWorkflowPaymentSendInvoiceSettings' oneOf: - $ref: '#/components/schemas/BillingWorkflowPaymentChargeAutomaticallySettings' - $ref: '#/components/schemas/BillingWorkflowPaymentSendInvoiceSettings' BillingWorkflowTaxSettings: description: Tax settings for a billing workflow. type: object properties: enabled: description: |- Enable automatic tax calculation when tax is supported by the app. For example, with Stripe Invoicing when enabled, tax is calculated via Stripe Tax. type: boolean default: true enforced: description: |- Enforce tax calculation when tax is supported by the app. When enabled, the billing system will not allow to create an invoice without tax calculation. Enforcement is different per apps, for example, Stripe app requires customer to have a tax location when starting a paid subscription. type: boolean default: false default_tax_config: description: Default tax configuration to apply to the invoices for line items. type: object properties: behavior: description: |- Tax behavior. If not specified the billing profile is used to determine the tax behavior. If not specified in the billing profile, the provider's default behavior is used. type: string enum: - inclusive - exclusive title: Tax behavior x-speakeasy-unknown-values: allow stripe: description: Stripe tax config. type: object deprecated: true properties: code: description: 'Product [tax code](https://docs.stripe.com/tax/tax-codes).' type: string example: txcd_10000000 pattern: '^txcd_\d{8}$' title: Tax code required: - code title: Stripe tax config external_invoicing: description: External invoicing tax config. type: object deprecated: true properties: code: description: The tax code should be interpreted by the external invoicing provider. type: string maxLength: 64 title: Tax code required: - code title: External invoicing tax config tax_code_id: description: Tax code ID. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH deprecated: true pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' title: Tax code ID tax_code: description: |- Tax code reference. When both `tax_code` and `tax_code_id` are provided, `tax_code` takes precedence. When `stripe.code` is also provided, `tax_code` still wins and `stripe.code` is ignored. type: object properties: id: $ref: '#/components/schemas/ULID' required: - id title: Tax code title: Workflow tax settings CreateBillingProfileRequest: description: BillingProfile create request. type: object properties: name: description: |- Display name of the resource. Between 1 and 256 characters. type: string maxLength: 256 minLength: 1 description: description: |- Optional description of the resource. Maximum 1024 characters. type: string maxLength: 1024 labels: $ref: '#/components/schemas/Labels' supplier: description: The name and contact information for the supplier this billing profile represents type: object properties: id: description: Unique identifier for the party. type: string readOnly: true key: description: An optional unique key of the party. type: string example: 019ae40f-4258-7f15-9491-842f42a7d6ac maxLength: 256 minLength: 1 title: External Resource Key name: description: Legal name or representation of the party. type: string tax_id: description: |- The entity's legal identification used for tax purposes. They may have other numbers, but we're only interested in those valid for tax purposes. type: object properties: code: description: Normalized tax identification code shown on the original identity document. type: string maxLength: 32 minLength: 1 addresses: description: Address for where information should be sent if needed. type: object properties: billing_address: description: Billing address. type: object properties: country: description: 'Country code in [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 format.' type: string example: US maxLength: 2 minLength: 2 pattern: '^[A-Z]{2}$' title: Country postal_code: description: Postal code. type: string title: Postal Code state: description: State or province. type: string title: State city: description: City. type: string title: City line1: description: First line of the address. type: string title: Line 1 line2: description: Second line of the address. type: string title: Line 2 phone_number: description: Phone number. type: string title: Phone Number required: - billing_address workflow: description: The billing workflow settings for this profile type: object properties: collection: description: The collection settings for this workflow type: object properties: alignment: description: The alignment for collecting the pending line items into an invoice. type: object default: type: subscription discriminator: propertyName: type mapping: subscription: '#/components/schemas/BillingWorkflowCollectionAlignmentSubscription' anchored: '#/components/schemas/BillingWorkflowCollectionAlignmentAnchored' oneOf: - $ref: '#/components/schemas/BillingWorkflowCollectionAlignmentSubscription' - $ref: '#/components/schemas/BillingWorkflowCollectionAlignmentAnchored' interval: description: |- This grace period can be used to delay the collection of the pending line items specified in alignment. This is useful, in case of multiple subscriptions having slightly different billing periods. type: string format: ISO8601 example: P1D default: PT1H title: Workflow collection settings invoicing: description: The invoicing settings for this workflow type: object properties: auto_advance: description: Whether to automatically issue the invoice after the draftPeriod has passed. type: boolean default: true draft_period: description: The period for the invoice to be kept in draft status for manual reviews. type: string format: ISO8601 example: P1D default: P0D progressive_billing: description: Should progressive billing be allowed for this workflow? type: boolean default: true title: Workflow invoice settings payment: description: The payment settings for this workflow type: object discriminator: propertyName: collection_method mapping: charge_automatically: '#/components/schemas/BillingWorkflowPaymentChargeAutomaticallySettings' send_invoice: '#/components/schemas/BillingWorkflowPaymentSendInvoiceSettings' oneOf: - $ref: '#/components/schemas/BillingWorkflowPaymentChargeAutomaticallySettings' - $ref: '#/components/schemas/BillingWorkflowPaymentSendInvoiceSettings' tax: description: The tax settings for this workflow type: object properties: enabled: description: |- Enable automatic tax calculation when tax is supported by the app. For example, with Stripe Invoicing when enabled, tax is calculated via Stripe Tax. type: boolean default: true enforced: description: |- Enforce tax calculation when tax is supported by the app. When enabled, the billing system will not allow to create an invoice without tax calculation. Enforcement is different per apps, for example, Stripe app requires customer to have a tax location when starting a paid subscription. type: boolean default: false default_tax_config: description: Default tax configuration to apply to the invoices for line items. type: object properties: behavior: description: |- Tax behavior. If not specified the billing profile is used to determine the tax behavior. If not specified in the billing profile, the provider's default behavior is used. type: string enum: - inclusive - exclusive title: Tax behavior x-speakeasy-unknown-values: allow stripe: description: Stripe tax config. type: object deprecated: true properties: code: description: 'Product [tax code](https://docs.stripe.com/tax/tax-codes).' type: string example: txcd_10000000 pattern: '^txcd_\d{8}$' title: Tax code required: - code title: Stripe tax config external_invoicing: description: External invoicing tax config. type: object deprecated: true properties: code: description: The tax code should be interpreted by the external invoicing provider. type: string maxLength: 64 title: Tax code required: - code title: External invoicing tax config tax_code_id: description: Tax code ID. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH deprecated: true pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' title: Tax code ID tax_code: description: |- Tax code reference. When both `tax_code` and `tax_code_id` are provided, `tax_code` takes precedence. When `stripe.code` is also provided, `tax_code` still wins and `stripe.code` is ignored. type: object properties: id: $ref: '#/components/schemas/ULID' required: - id title: Tax code title: Workflow tax settings apps: description: The applications used by this billing profile. type: object properties: tax: description: The tax app used for this workflow. type: object properties: id: description: The ID of the app. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' title: ULID required: - id invoicing: description: The invoicing app used for this workflow. type: object properties: id: description: The ID of the app. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' title: ULID required: - id payment: description: The payment app used for this workflow. type: object properties: id: description: The ID of the app. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' title: ULID required: - id required: - tax - invoicing - payment default: description: Whether this is the default profile. type: boolean required: - name - supplier - workflow - apps - default CreateCustomerRequest: description: Customer create request. type: object properties: name: description: |- Display name of the resource. Between 1 and 256 characters. type: string maxLength: 256 minLength: 1 description: description: |- Optional description of the resource. Maximum 1024 characters. type: string maxLength: 1024 labels: $ref: '#/components/schemas/Labels' key: $ref: '#/components/schemas/ExternalResourceKey' usage_attribution: description: Mapping to attribute metered usage to the customer by the event subject. type: object properties: subject_keys: description: |- The subjects that are attributed to the customer. Can be empty when no usage event subjects are associated with the customer. type: array items: $ref: '#/components/schemas/UsageAttributionSubjectKey' minItems: 0 title: Subject Keys required: - subject_keys title: Usage Attribution primary_email: description: The primary email address of the customer. type: string title: Primary Email currency: description: |- Currency of the customer. Used for billing, tax and invoicing. type: string example: USD maxLength: 3 minLength: 3 pattern: '^[A-Z]{3}$' title: Currency billing_address: description: |- The billing address of the customer. Used for tax and invoicing. type: object properties: country: description: 'Country code in [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 format.' type: string example: US maxLength: 2 minLength: 2 pattern: '^[A-Z]{2}$' title: Country postal_code: description: Postal code. type: string title: Postal Code state: description: State or province. type: string title: State city: description: City. type: string title: City line1: description: First line of the address. type: string title: Line 1 line2: description: Second line of the address. type: string title: Line 2 phone_number: description: Phone number. type: string title: Phone Number title: Billing Address required: - name - key CreateMeterRequest: description: Meter create request. type: object properties: name: description: |- Display name of the resource. Between 1 and 256 characters. type: string maxLength: 256 minLength: 1 description: description: |- Optional description of the resource. Maximum 1024 characters. type: string maxLength: 1024 labels: $ref: '#/components/schemas/Labels' key: $ref: '#/components/schemas/ResourceKey' aggregation: description: The aggregation type to use for the meter. type: string enum: - sum - count - unique_count - avg - min - max - latest x-speakeasy-unknown-values: allow event_type: description: The event type to include in the aggregation. type: string example: prompt minLength: 1 events_from: description: |- The date since the meter should include events. Useful to skip old events. If not specified, all historical events are included. type: string format: date-time example: '2023-01-01T01:01:01.001Z' title: RFC3339 Date-Time value_property: description: |- JSONPath expression to extract the value from the ingested event's data property. The ingested value for sum, avg, min, and max aggregations is a number or a string that can be parsed to a number. For unique_count aggregation, the ingested value must be a string. For count aggregation the value_property is ignored. type: string example: $.tokens minLength: 1 dimensions: description: |- Named JSONPath expressions to extract the group by values from the event data. Keys must be unique and consist only alphanumeric and underscore characters. type: object example: type: $.type additionalProperties: type: string required: - name - key - aggregation - event_type CustomerPagePaginatedResponse: description: Page paginated response. type: object properties: data: type: array items: $ref: '#/components/schemas/BillingCustomer' meta: $ref: '#/components/schemas/PaginatedMeta' required: - data - meta DateTime: description: '[RFC3339](https://tools.ietf.org/html/rfc3339) formatted date-time string in UTC.' type: string format: date-time example: '2023-01-01T01:01:01.001Z' title: RFC3339 Date-Time ExternalResourceKey: description: ExternalResourceKey is a unique string that is used to identify a resource in an external system. type: string example: 019ae40f-4258-7f15-9491-842f42a7d6ac maxLength: 256 minLength: 1 title: External Resource Key ISO8601Duration: description: '[ISO 8601 Duration](https://docs.digi.com/resources/documentation/digidocs/90001488-13/reference/r_iso_8601_duration_format.htm) string.' type: string format: ISO8601 example: P1Y pattern: '^P(?:\d+(?:\.\d+)?Y)?(?:\d+(?:\.\d+)?M)?(?:\d+(?:\.\d+)?W)?(?:\d+(?:\.\d+)?D)?(?:T(?:\d+(?:\.\d+)?H)?(?:\d+(?:\.\d+)?M)?(?:\d+(?:\.\d+)?S)?)?$' title: ISO 8601 Duration ListCustomerEntitlementAccessResponseData: description: List customer entitlement access response data. type: object properties: data: description: The list of entitlement access results. type: array items: $ref: '#/components/schemas/BillingEntitlementAccessResult' readOnly: true required: - data ListCustomersParamsFilter: description: Filter options for listing customers. type: object properties: key: description: Filter customers by key. type: object additionalProperties: false properties: eq: type: string contains: type: string ocontains: type: string oeq: type: string neq: type: string required: - contains - ocontains - oeq - neq title: StringFieldNEQFilter name: description: Filter customers by name. type: object additionalProperties: false properties: eq: type: string contains: type: string ocontains: type: string oeq: type: string neq: type: string required: - contains - ocontains - oeq - neq title: StringFieldNEQFilter primary_email: description: Filter customers by primary email. type: object additionalProperties: false properties: eq: type: string contains: type: string ocontains: type: string oeq: type: string neq: type: string required: - contains - ocontains - oeq - neq title: StringFieldNEQFilter ListMetersParamsFilter: description: Filter options for listing meters. type: object properties: key: description: Filter meters by key. type: object additionalProperties: false properties: eq: type: string contains: type: string ocontains: type: string oeq: type: string neq: type: string required: - contains - ocontains - oeq - neq title: StringFieldNEQFilter name: description: Filter meters by name. type: object additionalProperties: false properties: eq: type: string contains: type: string ocontains: type: string oeq: type: string neq: type: string required: - contains - ocontains - oeq - neq title: StringFieldNEQFilter Meter: description: A meter is a configuration that defines how to match and aggregate events. type: object properties: id: description: ULID (Universally Unique Lexicographically Sortable Identifier). type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' readOnly: true title: ULID name: description: |- Display name of the resource. Between 1 and 256 characters. type: string maxLength: 256 minLength: 1 description: description: |- Optional description of the resource. Maximum 1024 characters. type: string maxLength: 1024 labels: $ref: '#/components/schemas/Labels' created_at: description: An ISO-8601 timestamp representation of entity creation date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time updated_at: description: An ISO-8601 timestamp representation of entity last update date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time deleted_at: description: An ISO-8601 timestamp representation of entity deletion date. type: string format: date-time example: '2023-01-01T01:01:01.001Z' readOnly: true title: RFC3339 Date-Time key: $ref: '#/components/schemas/ResourceKey' aggregation: description: The aggregation type to use for the meter. type: string enum: - sum - count - unique_count - avg - min - max - latest x-speakeasy-unknown-values: allow event_type: description: The event type to include in the aggregation. type: string example: prompt minLength: 1 events_from: description: |- The date since the meter should include events. Useful to skip old events. If not specified, all historical events are included. type: string format: date-time example: '2023-01-01T01:01:01.001Z' title: RFC3339 Date-Time value_property: description: |- JSONPath expression to extract the value from the ingested event's data property. The ingested value for sum, avg, min, and max aggregations is a number or a string that can be parsed to a number. For unique_count aggregation, the ingested value must be a string. For count aggregation the value_property is ignored. type: string example: $.tokens minLength: 1 dimensions: description: |- Named JSONPath expressions to extract the group by values from the event data. Keys must be unique and consist only alphanumeric and underscore characters. type: object example: type: $.type additionalProperties: type: string example: id: 01G65Z755AFWAKHE12NY0CQ9FH key: tokens_total name: Tokens Total description: AI Token Usage aggregation: sum event_type: prompt value_property: $.tokens dimensions: model: $.model type: $.type created_at: '2024-01-01T01:01:01.001Z' updated_at: '2024-01-01T01:01:01.001Z' required: - id - name - created_at - updated_at - key - aggregation - event_type MeterPagePaginatedResponse: description: Page paginated response. type: object properties: data: type: array items: $ref: '#/components/schemas/Meter' meta: $ref: '#/components/schemas/PaginatedMeta' required: - data - meta MeteringEvent: description: Metering event following the CloudEvents specification. type: object properties: id: description: Identifies the event. type: string example: 5c10fade-1c9e-4d6c-8275-c52c36731d3c minLength: 1 source: description: Identifies the context in which an event happened. type: string format: uri-reference example: service-name minLength: 1 specversion: description: The version of the CloudEvents specification which the event uses. type: string example: '1.0' default: '1.0' minLength: 1 type: description: Contains a value describing the type of event related to the originating occurrence. type: string example: com.example.someevent minLength: 1 datacontenttype: description: Content type of the CloudEvents data value. Only the value "application/json" is allowed over HTTP. type: string example: application/json enum: - application/json nullable: true dataschema: description: Identifies the schema that data adheres to. type: string format: uri minLength: 1 nullable: true subject: description: Describes the subject of the event in the context of the event producer (identified by source). type: string example: customer-id minLength: 1 time: description: Timestamp of when the occurrence happened. Must adhere to RFC 3339. type: string format: date-time example: '2023-01-01T01:01:01.001Z' nullable: true title: RFC3339 Date-Time data: description: |- The event payload. Optional, if present it must be a JSON object. type: object additionalProperties: {} nullable: true example: specversion: '1.0' id: 5c10fade-1c9e-4d6c-8275-c52c36731d3c source: service-name type: prompt subject: customer-id time: '2023-01-01T01:01:01.001Z' data: prompt: 'Hello, world!' tokens: 100 model: gpt-4o type: input required: - id - source - specversion - type - subject title: Metering Event ResourceKey: description: A key is a unique string that is used to identify a resource. type: string example: resource_key maxLength: 64 minLength: 1 pattern: '^[a-z0-9]+(?:_[a-z0-9]+)*$' title: Resource Key SubscriptionPagePaginatedResponse: description: Page paginated response. type: object properties: data: type: array items: $ref: '#/components/schemas/BillingSubscription' meta: $ref: '#/components/schemas/PaginatedMeta' required: - data - meta ULID: description: ULID (Universally Unique Lexicographically Sortable Identifier). type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' title: ULID UpsertAppCustomerDataRequest: description: AppCustomerData upsert request. type: object properties: stripe: description: Used if the customer has a linked Stripe app. type: object properties: customer_id: description: The Stripe customer ID used. type: string example: cus_1234567890 title: Stripe customer ID default_payment_method_id: description: The Stripe default payment method ID. type: string example: pm_1234567890 title: Stripe default payment method ID labels: description: Labels for this Stripe integration on the customer. 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 maxProperties: 50 title: Labels title: Stripe external_invoicing: description: Used if the customer has a linked external invoicing app. type: object properties: labels: description: Labels for this external invoicing integration on the customer. 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 maxProperties: 50 title: Labels title: External invoicing UpsertBillingProfileRequest: description: BillingProfile upsert request. type: object properties: name: description: |- Display name of the resource. Between 1 and 256 characters. type: string maxLength: 256 minLength: 1 description: description: |- Optional description of the resource. Maximum 1024 characters. type: string maxLength: 1024 labels: $ref: '#/components/schemas/Labels' supplier: description: The name and contact information for the supplier this billing profile represents type: object properties: id: description: Unique identifier for the party. type: string readOnly: true key: description: An optional unique key of the party. type: string example: 019ae40f-4258-7f15-9491-842f42a7d6ac maxLength: 256 minLength: 1 title: External Resource Key name: description: Legal name or representation of the party. type: string tax_id: description: |- The entity's legal identification used for tax purposes. They may have other numbers, but we're only interested in those valid for tax purposes. type: object properties: code: description: Normalized tax identification code shown on the original identity document. type: string maxLength: 32 minLength: 1 addresses: description: Address for where information should be sent if needed. type: object properties: billing_address: description: Billing address. type: object properties: country: description: 'Country code in [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 format.' type: string example: US maxLength: 2 minLength: 2 pattern: '^[A-Z]{2}$' title: Country postal_code: description: Postal code. type: string title: Postal Code state: description: State or province. type: string title: State city: description: City. type: string title: City line1: description: First line of the address. type: string title: Line 1 line2: description: Second line of the address. type: string title: Line 2 phone_number: description: Phone number. type: string title: Phone Number required: - billing_address workflow: description: The billing workflow settings for this profile type: object properties: collection: description: The collection settings for this workflow type: object properties: alignment: description: The alignment for collecting the pending line items into an invoice. type: object default: type: subscription discriminator: propertyName: type mapping: subscription: '#/components/schemas/BillingWorkflowCollectionAlignmentSubscription' anchored: '#/components/schemas/BillingWorkflowCollectionAlignmentAnchored' oneOf: - $ref: '#/components/schemas/BillingWorkflowCollectionAlignmentSubscription' - $ref: '#/components/schemas/BillingWorkflowCollectionAlignmentAnchored' interval: description: |- This grace period can be used to delay the collection of the pending line items specified in alignment. This is useful, in case of multiple subscriptions having slightly different billing periods. type: string format: ISO8601 example: P1D default: PT1H title: Workflow collection settings invoicing: description: The invoicing settings for this workflow type: object properties: auto_advance: description: Whether to automatically issue the invoice after the draftPeriod has passed. type: boolean default: true draft_period: description: The period for the invoice to be kept in draft status for manual reviews. type: string format: ISO8601 example: P1D default: P0D progressive_billing: description: Should progressive billing be allowed for this workflow? type: boolean default: true title: Workflow invoice settings payment: description: The payment settings for this workflow type: object discriminator: propertyName: collection_method mapping: charge_automatically: '#/components/schemas/BillingWorkflowPaymentChargeAutomaticallySettings' send_invoice: '#/components/schemas/BillingWorkflowPaymentSendInvoiceSettings' oneOf: - $ref: '#/components/schemas/BillingWorkflowPaymentChargeAutomaticallySettings' - $ref: '#/components/schemas/BillingWorkflowPaymentSendInvoiceSettings' tax: description: The tax settings for this workflow type: object properties: enabled: description: |- Enable automatic tax calculation when tax is supported by the app. For example, with Stripe Invoicing when enabled, tax is calculated via Stripe Tax. type: boolean default: true enforced: description: |- Enforce tax calculation when tax is supported by the app. When enabled, the billing system will not allow to create an invoice without tax calculation. Enforcement is different per apps, for example, Stripe app requires customer to have a tax location when starting a paid subscription. type: boolean default: false default_tax_config: description: Default tax configuration to apply to the invoices for line items. type: object properties: behavior: description: |- Tax behavior. If not specified the billing profile is used to determine the tax behavior. If not specified in the billing profile, the provider's default behavior is used. type: string enum: - inclusive - exclusive title: Tax behavior x-speakeasy-unknown-values: allow stripe: description: Stripe tax config. type: object deprecated: true properties: code: description: 'Product [tax code](https://docs.stripe.com/tax/tax-codes).' type: string example: txcd_10000000 pattern: '^txcd_\d{8}$' title: Tax code required: - code title: Stripe tax config external_invoicing: description: External invoicing tax config. type: object deprecated: true properties: code: description: The tax code should be interpreted by the external invoicing provider. type: string maxLength: 64 title: Tax code required: - code title: External invoicing tax config tax_code_id: description: Tax code ID. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH deprecated: true pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' title: Tax code ID tax_code: description: |- Tax code reference. When both `tax_code` and `tax_code_id` are provided, `tax_code` takes precedence. When `stripe.code` is also provided, `tax_code` still wins and `stripe.code` is ignored. type: object properties: id: $ref: '#/components/schemas/ULID' required: - id title: Tax code title: Workflow tax settings default: description: Whether this is the default profile. type: boolean required: - name - supplier - workflow - default UpsertCustomerBillingDataRequest: description: CustomerBillingData upsert request. type: object properties: billing_profile: description: |- The billing profile for the customer. If not provided, the default billing profile will be used. type: object properties: id: description: The ID of the billing profile. type: string example: 01G65Z755AFWAKHE12NY0CQ9FH pattern: '^[0-7][0-9A-HJKMNP-TV-Z]{25}$' title: ULID required: - id title: Billing profile app_data: description: App customer data. type: object properties: stripe: description: Used if the customer has a linked Stripe app. type: object properties: customer_id: description: The Stripe customer ID used. type: string example: cus_1234567890 title: Stripe customer ID default_payment_method_id: description: The Stripe default payment method ID. type: string example: pm_1234567890 title: Stripe default payment method ID labels: description: Labels for this Stripe integration on the customer. 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 maxProperties: 50 title: Labels title: Stripe external_invoicing: description: Used if the customer has a linked external invoicing app. type: object properties: labels: description: Labels for this external invoicing integration on the customer. 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 maxProperties: 50 title: Labels title: External invoicing title: App customer data UpsertCustomerRequest: description: Customer upsert request. type: object properties: name: description: |- Display name of the resource. Between 1 and 256 characters. type: string maxLength: 256 minLength: 1 description: description: |- Optional description of the resource. Maximum 1024 characters. type: string maxLength: 1024 labels: $ref: '#/components/schemas/Labels' usage_attribution: description: Mapping to attribute metered usage to the customer by the event subject. type: object properties: subject_keys: description: |- The subjects that are attributed to the customer. Can be empty when no usage event subjects are associated with the customer. type: array items: $ref: '#/components/schemas/UsageAttributionSubjectKey' minItems: 0 title: Subject Keys required: - subject_keys title: Usage Attribution primary_email: description: The primary email address of the customer. type: string title: Primary Email currency: description: |- Currency of the customer. Used for billing, tax and invoicing. type: string example: USD maxLength: 3 minLength: 3 pattern: '^[A-Z]{3}$' title: Currency billing_address: description: |- The billing address of the customer. Used for tax and invoicing. type: object properties: country: description: 'Country code in [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 format.' type: string example: US maxLength: 2 minLength: 2 pattern: '^[A-Z]{2}$' title: Country postal_code: description: Postal code. type: string title: Postal Code state: description: State or province. type: string title: State city: description: City. type: string title: City line1: description: First line of the address. type: string title: Line 1 line2: description: Second line of the address. type: string title: Line 2 phone_number: description: Phone number. type: string title: Phone Number title: Billing Address required: - name UsageAttributionSubjectKey: description: Subject key. type: string minLength: 1 GoneError: allOf: - $ref: '#/components/schemas/BaseError' - type: object properties: status: example: 410 title: example: Gone type: example: 'https://httpstatuses.com/410' instance: example: 'kong:trace:1234567890' detail: example: Gone MCPServerPodsStatus: type: object properties: ready: description: Number of pods in the ready state. type: integer example: 2 minimum: 0 starting: description: Number of pods in the starting state. type: integer example: 0 minimum: 0 failing: description: Number of pods in the failing state. type: integer example: 0 minimum: 0 required: - ready - starting - failing MCPServerVersionStatus: type: object properties: version: description: The version identifier of the MCP server deployment. type: string example: v1 desired_replicas: description: The desired number of replicas for this version. type: integer example: 2 minimum: 0 created_replicas: description: The number of replicas that have been created for this version. type: integer example: 2 minimum: 0 pods_status: $ref: '#/components/schemas/MCPServerPodsStatus' required: - version - desired_replicas - created_replicas - pods_status MCPServerStatusRequest: description: | List of per-version deployment statuses for the MCP server. type: array items: $ref: '#/components/schemas/MCPServerVersionStatus' MCPServerStatusResponse: type: object properties: status: description: |- Aggregated deployment status of the MCP server. - `deploying` — single version with desired replicas not yet fully ready. - `healthy` — single version running with no failing pods. - `pending` — no deployment status has been reported yet. - `unhealthy` — one or more failing pods across any version. - `upgrading` — multiple versions running with no failing pods. type: string example: healthy enum: - deploying - healthy - pending - unhealthy - upgrading x-speakeasy-unknown-values: allow required: - status MCPServerInfo: type: object properties: id: description: The unique identifier for the MCP server. type: string format: uuid name: description: The name of the MCP server. type: string maxLength: 256 minLength: 1 description: description: A description of the MCP server. type: string maxLength: 1024 labels: description: Labels for the MCP server. type: object additionalProperties: type: string deployed_at: description: The timestamp when the MCP server was deployed. type: string format: date-time control_plane_id: description: The control plane ID associated with the MCP server. type: string format: uuid nullable: true resource_id: description: The MCP resource ID associated with the MCP server. type: string format: uuid nullable: true version: description: The version of the MCP server. type: string created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - id - name - created_at - updated_at - version ContainerSpec: type: object properties: image: description: The container image to use. type: string MCPServerCPInfo: allOf: - $ref: '#/components/schemas/MCPServerInfo' - type: object properties: container: allOf: - $ref: '#/components/schemas/ContainerSpec' - description: Configuration for the main container. init_container: allOf: - $ref: '#/components/schemas/ContainerSpec' - description: Configuration for the init container. CreateMCPServerRequest: type: object properties: name: description: The name of the MCP server. type: string maxLength: 256 minLength: 1 description: description: A description of the MCP server. type: string maxLength: 1024 labels: description: Labels for the MCP server. type: object additionalProperties: type: string control_plane_id: description: The control plane ID associated with the MCP server. type: string format: uuid nullable: true resource_id: description: The MCP resource ID associated with the MCP server. type: string format: uuid nullable: true required: - name UpdateMCPServerRequest: type: object properties: name: description: The name of the MCP server. type: string maxLength: 256 minLength: 1 description: description: A description of the MCP server. type: string maxLength: 1024 labels: description: Labels for the MCP server. type: object additionalProperties: type: string control_plane_id: description: The control plane ID associated with the MCP server. type: string format: uuid nullable: true resource_id: description: The MCP resource ID associated with the MCP server. type: string format: uuid nullable: true required: - name PatchMCPServerRequest: type: object properties: name: description: The name of the MCP server. type: string maxLength: 256 minLength: 1 description: description: A description of the MCP server. type: string maxLength: 1024 nullable: true labels: description: Labels for the MCP server. type: object additionalProperties: type: string nullable: true deployed_at: description: The timestamp when the MCP server was deployed. type: string format: date-time nullable: true control_plane_id: description: The control plane ID associated with the MCP server. type: string format: uuid nullable: true resource_id: description: The MCP resource ID associated with the MCP server. type: string format: uuid nullable: true ListMCPServersResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/MCPServerInfo' meta: $ref: '#/components/schemas/CursorMeta' required: - data - meta ListMCPServersCPInfoResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/MCPServerCPInfo' meta: $ref: '#/components/schemas/CursorMeta' required: - data - meta KongEntitiesResponse: type: object properties: routes: type: array items: $ref: '#/components/schemas/KongRoute' services: type: array items: $ref: '#/components/schemas/KongService' required: - routes - services KongService: type: object properties: id: description: Service ID type: string format: uuid name: description: Service name type: string example: mcp-test-service protocol: description: The protocol used to communicate with the Service. type: string example: https host: description: Service host type: string example: mcp-test-service.svc.cluster.local port: description: Service port type: integer example: 80 maximum: 65535 minimum: 1 path: description: Service path type: string example: / required: - name - protocol - host - port - path KongRoute: type: object properties: id: description: Route ID type: string format: uuid name: description: Route name type: string example: mcp-test-route-jsonrpc service: description: Reference to the service type: object properties: id: type: string format: uuid paths: description: Request paths type: array items: type: string example: - /mcp/test-service methods: description: HTTP methods type: array items: type: string example: - POST required: - name - paths - methods MCPServerCodeResponse: type: object properties: code: description: Generated Python code for the MCP server implementation type: string example: print("Hello MCP") required: - code MCPCapabilitiesMap: description: | Map of capability name -> capability request fields. Example: { "mcp": { "version": "v1", "offset": "5" } } type: object properties: mcp: $ref: '#/components/schemas/MCPCapabilityRequest' MCPCapabilityRequest: type: object properties: version: description: 'The version of the capability schema (e.g., v1).' type: string offset: description: The version of the control plane known by the client. type: string additionalProperties: false required: - version MCPServerSignalV1: description: | Signal notifying the client that the MCP control plane config has changed. type: object properties: type: type: string enum: - mcp version: description: The current version of the MCP control plane. type: string offset: description: The offset for the MCP signal. type: string example: type: mcp version: v1 offset: '6' additionalProperties: false required: - type - version - offset MCPServerSignal: description: A single signal envelope containing exactly one typed capability signal. discriminator: propertyName: type mapping: mcp: '#/components/schemas/MCPServerSignalV1' oneOf: - $ref: '#/components/schemas/MCPServerSignalV1' MCPServerSignals: description: The MCP server signals response. type: object properties: signals: description: A list of signals for the MCP server. type: array items: $ref: '#/components/schemas/MCPServerSignal' required: - signals 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 - consumer - control_plane - control_plane_group - country_code - data_plane_node - data_plane_node_version - gateway_service - portal - response_source - realm - route - status_code - status_code_grouped - time - upstream_status_code - upstream_status_code_grouped x-speakeasy-unknown-values: allow example: - status_code_grouped maxItems: 2 filters: $ref: '#/components/schemas/AdvancedFilters' granularity: $ref: '#/components/schemas/Granularity' time_range: $ref: '#/components/schemas/TimeRange' 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 - realm - status_code - status_code_grouped - ai_plugin x-speakeasy-unknown-values: allow maxItems: 2 filters: $ref: '#/components/schemas/LLMFilters' granularity: $ref: '#/components/schemas/Granularity' time_range: $ref: '#/components/schemas/TimeRange' 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 - 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 - realm - response_source - route - status_code - status_code_grouped - time - upstream_status_code - upstream_status_code_grouped x-speakeasy-unknown-values: allow maxItems: 2 filters: $ref: '#/components/schemas/AgenticFilters' granularity: $ref: '#/components/schemas/Granularity' time_range: $ref: '#/components/schemas/TimeRange' 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 Tile: discriminator: propertyName: type mapping: chart: '#/components/schemas/ChartTile' oneOf: - $ref: '#/components/schemas/ChartTile' ChartTile: description: A tile that queries data and renders a chart. 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: description: | The tile's definition, which consists of a query to fetch data and a chart to render the data. Note that some charts expect certain types of queries to render properly. The documentation for the individual chart types has more information. type: object additionalProperties: false properties: query: discriminator: propertyName: datasource mapping: api_usage: '#/components/schemas/AdvancedQuery' llm_usage: '#/components/schemas/LLMQuery' agentic_usage: '#/components/schemas/AgenticQuery' oneOf: - $ref: '#/components/schemas/AdvancedQuery' - $ref: '#/components/schemas/LLMQuery' - $ref: '#/components/schemas/AgenticQuery' chart: $ref: '#/components/schemas/Chart' required: - query - chart additionalProperties: false required: - layout - type - definition 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 chart displaying that data. 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 DashboardFilterParameters: type: object properties: id: $ref: '#/components/schemas/UuidFieldFilter' name: $ref: '#/components/schemas/StringFieldFilter' labels: $ref: '#/components/schemas/LabelsFieldFilter' created_at: $ref: '#/components/schemas/DateTimeFieldFilter' updated_at: $ref: '#/components/schemas/DateTimeFieldFilter' title: Dashboard Filter Parameters 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: - 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 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 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 - consumer - control_plane - control_plane_group - country_code - data_plane_node - data_plane_node_version - gateway_service - portal - 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 end: type: string format: date-time 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 - 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 - 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 - error_rate - 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 - 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 - 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 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 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 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' 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/SingleValueChart' - $ref: '#/components/schemas/ChoroplethMapChart' 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 - consumer - control_plane - control_plane_group - country_code - data_plane_node - data_plane_node_version - gateway_service - llm_cache_status - llm_embeddings_model - llm_embeddings_provider - mcp_error - mcp_method - mcp_session_id - mcp_tool_name - portal - 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 DataPlaneClientCertificate: x-speakeasy-entity: GatewayDataPlaneClientCertificate type: object properties: id: description: Unique ID of the certificate entity. type: string created_at: description: Date certificate was created. type: integer updated_at: description: Date certificate was last updated. type: integer cert: description: JSON escaped string of the certificate. type: string title: description: Title of the certificate. type: string ConfigStore: type: object properties: id: description: The Config Store ID. type: string format: uuid example: b9e81174-b5bb-4638-a3c3-8afe61a0abf8 readOnly: true name: description: The name of the Config Store type: string example: My Name created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' CreateConfigStore: description: The request schema to create a Config Store. type: object properties: name: type: string example: Config Store maxLength: 100 minLength: 1 additionalProperties: false title: Create Config Store Request UpdateConfigStore: description: The request schema to update a Config Store. type: object properties: name: type: string example: Config Store maxLength: 100 minLength: 1 additionalProperties: false title: Update Config Store Request ConfigStoreSecret: type: object properties: key: type: string x-speakeasy-param-force-new: true value: type: string writeOnly: true x-sensitive: true x-speakeasy-param-sensitive: true created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' CreateConfigStoreSecret: type: object properties: key: type: string maxLength: 512 minLength: 1 x-speakeasy-param-force-new: true value: type: string maxLength: 5120 minLength: 1 writeOnly: true x-sensitive: true x-speakeasy-param-sensitive: true required: - key - value UpdateConfigStoreSecret: type: object properties: value: type: string maxLength: 5120 minLength: 1 writeOnly: true x-sensitive: true x-speakeasy-param-sensitive: true required: - value NodeCompatibilityIssue: type: object properties: code: description: The compatibility issue code. type: string severity: description: The severity of the issue. type: string description: description: The description of the issue. type: string resolution: description: Steps required to take in order to resolve the issue. type: string affected_resources: description: Details of the resources affected by the issue. type: array items: $ref: '#/components/schemas/NodeCompatibilityIssueAffectedResource' documentation_url: description: Doc URL for the compatibility issue. type: string NodeCompatibilityIssueAffectedResource: type: object properties: id: description: ID of the affected resource. type: string type: description: Type of the affected resource. type: string parent_code: description: Parent Issue Code. type: string details: description: Deatils of the affected resource. type: array items: type: string ACL: type: object properties: consumer: type: object nullable: true properties: id: type: string x-foreign: true created_at: description: Unix epoch when the resource was created. type: integer nullable: true group: type: string id: description: A string representing a UUID (universally unique identifier). type: string nullable: true tags: description: A set of strings representing tags. type: array items: description: A string representing a tag. type: string nullable: true example: consumer: id: 84a73fb8-50fc-44a7-a4d5-aa17728ee83f group: foo id: b1f34145-0343-41a4-9602-4c69dec2f269 additionalProperties: false required: - group ACLWithoutParents: type: object properties: consumer: type: object nullable: true properties: id: type: string x-foreign: true created_at: description: Unix epoch when the resource was created. type: integer nullable: true group: type: string id: description: A string representing a UUID (universally unique identifier). type: string nullable: true tags: description: A set of strings representing tags. type: array items: description: A string representing a tag. type: string nullable: true example: group: foo id: b1f34145-0343-41a4-9602-4c69dec2f269 additionalProperties: false required: - group BasicAuth: type: object properties: consumer: type: object nullable: true properties: id: type: string x-foreign: true created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true password: type: string x-encrypted: true tags: description: A set of strings representing tags. type: array items: description: A string representing a tag. type: string nullable: true username: type: string example: consumer: id: 84a73fb8-50fc-44a7-a4d5-aa17728ee83f id: b2f34145-0343-41a4-9602-4c69dec2f269 password: hashedsoopersecretvalue username: darius additionalProperties: false required: - password - username BasicAuthWithoutParents: type: object properties: consumer: type: object nullable: true properties: id: type: string x-foreign: true created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true password: type: string x-encrypted: true tags: description: A set of strings representing tags. type: array items: description: A string representing a tag. type: string nullable: true username: type: string example: id: b2f34145-0343-41a4-9602-4c69dec2f269 password: hashedsoopersecretvalue username: darius additionalProperties: false required: - password - username CACertificate: description: A CA certificate object represents a trusted CA. These objects are used by Kong to verify the validity of a client or server certificate. type: object properties: cert: description: PEM-encoded public certificate of the CA. type: string cert_digest: description: 'SHA256 hex digest of the public certificate. This field is read-only and it cannot be set by the caller, the value is automatically computed.' type: string nullable: true created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true tags: description: An optional set of strings associated with the Certificate for grouping and filtering. type: array items: description: A string representing a tag. type: string nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer nullable: true example: cert: |- -----BEGIN CERTIFICATE----- certificate-content -----END CERTIFICATE----- cert_digest: 9b8aaf19a276885f6c8a6bc48a30700fdb3a351d8b05374d153bfb7b178e2a9f created_at: 1706598432 id: b2f34145-0343-41a4-9602-4c69dec2f260 tags: - trusted - api additionalProperties: false required: - cert Certificate: description: 'A certificate object represents a public certificate, and can be optionally paired with the corresponding private key. These objects are used by Kong to handle SSL/TLS termination for encrypted requests, or for use as a trusted CA store when validating peer certificate of client/service. Certificates are optionally associated with SNI objects to tie a cert/key pair to one or more hostnames. If intermediate certificates are required in addition to the main certificate, they should be concatenated together into one string according to the following order: main certificate on the top, followed by any intermediates.' type: object properties: cert: description: 'PEM-encoded public certificate chain of the SSL key pair. This field is _referenceable_, which means it can be securely stored as a [secret](/gateway/latest/plan-and-deploy/security/secrets-management/getting-started) in a vault. References must follow a [specific format](/gateway/latest/plan-and-deploy/security/secrets-management/reference-format).' type: string x-referenceable: true cert_alt: description: 'PEM-encoded public certificate chain of the alternate SSL key pair. This should only be set if you have both RSA and ECDSA types of certificate available and would like Kong to prefer serving using ECDSA certs when client advertises support for it. This field is _referenceable_, which means it can be securely stored as a [secret](/gateway/latest/plan-and-deploy/security/secrets-management/getting-started) in a vault. References must follow a [specific format](/gateway/latest/plan-and-deploy/security/secrets-management/reference-format).' type: string nullable: true x-referenceable: true created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true key: description: 'PEM-encoded private key of the SSL key pair. This field is _referenceable_, which means it can be securely stored as a [secret](/gateway/latest/plan-and-deploy/security/secrets-management/getting-started) in a vault. References must follow a [specific format](/gateway/latest/plan-and-deploy/security/secrets-management/reference-format).' type: string x-encrypted: true x-referenceable: true key_alt: description: 'PEM-encoded private key of the alternate SSL key pair. This should only be set if you have both RSA and ECDSA types of certificate available and would like Kong to prefer serving using ECDSA certs when client advertises support for it. This field is _referenceable_, which means it can be securely stored as a [secret](/gateway/latest/plan-and-deploy/security/secrets-management/getting-started) in a vault. References must follow a [specific format](/gateway/latest/plan-and-deploy/security/secrets-management/reference-format).' type: string nullable: true x-encrypted: true x-referenceable: true snis: type: array items: description: 'A string representing a wildcard host name, such as *.example.com.' type: string nullable: true tags: description: An optional set of strings associated with the Certificate for grouping and filtering. type: array items: description: A string representing a tag. type: string nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer nullable: true example: cert: |- -----BEGIN CERTIFICATE----- certificate-content -----END CERTIFICATE----- id: b2f34145-0343-41a4-9602-4c69dec2f269 key: |- -----BEGIN PRIVATE KEY----- private-key-content -----END PRIVATE KEY----- additionalProperties: false required: - cert - key Consumer: description: 'The Consumer object represents a consumer - or a user - of a Service. You can either rely on Kong as the primary datastore, or you can map the consumer list with your database to keep consistency between Kong and your existing primary datastore.' type: object properties: created_at: description: Unix epoch when the resource was created. type: integer nullable: true custom_id: description: Field for storing an existing unique ID for the Consumer - useful for mapping Kong with users in your existing database. You must send either this field or `username` with the request. type: string nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true tags: description: An optional set of strings associated with the Consumer for grouping and filtering. type: array items: description: A string representing a tag. type: string nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer nullable: true username: description: The unique username of the Consumer. You must send either this field or `custom_id` with the request. type: string nullable: true example: custom_id: '4200' id: 8a388226-80e8-4027-a486-25e4f7db5d21 tags: - silver-tier username: bob-the-builder additionalProperties: false ConsumerGroup: type: object properties: created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true name: description: The name of the consumer group. type: string tags: description: A set of strings representing tags. type: array items: description: A string representing a tag. type: string nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer nullable: true additionalProperties: false required: - name ConsumerGroupInsideWrapper: type: object properties: consumer_group: $ref: '#/components/schemas/ConsumerGroup' CustomPlugin: type: object properties: created_at: description: Unix epoch when the resource was created. type: integer nullable: true handler: description: The handler for the given custom plugin. type: string id: description: A string representing a UUID (universally unique identifier). type: string nullable: true name: description: The name to associate with the given custom plugin. type: string schema: description: The schema for the given custom plugin. type: string tags: description: A set of strings representing tags. type: array items: description: A string representing a tag. type: string nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer nullable: true example: handler: 'return { VERSION = ''1.0,0'', PRIORITY = 500, access = function(self, config) kong.service.request.set_header(config.name, config.value) end }' id: 868346aa-1105-4b77-8346-aa1105fb77c4 name: set-header schema: 'return { name = ''set-header'', fields = { { protocols = require(''kong.db.schema.typedefs'').protocols_http }, { config = { type = ''record'', fields = { { name = { description = ''The name of the header to set.'', type = ''string'', required = true } }, { value = { description = ''The value for the header.'', type = ''string'', required = true } } } } } } }' additionalProperties: false required: - handler - name - schema Degraphql_route: type: object properties: created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true methods: type: array items: description: 'A string representing an HTTP method, such as GET, POST, PUT, or DELETE. The string must contain only uppercase letters.' type: string default: - GET nullable: true query: type: string service: type: object properties: id: type: string x-foreign: true updated_at: description: Unix epoch when the resource was last updated. type: integer nullable: true uri: type: string example: id: 56c4566c-14cc-4132-9011-4139fcbbe50a query: 'query{ user { email } }' service: id: bd380f99-659d-415e-b0e7-72ea05df3218 uri: /users additionalProperties: false required: - query - uri - service Degraphql_routeWithoutParents: type: object properties: created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true methods: type: array items: description: 'A string representing an HTTP method, such as GET, POST, PUT, or DELETE. The string must contain only uppercase letters.' type: string default: - GET nullable: true query: type: string service: type: object properties: id: type: string x-foreign: true updated_at: description: Unix epoch when the resource was last updated. type: integer nullable: true uri: type: string example: id: 56c4566c-14cc-4132-9011-4139fcbbe50a query: 'query{ user { email } }' uri: /users additionalProperties: false required: - query - uri GatewayUnauthorizedError: type: object properties: message: type: string status: type: integer required: - message - status GraphQLCostDecoration: type: object properties: add_arguments: type: array items: type: string default: [] nullable: true add_constant: type: number default: 1 nullable: true created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true mul_arguments: type: array items: type: string default: [] nullable: true mul_constant: type: number default: 1 nullable: true service: type: object nullable: true properties: id: type: string x-foreign: true type_path: type: string additionalProperties: false required: - type_path GraphQLCostDecorationWithoutParents: type: object properties: add_arguments: type: array items: type: string default: [] nullable: true add_constant: type: number default: 1 nullable: true created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true mul_arguments: type: array items: type: string default: [] nullable: true mul_constant: type: number default: 1 nullable: true service: type: object nullable: true properties: id: type: string x-foreign: true type_path: type: string additionalProperties: false required: - type_path HMACAuth: type: object properties: consumer: type: object nullable: true properties: id: type: string x-foreign: true created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true secret: type: string nullable: true x-encrypted: true tags: description: A set of strings representing tags. type: array items: description: A string representing a tag. type: string nullable: true username: type: string example: consumer: id: 84a73fb8-50fc-44a7-a4d5-aa17728ee83f id: 75695322-e8a0-4109-aed4-5416b0308d85 secret: wQazJ304DW5huJklHgUfjfiSyCyTAEDZ username: xerxes additionalProperties: false required: - username HMACAuthWithoutParents: type: object properties: consumer: type: object nullable: true properties: id: type: string x-foreign: true created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true secret: type: string nullable: true x-encrypted: true tags: description: A set of strings representing tags. type: array items: description: A string representing a tag. type: string nullable: true username: type: string example: id: 75695322-e8a0-4109-aed4-5416b0308d85 secret: wQazJ304DW5huJklHgUfjfiSyCyTAEDZ username: xerxes additionalProperties: false required: - username JWT: type: object properties: algorithm: type: string default: HS256 enum: - ES256 - ES256K - ES384 - ES512 - ESB256 - ESB320 - ESB384 - ESB512 - ESP256 - ESP384 - ESP512 - Ed25519 - Ed448 - EdDSA - HS256 - HS384 - HS512 - PS256 - PS384 - PS512 - RS256 - RS384 - RS512 nullable: true x-speakeasy-unknown-values: allow consumer: type: object nullable: true properties: id: type: string x-foreign: true created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true key: type: string nullable: true rsa_public_key: type: string nullable: true secret: type: string nullable: true tags: description: A set of strings representing tags. type: array items: description: A string representing a tag. type: string nullable: true example: algorithm: HS256 consumer: id: 84a73fb8-50fc-44a7-a4d5-aa17728ee83f id: 75695322-e8a0-4109-aed4-5416b0308d85 key: YJdmaDvVTJxtcWRCvkMikc8oELgAVNcz secret: C50k0bcahDhLNhLKSUBSR1OMiFGzNZ7X additionalProperties: false JWTWithoutParents: type: object properties: algorithm: type: string default: HS256 enum: - ES256 - ES256K - ES384 - ES512 - ESB256 - ESB320 - ESB384 - ESB512 - ESP256 - ESP384 - ESP512 - Ed25519 - Ed448 - EdDSA - HS256 - HS384 - HS512 - PS256 - PS384 - PS512 - RS256 - RS384 - RS512 nullable: true x-speakeasy-unknown-values: allow consumer: type: object nullable: true properties: id: type: string x-foreign: true created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true key: type: string nullable: true rsa_public_key: type: string nullable: true secret: type: string nullable: true tags: description: A set of strings representing tags. type: array items: description: A string representing a tag. type: string nullable: true example: algorithm: HS256 id: 75695322-e8a0-4109-aed4-5416b0308d85 key: YJdmaDvVTJxtcWRCvkMikc8oELgAVNcz secret: C50k0bcahDhLNhLKSUBSR1OMiFGzNZ7X additionalProperties: false Key: description: 'A Key object holds a representation of asymmetric keys in various formats. When Kong or a Kong plugin requires a specific public or private key to perform certain operations, it can use this entity.' type: object properties: created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true jwk: description: A JSON Web Key represented as a string. type: string nullable: true x-encrypted: true x-referenceable: true kid: description: A unique identifier for a key. type: string name: description: The name to associate with the given keys. type: string nullable: true pem: description: A keypair in PEM format. type: object nullable: true properties: private_key: type: string x-encrypted: true x-referenceable: true public_key: type: string x-referenceable: true set: description: The id (an UUID) of the key-set with which to associate the key. type: object nullable: true properties: id: type: string x-foreign: true tags: description: An optional set of strings associated with the Key for grouping and filtering. type: array items: description: A string representing a tag. type: string nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer nullable: true x5t: description: X.509 certificate SHA-1 thumbprint. type: string nullable: true example: id: d958f66b-8e99-44d2-b0b4-edd5bbf24658 jwk: '{"alg":"RSA", "kid": "42", ...}' kid: '42' name: a-key pem: private_key: '-----BEGIN' public_key: '-----BEGIN' set: id: b86b331c-dcd0-4b3e-97ce-47c5a9543031 additionalProperties: false required: - kid KeyAuth: type: object properties: consumer: type: object nullable: true properties: id: type: string x-foreign: true created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true key: type: string nullable: true tags: description: A set of strings representing tags. type: array items: description: A string representing a tag. type: string nullable: true ttl: description: key-auth ttl in seconds type: integer nullable: true example: consumer: id: 84a73fb8-50fc-44a7-a4d5-aa17728ee83f id: b2f34145-0343-41a4-9602-4c69dec2f269 key: IL1deIyHyQA40WpeLeA1bIUXuvTwlGjo additionalProperties: false KeyAuthWithoutParents: type: object properties: consumer: type: object nullable: true properties: id: type: string x-foreign: true created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true key: type: string nullable: true tags: description: A set of strings representing tags. type: array items: description: A string representing a tag. type: string nullable: true ttl: description: key-auth ttl in seconds type: integer nullable: true example: id: b2f34145-0343-41a4-9602-4c69dec2f269 key: IL1deIyHyQA40WpeLeA1bIUXuvTwlGjo additionalProperties: false KeySet: type: object properties: created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true name: description: The name to associate with the given key-set. type: string nullable: true tags: description: A set of strings representing tags. type: array items: description: A string representing a tag. type: string nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer nullable: true example: id: b58c7d9d-e54f-444c-b24d-cdfc4159f61e name: example-key-set tags: - idp-keys additionalProperties: false KeyWithoutParents: description: 'A Key object holds a representation of asymmetric keys in various formats. When Kong or a Kong plugin requires a specific public or private key to perform certain operations, it can use this entity.' type: object properties: created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true jwk: description: A JSON Web Key represented as a string. type: string nullable: true x-encrypted: true x-referenceable: true kid: description: A unique identifier for a key. type: string name: description: The name to associate with the given keys. type: string nullable: true pem: description: A keypair in PEM format. type: object nullable: true properties: private_key: type: string x-encrypted: true x-referenceable: true public_key: type: string x-referenceable: true set: description: The id (an UUID) of the key-set with which to associate the key. type: object nullable: true properties: id: type: string x-foreign: true tags: description: An optional set of strings associated with the Key for grouping and filtering. type: array items: description: A string representing a tag. type: string nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer nullable: true x5t: description: X.509 certificate SHA-1 thumbprint. type: string nullable: true example: id: d958f66b-8e99-44d2-b0b4-edd5bbf24658 jwk: '{"alg":"RSA", "kid": "42", ...}' kid: '42' name: a-key pem: private_key: '-----BEGIN' public_key: '-----BEGIN' set: id: b86b331c-dcd0-4b3e-97ce-47c5a9543031 additionalProperties: false required: - kid MTLSAuth: type: object properties: ca_certificate: type: object properties: id: type: string x-foreign: true consumer: type: object nullable: true properties: id: type: string x-foreign: true created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true subject_name: type: string tags: description: A set of strings representing tags. type: array items: description: A string representing a tag. type: string nullable: true example: ca_certificate: id: b2f34145-0343-41a4-9602-4c69dec2f260 consumer: id: 84a73fb8-50fc-44a7-a4d5-aa17728ee83f id: b2f34145-0343-41a4-9602-4c69dec2f269 subject_name: CA_Subject_Name additionalProperties: false required: - subject_name MTLSAuthWithoutParents: type: object properties: ca_certificate: type: object properties: id: type: string x-foreign: true consumer: type: object nullable: true properties: id: type: string x-foreign: true created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true subject_name: type: string tags: description: A set of strings representing tags. type: array items: description: A string representing a tag. type: string nullable: true example: ca_certificate: id: b2f34145-0343-41a4-9602-4c69dec2f260 id: b2f34145-0343-41a4-9602-4c69dec2f269 subject_name: CA_Subject_Name additionalProperties: false required: - subject_name Partial: type: object discriminator: mapping: embeddings: '#/components/schemas/PartialEmbeddings' model: '#/components/schemas/PartialModel' redis-ce: '#/components/schemas/PartialRedisCe' redis-ee: '#/components/schemas/PartialRedisEe' vectordb: '#/components/schemas/PartialVectordb' propertyName: type oneOf: - $ref: '#/components/schemas/PartialRedisCe' - $ref: '#/components/schemas/PartialRedisEe' - $ref: '#/components/schemas/PartialVectordb' - $ref: '#/components/schemas/PartialEmbeddings' - $ref: '#/components/schemas/PartialModel' PartialEmbeddings: type: object properties: config: type: object properties: auth: type: object properties: allow_override: description: 'If enabled, the authorization header or parameter can be overridden in the request by the value configured in the plugin.' type: boolean default: false aws_access_key_id: description: Set this if you are using an AWS provider (Bedrock) and you are authenticating using static IAM User credentials. Setting this will override the AWS_ACCESS_KEY_ID environment variable for this plugin instance. type: string x-encrypted: true x-referenceable: true aws_secret_access_key: description: Set this if you are using an AWS provider (Bedrock) and you are authenticating using static IAM User credentials. Setting this will override the AWS_SECRET_ACCESS_KEY environment variable for this plugin instance. type: string x-encrypted: true x-referenceable: true 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.' type: string x-referenceable: true azure_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.' type: string x-encrypted: true x-referenceable: true azure_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.' type: string x-referenceable: true azure_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 default: false gcp_metadata_url: description: 'Custom metadata URL for GCP authentication. Useful for restricted network environments or custom GCP endpoints. If null, Kong will use the default Google metadata endpoint.' type: string x-referenceable: true gcp_oauth_token_url: description: 'Custom OAuth token URL for GCP authentication. Useful for restricted network environments or custom GCP endpoints. If null, Kong will use the default Google OAuth token endpoint.' type: string x-referenceable: true gcp_service_account_json: description: 'Set this field to the full JSON of the GCP service account to authenticate, if required. If null (and gcp_use_service_account is true), Kong will attempt to read from environment variable `GCP_SERVICE_ACCOUNT`.' type: string x-encrypted: true x-referenceable: true gcp_use_service_account: description: Use service account auth for GCP-based providers and models. type: boolean default: false header_name: description: 'If AI model requires authentication via Authorization or API key header, specify its name here.' type: string x-referenceable: true header_value: description: 'Specify the full auth header value for ''header_name'', for example ''Bearer key'' or just ''key''.' type: string x-encrypted: true x-referenceable: true param_location: description: 'Specify whether the ''param_name'' and ''param_value'' options go in a query string, or the POST form/JSON body.' type: string enum: - body - query x-speakeasy-unknown-values: allow param_name: description: 'If AI model requires authentication via query parameter, specify its name here.' type: string x-referenceable: true param_value: description: Specify the full parameter value for 'param_name'. type: string x-encrypted: true x-referenceable: true model: type: object properties: name: description: Model name to execute. type: string options: description: Key/value settings for the model type: object properties: azure: type: object properties: api_version: description: '''api-version'' for Azure OpenAI instances.' type: string default: '2023-05-15' deployment_id: description: Deployment ID for Azure OpenAI instances. type: string instance: description: Instance name for Azure OpenAI hosted models. type: string bedrock: type: object properties: aws_assume_role_arn: description: If using AWS providers (Bedrock) you can assume a different role after authentication with the current IAM context is successful. type: string aws_region: description: If using AWS providers (Bedrock) you can override the `AWS_REGION` environment variable by setting this option. type: string aws_role_session_name: description: 'If using AWS providers (Bedrock), set the identifier of the assumed role session.' type: string aws_sts_endpoint_url: description: 'If using AWS providers (Bedrock), override the STS endpoint URL when assuming a different role.' type: string batch_bucket_prefix: description: 'S3 URI prefix (s3://bucket/prefix/) where Bedrock will get input files from and store results to for native batch API.' type: string batch_role_arn: description: AWS role arn used for calling batch API. Try to get the value from request if ommited. type: string embeddings_normalize: description: 'If using AWS providers (Bedrock), set to true to normalize the embeddings.' type: boolean default: false performance_config_latency: description: Force the client's performance configuration 'latency' for all requests. Leave empty to let the consumer select the performance configuration. type: string video_output_s3_uri: description: 'S3 URI (s3://bucket/prefix) where Bedrock will store generated video files. Required for video generation.' type: string gemini: type: object properties: api_endpoint: description: 'If running Gemini on Vertex, specify the regional API endpoint (hostname only).' type: string location_id: description: 'If running Gemini on Vertex, specify the location ID.' type: string project_id: description: 'If running Gemini on Vertex, specify the project ID.' type: string huggingface: type: object properties: use_cache: description: Use the cache layer on the inference API type: boolean wait_for_model: description: Wait for the model if it is not ready type: boolean upstream_url: description: upstream url for the embeddings type: string provider: description: AI provider format to use for embeddings API type: string enum: - azure - bedrock - gemini - huggingface - mistral - ollama - openai x-speakeasy-unknown-values: allow required: - name - provider required: - model created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true name: description: A unique string representing a UTF-8 encoded name. type: string nullable: true tags: description: A set of strings representing tags. type: array items: description: A string representing a tag. type: string nullable: true type: type: string const: embeddings updated_at: description: Unix epoch when the resource was last updated. type: integer nullable: true example: config: auth: header_name: Authorization header_value: Bearer openai-api-key model: name: text-embedding-3-small provider: openai type: embeddings additionalProperties: false required: - type - config PartialLink: type: object properties: id: description: The plugin's unique identifier type: string instance_name: description: The instance name of the plugin type: string name: description: The plugin's name type: string required: - id - name PartialModel: type: object properties: config: type: object properties: auth: type: object properties: allow_override: description: 'If enabled, the authorization header or parameter can be overridden in the request by the value configured in the plugin.' type: boolean default: false aws_access_key_id: description: Set this if you are using an AWS provider (Bedrock) and you are authenticating using static IAM User credentials. Setting this will override the AWS_ACCESS_KEY_ID environment variable for this plugin instance. type: string x-encrypted: true x-referenceable: true aws_secret_access_key: description: Set this if you are using an AWS provider (Bedrock) and you are authenticating using static IAM User credentials. Setting this will override the AWS_SECRET_ACCESS_KEY environment variable for this plugin instance. type: string x-encrypted: true x-referenceable: true 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.' type: string x-referenceable: true azure_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.' type: string x-encrypted: true x-referenceable: true azure_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.' type: string x-referenceable: true azure_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 default: false gcp_metadata_url: description: 'Custom metadata URL for GCP authentication. Useful for restricted network environments or custom GCP endpoints. If null, Kong will use the default Google metadata endpoint.' type: string x-referenceable: true gcp_oauth_token_url: description: 'Custom OAuth token URL for GCP authentication. Useful for restricted network environments or custom GCP endpoints. If null, Kong will use the default Google OAuth token endpoint.' type: string x-referenceable: true gcp_service_account_json: description: 'Set this field to the full JSON of the GCP service account to authenticate, if required. If null (and gcp_use_service_account is true), Kong will attempt to read from environment variable `GCP_SERVICE_ACCOUNT`.' type: string x-encrypted: true x-referenceable: true gcp_use_service_account: description: Use service account auth for GCP-based providers and models. type: boolean default: false header_name: description: 'If AI model requires authentication via Authorization or API key header, specify its name here.' type: string x-referenceable: true header_value: description: 'Specify the full auth header value for ''header_name'', for example ''Bearer key'' or just ''key''.' type: string x-encrypted: true x-referenceable: true param_location: description: 'Specify whether the ''param_name'' and ''param_value'' options go in a query string, or the POST form/JSON body.' type: string enum: - body - query x-speakeasy-unknown-values: allow param_name: description: 'If AI model requires authentication via query parameter, specify its name here.' type: string x-referenceable: true param_value: description: Specify the full parameter value for 'param_name'. type: string x-encrypted: true x-referenceable: true 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. Only used by ai-proxy-advanced.' type: string logging: type: object properties: log_payloads: description: 'If enabled, will log the request and response body into the Kong log plugin(s) output.Furthermore if Opentelemetry instrumentation is enabled the traces will contain this data as well.' type: boolean default: false log_statistics: description: 'If enabled and supported by the driver, will add model usage and token metrics into the Kong log plugin(s) output.' type: boolean default: false metadata: description: 'For internal use only. ' type: object additionalProperties: true nullable: true x-speakeasy-type-override: any model: type: object properties: model_alias: description: The model name parameter from the request that this model should map to. type: string name: description: Model name to execute. type: string options: description: Key/value settings for the model type: object properties: anthropic_version: description: 'Defines the schema/API version, if using Anthropic provider.' type: string azure_api_version: description: '''api-version'' for Azure OpenAI instances.' type: string default: '2023-05-15' azure_deployment_id: description: Deployment ID for Azure OpenAI instances. type: string azure_instance: description: Instance name for Azure OpenAI hosted models. type: string bedrock: type: object properties: aws_assume_role_arn: description: If using AWS providers (Bedrock) you can assume a different role after authentication with the current IAM context is successful. type: string aws_region: description: If using AWS providers (Bedrock) you can override the `AWS_REGION` environment variable by setting this option. type: string aws_role_session_name: description: 'If using AWS providers (Bedrock), set the identifier of the assumed role session.' type: string aws_sts_endpoint_url: description: 'If using AWS providers (Bedrock), override the STS endpoint URL when assuming a different role.' type: string batch_bucket_prefix: description: 'S3 URI prefix (s3://bucket/prefix/) where Bedrock will get input files from and store results to for native batch API.' type: string batch_role_arn: description: AWS role arn used for calling batch API. Try to get the value from request if ommited. type: string embeddings_normalize: description: 'If using AWS providers (Bedrock), set to true to normalize the embeddings.' type: boolean default: false performance_config_latency: description: Force the client's performance configuration 'latency' for all requests. Leave empty to let the consumer select the performance configuration. type: string video_output_s3_uri: description: 'S3 URI (s3://bucket/prefix) where Bedrock will store generated video files. Required for video generation.' type: string cohere: type: object properties: embedding_input_type: description: The purpose of the input text to calculate embedding vectors. type: string default: classification enum: - classification - clustering - image - search_document - search_query x-speakeasy-unknown-values: allow wait_for_model: description: Wait for the model if it is not ready type: boolean dashscope: type: object properties: international: description: | Two Dashscope endpoints are available, and the international endpoint will be used when this is set to `true`. It is recommended to set this to `true` when using international version of dashscope. type: boolean default: true databricks: type: object properties: workspace_instance_id: description: Workspace Instance ID ('dbc-xxx-yyy') for Databricks model serving. type: string embeddings_dimensions: description: 'If using embeddings models, set the number of dimensions to generate.' type: integer gemini: type: object properties: api_endpoint: description: 'If running Gemini on Vertex, specify the regional API endpoint (hostname only).' type: string endpoint_id: description: 'If running Gemini on Vertex Model Garden, specify the endpoint ID.' type: string location_id: description: 'If running Gemini on Vertex, specify the location ID.' type: string project_id: description: 'If running Gemini on Vertex, specify the project ID.' type: string huggingface: type: object properties: use_cache: description: Use the cache layer on the inference API type: boolean wait_for_model: description: Wait for the model if it is not ready type: boolean input_cost: description: Defines the cost per 1M tokens in your prompt. type: number llama2_format: description: 'If using llama2 provider, select the upstream message format.' type: string enum: - ollama - openai - raw x-speakeasy-unknown-values: allow max_tokens: description: 'Defines the max_tokens, if using chat or completion models.' type: integer mistral_format: description: 'If using mistral provider, select the upstream message format.' type: string enum: - ollama - openai x-speakeasy-unknown-values: allow output_cost: description: Defines the cost per 1M tokens in the output of the AI. type: number temperature: description: 'Defines the matching temperature, if using chat or completion models.' type: number maximum: 5 minimum: 0 top_k: description: 'Defines the top-k most likely tokens, if supported.' type: integer maximum: 500 minimum: 0 top_p: description: 'Defines the top-p probability mass, if supported.' type: number maximum: 1 minimum: 0 upstream_path: description: 'Manually specify or override the AI operation path, used when e.g. using the ''preserve'' route_type.' type: string upstream_url: description: 'Manually specify or override the full URL to the AI operation endpoints, when calling (self-)hosted models, or for running via a private endpoint.' type: string provider: description: AI provider request format - Kong translates requests to and from the specified backend compatible formats. type: string enum: - anthropic - azure - bedrock - cerebras - cohere - dashscope - databricks - deepseek - gemini - huggingface - llama2 - mistral - ollama - openai - vllm - xai x-speakeasy-unknown-values: allow required: - provider route_type: description: 'The model''s operation implementation, for this provider. ' type: string enum: - audio/v1/audio/speech - audio/v1/audio/transcriptions - audio/v1/audio/translations - image/v1/images/edits - image/v1/images/generations - llm/v1/assistants - llm/v1/batches - llm/v1/chat - llm/v1/completions - llm/v1/embeddings - llm/v1/files - llm/v1/responses - preserve - realtime/v1/realtime - video/v1/videos/generations x-speakeasy-unknown-values: allow weight: description: The weight this target gets within the upstream loadbalancer (1-65535). Only used by ai-proxy-advanced. type: integer default: 100 maximum: 65535 minimum: 1 required: - model - route_type created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true name: description: A unique string representing a UTF-8 encoded name. type: string nullable: true tags: description: A set of strings representing tags. type: array items: description: A string representing a tag. type: string nullable: true type: type: string const: model updated_at: description: Unix epoch when the resource was last updated. type: integer nullable: true example: config: auth: header_name: Authorization header_value: Bearer openai-api-key model: name: gpt-4 provider: openai route_type: llm/v1/chat type: model additionalProperties: false required: - type - config PartialRedisCe: type: object properties: config: type: object properties: cloud_authentication: description: Cloud auth related configs for connecting to a Cloud Provider's Redis instance. type: object properties: auth_provider: description: Auth providers to be used to authenticate to a Cloud Provider's Redis instance. type: string enum: - aws - azure - gcp x-referenceable: true x-speakeasy-unknown-values: allow aws_access_key_id: description: AWS Access Key ID to be used for authentication when `auth_provider` is set to `aws`. type: string x-encrypted: true x-referenceable: true aws_assume_role_arn: description: The ARN of the IAM role to assume for generating ElastiCache IAM authentication tokens. type: string x-encrypted: true x-referenceable: true aws_cache_name: description: The name of the AWS Elasticache cluster when `auth_provider` is set to `aws`. type: string x-referenceable: true aws_is_serverless: description: This flag specifies whether the cluster is serverless when auth_provider is set to `aws`. type: boolean default: true aws_region: description: The region of the AWS ElastiCache cluster when `auth_provider` is set to `aws`. type: string x-referenceable: true aws_role_session_name: description: The session name for the temporary credentials when assuming the IAM role. type: string x-encrypted: true x-referenceable: true aws_secret_access_key: description: AWS Secret Access Key to be used for authentication when `auth_provider` is set to `aws`. type: string x-encrypted: true x-referenceable: true azure_client_id: description: Azure Client ID to be used for authentication when `auth_provider` is set to `azure`. type: string x-encrypted: true x-referenceable: true azure_client_secret: description: Azure Client Secret to be used for authentication when `auth_provider` is set to `azure`. type: string x-encrypted: true x-referenceable: true azure_tenant_id: description: Azure Tenant ID to be used for authentication when `auth_provider` is set to `azure`. type: string x-encrypted: true x-referenceable: true gcp_service_account_json: description: GCP Service Account JSON to be used for authentication when `auth_provider` is set to `gcp`. type: string x-encrypted: true x-referenceable: true database: description: Database to use for the Redis connection when using the `redis` strategy type: integer default: 0 host: description: 'A string representing a host name, such as example.com.' type: string x-referenceable: true password: description: 'Password to use for Redis connections. If undefined, no AUTH commands are sent to Redis.' type: string x-encrypted: true x-referenceable: true port: description: 'An integer representing a port number between 0 and 65535, inclusive.' type: integer default: 6379 maximum: 65535 minimum: 0 x-referenceable: true server_name: description: A string representing an SNI (server name indication) value for TLS. type: string x-referenceable: true ssl: description: 'If set to true, uses SSL to connect to Redis.' type: boolean default: false ssl_verify: description: 'If set to true, verifies the validity of the server SSL certificate. If setting this parameter, also configure `lua_ssl_trusted_certificate` in `kong.conf` to specify the CA (or server) certificate used by your Redis server. You may also need to configure `lua_ssl_verify_depth` accordingly.' type: boolean default: true 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 username: description: 'Username to use for Redis connections. If undefined, ACL authentication won''t be performed. This requires Redis v6.0.0+. To be compatible with Redis v5.x.y, you can set it to `default`.' type: string x-referenceable: true created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true name: description: A unique string representing a UTF-8 encoded name. type: string nullable: true tags: description: A set of strings representing tags. type: array items: description: A string representing a tag. type: string nullable: true type: type: string const: redis-ce updated_at: description: Unix epoch when the resource was last updated. type: integer nullable: true example: config: database: 0 host: localhost password: password port: 6379 server_name: redis ssl: false ssl_verify: false timeout: 2000 username: username type: redis-ce additionalProperties: false required: - type - config PartialRedisEe: type: object properties: config: type: object properties: cloud_authentication: description: Cloud auth related configs for connecting to a Cloud Provider's Redis instance. type: object properties: auth_provider: description: Auth providers to be used to authenticate to a Cloud Provider's Redis instance. type: string enum: - aws - azure - gcp x-referenceable: true x-speakeasy-unknown-values: allow aws_access_key_id: description: AWS Access Key ID to be used for authentication when `auth_provider` is set to `aws`. type: string x-encrypted: true x-referenceable: true aws_assume_role_arn: description: The ARN of the IAM role to assume for generating ElastiCache IAM authentication tokens. type: string x-encrypted: true x-referenceable: true aws_cache_name: description: The name of the AWS Elasticache cluster when `auth_provider` is set to `aws`. type: string x-referenceable: true aws_is_serverless: description: This flag specifies whether the cluster is serverless when auth_provider is set to `aws`. type: boolean default: true aws_region: description: The region of the AWS ElastiCache cluster when `auth_provider` is set to `aws`. type: string x-referenceable: true aws_role_session_name: description: The session name for the temporary credentials when assuming the IAM role. type: string x-encrypted: true x-referenceable: true aws_secret_access_key: description: AWS Secret Access Key to be used for authentication when `auth_provider` is set to `aws`. type: string x-encrypted: true x-referenceable: true azure_client_id: description: Azure Client ID to be used for authentication when `auth_provider` is set to `azure`. type: string x-encrypted: true x-referenceable: true azure_client_secret: description: Azure Client Secret to be used for authentication when `auth_provider` is set to `azure`. type: string x-encrypted: true x-referenceable: true azure_tenant_id: description: Azure Tenant ID to be used for authentication when `auth_provider` is set to `azure`. type: string x-encrypted: true x-referenceable: true gcp_service_account_json: description: GCP Service Account JSON to be used for authentication when `auth_provider` is set to `gcp`. type: string x-encrypted: true x-referenceable: true cluster_max_redirections: description: Maximum retry attempts for redirection. type: integer default: 5 cluster_nodes: description: Cluster addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element. type: array items: properties: ip: description: 'A string representing a host name, such as example.com.' type: string default: 127.0.0.1 port: description: 'An integer representing a port number between 0 and 65535, inclusive.' type: integer default: 6379 maximum: 65535 minimum: 0 type: object minLength: 1 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.' type: string default: 127.0.0.1 x-referenceable: true keepalive_backlog: description: 'Limits the total number of opened connections for a pool. If the connection pool is full, connection queues above the limit go into the backlog queue. If the backlog queue is full, subsequent connect operations fail and return `nil`. Queued operations (subject to set timeouts) resume once the number of connections in the pool is less than `keepalive_pool_size`. If latency is high or throughput is low, try increasing this value. Empirically, this value is larger than `keepalive_pool_size`.' type: integer maximum: 2147483646 minimum: 0 keepalive_pool_size: description: 'The size limit for every cosocket connection pool associated with every remote server, per worker process. If neither `keepalive_pool_size` nor `keepalive_backlog` is specified, no pool is created. If `keepalive_pool_size` isn''t specified but `keepalive_backlog` is specified, then the pool uses the default value. Try to increase (e.g. 512) this value if latency is high or throughput is low.' type: integer default: 256 maximum: 2147483646 minimum: 1 password: description: 'Password to use for Redis connections. If undefined, no AUTH commands are sent to Redis.' type: string x-encrypted: true x-referenceable: true port: description: 'An integer representing a port number between 0 and 65535, inclusive.' type: - integer - string default: 6379 maximum: 65535 minimum: 0 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_master: description: Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel. type: string sentinel_nodes: description: Sentinel node addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element. type: array items: properties: host: description: 'A string representing a host name, such as example.com.' type: string default: 127.0.0.1 port: description: 'An integer representing a port number between 0 and 65535, inclusive.' type: integer default: 6379 maximum: 65535 minimum: 0 type: object minLength: 1 sentinel_password: description: 'Sentinel password to authenticate with a Redis Sentinel instance. If undefined, no AUTH commands are sent to Redis Sentinels.' type: string x-encrypted: true x-referenceable: true sentinel_role: description: Sentinel role to use for Redis connections when the `redis` strategy is defined. Defining this value implies using Redis Sentinel. type: string enum: - any - master - slave x-speakeasy-unknown-values: allow sentinel_username: description: 'Sentinel username to authenticate with a Redis Sentinel instance. If undefined, ACL authentication won''t be performed. This requires Redis v6.2.0+.' type: string x-referenceable: true server_name: description: A string representing an SNI (server name indication) value for TLS. type: string x-referenceable: true ssl: description: 'If set to true, uses SSL to connect to Redis.' type: boolean default: false ssl_verify: description: 'If set to true, verifies the validity of the server SSL certificate. If setting this parameter, also configure `lua_ssl_trusted_certificate` in `kong.conf` to specify the CA (or server) certificate used by your Redis server. You may also need to configure `lua_ssl_verify_depth` accordingly.' type: boolean default: 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`.' type: string x-referenceable: true created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true name: description: A unique string representing a UTF-8 encoded name. type: string nullable: true tags: description: A set of strings representing tags. type: array items: description: A string representing a tag. type: string nullable: true type: type: string const: redis-ee updated_at: description: Unix epoch when the resource was last updated. type: integer nullable: true example: config: cluster_nodes: - ip: 192.168.1.10 port: 6380 connect_timeout: 2000 database: 0 host: localhost keepalive_pool_size: 256 password: password port: 6379 read_timeout: 1000 send_timeout: 1000 sentinel_nodes: - host: sentinel1.redis.server port: 26379 server_name: redis-ee ssl: false ssl_verify: false username: username type: redis-ee additionalProperties: false required: - type - config PartialVectordb: type: object properties: config: type: object properties: 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 pgvector: type: object properties: 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 type: string x-encrypted: true x-referenceable: true port: description: the port of the pgvector database type: integer default: 5432 ssl: description: whether to use ssl for the pgvector database type: boolean default: false ssl_cert: description: the path of ssl cert to use for the pgvector database type: string ssl_cert_key: description: the path of ssl cert key to use for the pgvector database type: string ssl_required: description: whether ssl is required for the pgvector database type: boolean default: false ssl_verify: description: whether to verify ssl for the pgvector database type: boolean default: true ssl_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 timeout: description: the timeout of the pgvector database type: number default: 5000 user: description: the user of the pgvector database type: string default: postgres x-referenceable: true redis: type: object properties: cloud_authentication: description: Cloud auth related configs for connecting to a Cloud Provider's Redis instance. type: object properties: auth_provider: description: Auth providers to be used to authenticate to a Cloud Provider's Redis instance. type: string enum: - aws - azure - gcp x-referenceable: true x-speakeasy-unknown-values: allow aws_access_key_id: description: AWS Access Key ID to be used for authentication when `auth_provider` is set to `aws`. type: string x-encrypted: true x-referenceable: true aws_assume_role_arn: description: The ARN of the IAM role to assume for generating ElastiCache IAM authentication tokens. type: string x-encrypted: true x-referenceable: true aws_cache_name: description: The name of the AWS Elasticache cluster when `auth_provider` is set to `aws`. type: string x-referenceable: true aws_is_serverless: description: This flag specifies whether the cluster is serverless when auth_provider is set to `aws`. type: boolean default: true aws_region: description: The region of the AWS ElastiCache cluster when `auth_provider` is set to `aws`. type: string x-referenceable: true aws_role_session_name: description: The session name for the temporary credentials when assuming the IAM role. type: string x-encrypted: true x-referenceable: true aws_secret_access_key: description: AWS Secret Access Key to be used for authentication when `auth_provider` is set to `aws`. type: string x-encrypted: true x-referenceable: true azure_client_id: description: Azure Client ID to be used for authentication when `auth_provider` is set to `azure`. type: string x-encrypted: true x-referenceable: true azure_client_secret: description: Azure Client Secret to be used for authentication when `auth_provider` is set to `azure`. type: string x-encrypted: true x-referenceable: true azure_tenant_id: description: Azure Tenant ID to be used for authentication when `auth_provider` is set to `azure`. type: string x-encrypted: true x-referenceable: true gcp_service_account_json: description: GCP Service Account JSON to be used for authentication when `auth_provider` is set to `gcp`. type: string x-encrypted: true x-referenceable: true cluster_max_redirections: description: Maximum retry attempts for redirection. type: integer default: 5 cluster_nodes: description: Cluster addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element. type: array items: properties: ip: description: 'A string representing a host name, such as example.com.' type: string default: 127.0.0.1 port: description: 'An integer representing a port number between 0 and 65535, inclusive.' type: integer default: 6379 maximum: 65535 minimum: 0 type: object minLength: 1 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.' type: string default: 127.0.0.1 x-referenceable: true keepalive_backlog: description: 'Limits the total number of opened connections for a pool. If the connection pool is full, connection queues above the limit go into the backlog queue. If the backlog queue is full, subsequent connect operations fail and return `nil`. Queued operations (subject to set timeouts) resume once the number of connections in the pool is less than `keepalive_pool_size`. If latency is high or throughput is low, try increasing this value. Empirically, this value is larger than `keepalive_pool_size`.' type: integer maximum: 2147483646 minimum: 0 keepalive_pool_size: description: 'The size limit for every cosocket connection pool associated with every remote server, per worker process. If neither `keepalive_pool_size` nor `keepalive_backlog` is specified, no pool is created. If `keepalive_pool_size` isn''t specified but `keepalive_backlog` is specified, then the pool uses the default value. Try to increase (e.g. 512) this value if latency is high or throughput is low.' type: integer default: 256 maximum: 2147483646 minimum: 1 password: description: 'Password to use for Redis connections. If undefined, no AUTH commands are sent to Redis.' type: string x-encrypted: true x-referenceable: true port: description: 'An integer representing a port number between 0 and 65535, inclusive.' type: integer default: 6379 maximum: 65535 minimum: 0 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_master: description: Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel. type: string sentinel_nodes: description: Sentinel node addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element. type: array items: properties: host: description: 'A string representing a host name, such as example.com.' type: string default: 127.0.0.1 port: description: 'An integer representing a port number between 0 and 65535, inclusive.' type: integer default: 6379 maximum: 65535 minimum: 0 type: object minLength: 1 sentinel_password: description: 'Sentinel password to authenticate with a Redis Sentinel instance. If undefined, no AUTH commands are sent to Redis Sentinels.' type: string x-encrypted: true x-referenceable: true sentinel_role: description: Sentinel role to use for Redis connections when the `redis` strategy is defined. Defining this value implies using Redis Sentinel. type: string enum: - any - master - slave x-speakeasy-unknown-values: allow sentinel_username: description: 'Sentinel username to authenticate with a Redis Sentinel instance. If undefined, ACL authentication won''t be performed. This requires Redis v6.2.0+.' type: string x-referenceable: true server_name: description: A string representing an SNI (server name indication) value for TLS. type: string x-referenceable: true ssl: description: 'If set to true, uses SSL to connect to Redis.' type: boolean default: false ssl_verify: description: 'If set to true, verifies the validity of the server SSL certificate. If setting this parameter, also configure `lua_ssl_trusted_certificate` in `kong.conf` to specify the CA (or server) certificate used by your Redis server. You may also need to configure `lua_ssl_verify_depth` accordingly.' type: boolean default: 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`.' type: string x-referenceable: true strategy: description: which vector database driver to use type: string enum: - pgvector - redis 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 required: - dimensions - distance_metric - strategy created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true name: description: A unique string representing a UTF-8 encoded name. type: string nullable: true tags: description: A set of strings representing tags. type: array items: description: A string representing a tag. type: string nullable: true type: type: string const: vectordb updated_at: description: Unix epoch when the resource was last updated. type: integer nullable: true example: config: dimensions: 1536 distance_metric: cosine pgvector: database: kong-pgvector host: 127.0.0.1 password: password port: 5432 user: postgres strategy: pgvector type: vectordb additionalProperties: false required: - type - config Plugin: description: 'A Plugin entity represents a plugin configuration that will be executed during the HTTP request/response lifecycle. It is how you can add functionalities to Services that run behind Kong, like Authentication or Rate Limiting for example. You can find more information about how to install and what values each plugin takes by visiting the [Kong Hub](https://docs.konghq.com/hub/). When adding a Plugin Configuration to a Service, every request made by a client to that Service will run said Plugin. If a Plugin needs to be tuned to different values for some specific Consumers, you can do so by creating a separate plugin instance that specifies both the Service and the Consumer, through the `service` and `consumer` fields.' type: object properties: condition: description: 'An expression used for conditional control over plugin execution. If the expression evaluates to `true` during the request flow, the plugin is executed; otherwise, it is skipped.' type: string maxLength: 1024 nullable: true config: description: 'The configuration properties for the Plugin which can be found on the plugins documentation page in the [Kong Hub](https://docs.konghq.com/hub/).' type: object additionalProperties: true nullable: true consumer: description: 'If set, the plugin will activate only for requests where the specified has been authenticated. (Note that some plugins can not be restricted to consumers this way.). Leave unset for the plugin to activate regardless of the authenticated Consumer.' type: object nullable: true properties: id: type: string x-foreign: true consumer_group: description: 'If set, the plugin will activate only for requests where the specified group has been authenticated' type: object nullable: true properties: id: type: string x-foreign: true created_at: description: Unix epoch when the resource was created. type: integer nullable: true enabled: description: Whether the plugin is applied. type: boolean default: true nullable: true id: description: A string representing a UUID (universally unique identifier). type: string minLength: 1 nullable: true instance_name: description: A unique string representing a UTF-8 encoded name. type: string nullable: true name: description: 'The name of the Plugin that''s going to be added. Currently, the Plugin must be installed in every Kong instance separately.' type: string minLength: 1 ordering: type: object nullable: true properties: after: type: object properties: access: type: array items: type: string before: type: object properties: access: type: array items: type: string partials: description: A list of partials to be used by the plugin. type: array items: properties: id: description: A string representing a UUID (universally unique identifier). type: string minLength: 1 name: description: A unique string representing a UTF-8 encoded name. type: string path: type: string type: object nullable: true protocols: description: 'A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type. For example, plugins that only work in stream mode will only support `"tcp"` and `"tls"`.' type: array items: description: 'A string representing a protocol, such as HTTP or HTTPS.' enum: - grpc - grpcs - http - https - tcp - tls - tls_passthrough - udp - ws - wss type: string x-speakeasy-unknown-values: allow default: - grpc - grpcs - http - https nullable: true route: description: 'If set, the plugin will only activate when receiving requests via the specified route. Leave unset for the plugin to activate regardless of the Route being used.' type: object nullable: true properties: id: type: string x-foreign: true service: description: 'If set, the plugin will only activate when receiving requests via one of the routes belonging to the specified Service. Leave unset for the plugin to activate regardless of the Service being matched.' type: object nullable: true properties: id: type: string x-foreign: true tags: description: An optional set of strings associated with the Plugin for grouping and filtering. type: array items: description: A string representing a tag. type: string nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer nullable: true example: config: anonymous: null hide_credentials: false key_in_body: false key_in_header: true key_in_query: true key_names: - apikey run_on_preflight: true enabled: true id: 3fd1eea1-885a-4011-b986-289943ff8177 name: key-auth partials: - id: cff1230a-00f7-4ae8-b376-c370f0eb4dae name: foo-partial path: config.redis - id: 129ee345-cba8-4e55-9d6d-93c223ff91ae name: bar-partial path: config.redis protocols: - grpc - grpcs - http - https additionalProperties: false required: - name PluginWithoutParents: description: 'A Plugin entity represents a plugin configuration that will be executed during the HTTP request/response lifecycle. It is how you can add functionalities to Services that run behind Kong, like Authentication or Rate Limiting for example. You can find more information about how to install and what values each plugin takes by visiting the [Kong Hub](https://docs.konghq.com/hub/). When adding a Plugin Configuration to a Service, every request made by a client to that Service will run said Plugin. If a Plugin needs to be tuned to different values for some specific Consumers, you can do so by creating a separate plugin instance that specifies both the Service and the Consumer, through the `service` and `consumer` fields.' type: object properties: condition: description: 'An expression used for conditional control over plugin execution. If the expression evaluates to `true` during the request flow, the plugin is executed; otherwise, it is skipped.' type: string maxLength: 1024 nullable: true config: description: 'The configuration properties for the Plugin which can be found on the plugins documentation page in the [Kong Hub](https://docs.konghq.com/hub/).' type: object additionalProperties: true nullable: true consumer: description: 'If set, the plugin will activate only for requests where the specified has been authenticated. (Note that some plugins can not be restricted to consumers this way.). Leave unset for the plugin to activate regardless of the authenticated Consumer.' type: object nullable: true properties: id: type: string x-foreign: true consumer_group: description: 'If set, the plugin will activate only for requests where the specified group has been authenticated' type: object nullable: true properties: id: type: string x-foreign: true created_at: description: Unix epoch when the resource was created. type: integer nullable: true enabled: description: Whether the plugin is applied. type: boolean default: true nullable: true id: description: A string representing a UUID (universally unique identifier). type: string minLength: 1 nullable: true instance_name: description: A unique string representing a UTF-8 encoded name. type: string nullable: true name: description: 'The name of the Plugin that''s going to be added. Currently, the Plugin must be installed in every Kong instance separately.' type: string minLength: 1 ordering: type: object nullable: true properties: after: type: object properties: access: type: array items: type: string before: type: object properties: access: type: array items: type: string partials: description: A list of partials to be used by the plugin. type: array items: properties: id: description: A string representing a UUID (universally unique identifier). type: string minLength: 1 name: description: A unique string representing a UTF-8 encoded name. type: string path: type: string type: object nullable: true protocols: description: 'A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type. For example, plugins that only work in stream mode will only support `"tcp"` and `"tls"`.' type: array items: description: 'A string representing a protocol, such as HTTP or HTTPS.' enum: - grpc - grpcs - http - https - tcp - tls - tls_passthrough - udp - ws - wss type: string x-speakeasy-unknown-values: allow default: - grpc - grpcs - http - https nullable: true route: description: 'If set, the plugin will only activate when receiving requests via the specified route. Leave unset for the plugin to activate regardless of the Route being used.' type: object nullable: true properties: id: type: string x-foreign: true service: description: 'If set, the plugin will only activate when receiving requests via one of the routes belonging to the specified Service. Leave unset for the plugin to activate regardless of the Service being matched.' type: object nullable: true properties: id: type: string x-foreign: true tags: description: An optional set of strings associated with the Plugin for grouping and filtering. type: array items: description: A string representing a tag. type: string nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer nullable: true example: config: anonymous: null hide_credentials: false key_in_body: false key_in_header: true key_in_query: true key_names: - apikey run_on_preflight: true enabled: true id: 3fd1eea1-885a-4011-b986-289943ff8177 name: key-auth partials: - id: cff1230a-00f7-4ae8-b376-c370f0eb4dae name: foo-partial path: config.redis - id: 129ee345-cba8-4e55-9d6d-93c223ff91ae name: bar-partial path: config.redis protocols: - grpc - grpcs - http - https additionalProperties: false required: - name Route: oneOf: - $ref: '#/components/schemas/RouteJson' - $ref: '#/components/schemas/RouteExpression' RouteExpression: description: 'Route entities define rules to match client requests. Each Route is associated with a Service, and a Service may have multiple Routes associated to it. Every request matching a given Route will be proxied to its associated Service. The combination of Routes and Services (and the separation of concerns between them) offers a powerful routing mechanism with which it is possible to define fine-grained entry-points in Kong leading to different upstream services of your infrastructure. You need at least one matching rule that applies to the protocol being matched by the Route.' type: object properties: created_at: description: Unix epoch when the resource was created. type: integer nullable: true expression: description: Use Router Expression to perform route match. This option is only available when `router_flavor` is set to `expressions`. type: string nullable: true https_redirect_status_code: description: 'The status code Kong responds with when all properties of a Route match except the protocol i.e. if the protocol of the request is `HTTP` instead of `HTTPS`. `Location` header is injected by Kong if the field is set to 301, 302, 307 or 308. Note: This config applies only if the Route is configured to only accept the `https` protocol.' type: integer default: 426 enum: - 301 - 302 - 307 - 308 - 426 nullable: true x-speakeasy-unknown-values: allow id: description: A string representing a UUID (universally unique identifier). type: string nullable: true name: description: 'The name of the Route. Route names must be unique, and they are case sensitive. For example, there can be two different Routes named "test" and "Test".' type: string nullable: true path_handling: description: 'Controls how the Service path, Route path and requested path are combined when sending a request to the upstream. See above for a detailed description of each behavior.' type: string default: v0 enum: - v0 - v1 nullable: true x-speakeasy-unknown-values: allow preserve_host: description: 'When matching a Route via one of the `hosts` domain names, use the request `Host` header in the upstream request headers. If set to `false`, the upstream `Host` header will be that of the Service''s `host`.' type: boolean default: false nullable: true priority: description: 'A number used to specify the matching order for expression routes. The higher the `priority`, the sooner an route will be evaluated. This field is ignored unless `expression` field is set.' type: integer default: 0 maximum: 70368744177663 minimum: 0 nullable: true protocols: description: 'An array of the protocols this Route should allow. See the [Route Object](#route-object) section for a list of accepted protocols. When set to only `"https"`, HTTP requests are answered with an upgrade error. When set to only `"http"`, HTTPS requests are answered with an error.' type: array items: description: 'A string representing a protocol, such as HTTP or HTTPS.' enum: - grpc - grpcs - http - https - tcp - tls - tls_passthrough - udp - ws - wss type: string x-speakeasy-unknown-values: allow default: - https minLength: 1 nullable: true request_buffering: description: 'Whether to enable request body buffering or not. With HTTP 1.1, it may make sense to turn this off on services that receive data with chunked transfer encoding.' type: boolean default: true nullable: true response_buffering: description: 'Whether to enable response body buffering or not. With HTTP 1.1, it may make sense to turn this off on services that send data with chunked transfer encoding.' type: boolean default: true nullable: true service: description: The Service this Route is associated to. This is where the Route proxies traffic to. type: object nullable: true properties: id: type: string x-foreign: true strip_path: description: 'When matching a Route via one of the `paths`, strip the matching prefix from the upstream request URL.' type: boolean default: true nullable: true tags: description: An optional set of strings associated with the Route for grouping and filtering. type: array items: description: A string representing a tag. type: string nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer nullable: true additionalProperties: false RouteJson: description: 'Route entities define rules to match client requests. Each Route is associated with a Service, and a Service may have multiple Routes associated to it. Every request matching a given Route will be proxied to its associated Service. The combination of Routes and Services (and the separation of concerns between them) offers a powerful routing mechanism with which it is possible to define fine-grained entry-points in Kong leading to different upstream services of your infrastructure. You need at least one matching rule that applies to the protocol being matched by the Route.' type: object properties: created_at: description: Unix epoch when the resource was created. type: integer nullable: true destinations: description: A list of IP destinations of incoming connections that match this Route when using stream routing. Each entry is an object with fields "ip" (optionally in CIDR range notation) and/or "port". type: array items: properties: ip: description: 'A string representing an IP address or CIDR block, such as 192.168.1.1 or 192.168.0.0/16.' type: string port: description: 'An integer representing a port number between 0 and 65535, inclusive.' type: integer maximum: 65535 minimum: 0 type: object nullable: true headers: description: 'One or more lists of values indexed by header name that will cause this Route to match if present in the request. The `Host` header cannot be used with this attribute: hosts should be specified using the `hosts` attribute. When `headers` contains only one value and that value starts with the special prefix `~*`, the value is interpreted as a regular expression.' type: object additionalProperties: items: type: string type: array nullable: true hosts: description: A list of domain names that match this Route. Note that the hosts value is case sensitive. type: array items: type: string nullable: true https_redirect_status_code: description: 'The status code Kong responds with when all properties of a Route match except the protocol i.e. if the protocol of the request is `HTTP` instead of `HTTPS`. `Location` header is injected by Kong if the field is set to 301, 302, 307 or 308. Note: This config applies only if the Route is configured to only accept the `https` protocol.' type: integer default: 426 enum: - 301 - 302 - 307 - 308 - 426 nullable: true x-speakeasy-unknown-values: allow id: description: A string representing a UUID (universally unique identifier). type: string nullable: true methods: description: A list of HTTP methods that match this Route. type: array items: description: 'A string representing an HTTP method, such as GET, POST, PUT, or DELETE. The string must contain only uppercase letters.' type: string nullable: true name: description: 'The name of the Route. Route names must be unique, and they are case sensitive. For example, there can be two different Routes named "test" and "Test".' type: string nullable: true path_handling: description: 'Controls how the Service path, Route path and requested path are combined when sending a request to the upstream. See above for a detailed description of each behavior.' type: string default: v0 enum: - v0 - v1 nullable: true x-speakeasy-unknown-values: allow paths: description: A list of paths that match this Route. type: array items: description: 'A string representing a router path. It must start with a forward slash (''/'') for a fixed path, or the sequence ''~/'' for a regex path. It must not have empty segments.' type: string nullable: true preserve_host: description: 'When matching a Route via one of the `hosts` domain names, use the request `Host` header in the upstream request headers. If set to `false`, the upstream `Host` header will be that of the Service''s `host`.' type: boolean default: false nullable: true protocols: description: 'An array of the protocols this Route should allow. See the [Route Object](#route-object) section for a list of accepted protocols. When set to only `"https"`, HTTP requests are answered with an upgrade error. When set to only `"http"`, HTTPS requests are answered with an error.' type: array items: description: 'A string representing a protocol, such as HTTP or HTTPS.' enum: - grpc - grpcs - http - https - tcp - tls - tls_passthrough - udp - ws - wss type: string x-speakeasy-unknown-values: allow default: - https minLength: 1 nullable: true regex_priority: description: 'A number used to choose which route resolves a given request when several routes match it using regexes simultaneously. When two routes match the path and have the same `regex_priority`, the older one (lowest `created_at`) is used. Note that the priority for non-regex routes is different (longer non-regex routes are matched before shorter ones).' type: integer default: 0 nullable: true request_buffering: description: 'Whether to enable request body buffering or not. With HTTP 1.1, it may make sense to turn this off on services that receive data with chunked transfer encoding.' type: boolean default: true nullable: true response_buffering: description: 'Whether to enable response body buffering or not. With HTTP 1.1, it may make sense to turn this off on services that send data with chunked transfer encoding.' type: boolean default: true nullable: true service: description: The Service this Route is associated to. This is where the Route proxies traffic to. type: object nullable: true properties: id: type: string x-foreign: true snis: description: A list of SNIs that match this Route when using stream routing. type: array items: description: 'A string representing a wildcard host name, such as *.example.com.' type: string nullable: true sources: description: A list of IP sources of incoming connections that match this Route when using stream routing. Each entry is an object with fields "ip" (optionally in CIDR range notation) and/or "port". type: array items: properties: ip: description: 'A string representing an IP address or CIDR block, such as 192.168.1.1 or 192.168.0.0/16.' type: string port: description: 'An integer representing a port number between 0 and 65535, inclusive.' type: integer maximum: 65535 minimum: 0 type: object nullable: true strip_path: description: 'When matching a Route via one of the `paths`, strip the matching prefix from the upstream request URL.' type: boolean default: true nullable: true tags: description: An optional set of strings associated with the Route for grouping and filtering. type: array items: description: A string representing a tag. type: string nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer nullable: true example: hosts: - foo.example.com - foo.example.us id: 56c4566c-14cc-4132-9011-4139fcbbe50a name: example-route paths: - /v1 - /v2 service: id: bd380f99-659d-415e-b0e7-72ea05df3218 additionalProperties: false RouteWithoutParents: oneOf: - $ref: '#/components/schemas/RouteJson' - $ref: '#/components/schemas/RouteExpression' SNI: description: 'An SNI object represents a many-to-one mapping of hostnames to a certificate. That is, a certificate object can have many hostnames associated with it; when Kong receives an SSL request, it uses the SNI field in the Client Hello to lookup the certificate object based on the SNI associated with the certificate.' type: object properties: certificate: description: The id (a UUID) of the certificate with which to associate the SNI hostname. The Certificate must have a valid private key associated with it to be used by the SNI object. type: object properties: id: type: string x-foreign: true created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true name: description: The SNI name to associate with the given certificate. type: string tags: description: An optional set of strings associated with the SNIs for grouping and filtering. type: array items: description: A string representing a tag. type: string nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer nullable: true example: certificate: id: bd380f99-659d-415e-b0e7-72ea05df3218 id: 36c4566c-14cc-4132-9011-4139fcbbe50a name: some.example.org additionalProperties: false required: - name - certificate SNIWithoutParents: description: 'An SNI object represents a many-to-one mapping of hostnames to a certificate. That is, a certificate object can have many hostnames associated with it; when Kong receives an SSL request, it uses the SNI field in the Client Hello to lookup the certificate object based on the SNI associated with the certificate.' type: object properties: certificate: description: The id (a UUID) of the certificate with which to associate the SNI hostname. The Certificate must have a valid private key associated with it to be used by the SNI object. type: object properties: id: type: string x-foreign: true created_at: description: Unix epoch when the resource was created. type: integer nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true name: description: The SNI name to associate with the given certificate. type: string tags: description: An optional set of strings associated with the SNIs for grouping and filtering. type: array items: description: A string representing a tag. type: string nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer nullable: true example: id: 36c4566c-14cc-4132-9011-4139fcbbe50a name: some.example.org additionalProperties: false required: - name Service: description: 'Service entities, as the name implies, are abstractions of each of your own upstream services. Examples of Services would be a data transformation microservice, a billing API, etc. The main attribute of a Service is its URL (where Kong should proxy traffic to), which can be set as a single string or by specifying its `protocol`, `host`, `port` and `path` individually. Services are associated to Routes (a Service can have many Routes associated with it). Routes are entry-points in Kong and define rules to match client requests. Once a Route is matched, Kong proxies the request to its associated Service. See the [Proxy Reference][proxy-reference] for a detailed explanation of how Kong proxies traffic.' type: object properties: ca_certificates: description: 'Array of `CA Certificate` object UUIDs that are used to build the trust store while verifying upstream server''s TLS certificate. If set to `null` when Nginx default is respected. If default CA list in Nginx are not specified and TLS verification is enabled, then handshake with upstream server will always fail (because no CA are trusted).' type: array items: type: string nullable: true client_certificate: description: Certificate to be used as client certificate while TLS handshaking to the upstream server. type: object nullable: true properties: id: type: string x-foreign: true connect_timeout: description: The timeout in milliseconds for establishing a connection to the upstream server. type: integer default: 60000 maximum: 2147483646 minimum: 1 nullable: true created_at: description: Unix epoch when the resource was created. type: integer nullable: true enabled: description: 'Whether the Service is active. If set to `false`, the proxy behavior will be as if any routes attached to it do not exist (404). Default: `true`.' type: boolean default: true nullable: true host: description: The host of the upstream server. Note that the host value is case sensitive. type: string id: description: A string representing a UUID (universally unique identifier). type: string minLength: 1 nullable: true name: description: The Service name. type: string nullable: true path: description: The path to be used in requests to the upstream server. type: string nullable: true port: description: The upstream server port. type: integer default: 80 maximum: 65535 minimum: 0 nullable: true protocol: description: The protocol used to communicate with the upstream. type: string default: http enum: - grpc - grpcs - http - https - tcp - tls - tls_passthrough - udp - ws - wss nullable: true x-speakeasy-unknown-values: allow read_timeout: description: The timeout in milliseconds between two successive read operations for transmitting a request to the upstream server. type: integer default: 60000 maximum: 2147483646 minimum: 1 nullable: true retries: description: The number of retries to execute upon failure to proxy. type: integer default: 5 maximum: 32767 minimum: 0 nullable: true tags: description: An optional set of strings associated with the Service for grouping and filtering. type: array items: description: A string representing a tag. type: string nullable: true tls_sans: description: Additional Subject Alternative Names that can be matched on Upstream server's TLS certificate (in addition to `host`). type: object nullable: true properties: dnsnames: description: A dnsName for TLS verification. type: array items: description: A string representing an SNI (server name indication) value for TLS. type: string uris: description: An URI for TLS verification. type: array items: description: 'A string representing a URL, such as https://example.com/path/to/resource?q=search.' type: string tls_verify: description: 'Whether to enable verification of upstream server TLS certificate. If set to `null`, then the Nginx default is respected.' type: boolean nullable: true tls_verify_depth: description: 'Maximum depth of chain while verifying Upstream server''s TLS certificate. If set to `null`, then the Nginx default is respected.' type: integer maximum: 64 minimum: 0 nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer nullable: true url: description: 'Helper field to set `protocol`, `host`, `port` and `path` using a URL. This field is write-only and is not returned in responses.' type: string writeOnly: true write_timeout: description: The timeout in milliseconds between two successive write operations for transmitting a request to the upstream server. type: integer default: 60000 maximum: 2147483646 minimum: 1 nullable: true example: host: example.internal id: 49fd316e-c457-481c-9fc7-8079153e4f3c name: example-service path: / port: 80 protocol: http additionalProperties: false required: - host Target: description: 'A target is an ip address/hostname with a port that identifies an instance of a backend service. Every upstream can have many targets, and the targets can be dynamically added, modified, or deleted. Changes take effect on the fly. To disable a target, post a new one with `weight=0`; alternatively, use the `DELETE` convenience method to accomplish the same. The current target object definition is the one with the latest `created_at`.' type: object properties: created_at: description: Unix epoch when the resource was created. type: number nullable: true failover: description: Whether to use this target only as backup or not. type: boolean default: false nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true tags: description: An optional set of strings associated with the Target for grouping and filtering. type: array items: description: A string representing a tag. type: string nullable: true target: description: 'The target address (ip or hostname) and port. If the hostname resolves to an SRV record, the `port` value will be overridden by the value from the DNS record.' type: string nullable: true updated_at: description: Unix epoch when the resource was last updated. type: number nullable: true upstream: description: The unique identifier or the name of the upstream for which to update the target. type: object nullable: true properties: id: type: string x-foreign: true weight: description: 'The weight this target gets within the upstream loadbalancer (`0`-`65535`). If the hostname resolves to an SRV record, the `weight` value will be overridden by the value from the DNS record.' type: integer default: 100 maximum: 65535 minimum: 0 nullable: true example: id: 089292a7-ba3d-4d88-acf0-97b4b2e2621a target: 203.0.113.42 upstream: id: 5f1d7e76-2fed-4806-a6af-869984f025cb weight: 100 additionalProperties: false required: - target TargetWithoutParents: description: 'A target is an ip address/hostname with a port that identifies an instance of a backend service. Every upstream can have many targets, and the targets can be dynamically added, modified, or deleted. Changes take effect on the fly. To disable a target, post a new one with `weight=0`; alternatively, use the `DELETE` convenience method to accomplish the same. The current target object definition is the one with the latest `created_at`.' type: object properties: created_at: description: Unix epoch when the resource was created. type: number nullable: true failover: description: Whether to use this target only as backup or not. type: boolean default: false nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true tags: description: An optional set of strings associated with the Target for grouping and filtering. type: array items: description: A string representing a tag. type: string nullable: true target: description: 'The target address (ip or hostname) and port. If the hostname resolves to an SRV record, the `port` value will be overridden by the value from the DNS record.' type: string nullable: true updated_at: description: Unix epoch when the resource was last updated. type: number nullable: true upstream: description: The unique identifier or the name of the upstream for which to update the target. type: object nullable: true properties: id: type: string x-foreign: true weight: description: 'The weight this target gets within the upstream loadbalancer (`0`-`65535`). If the hostname resolves to an SRV record, the `weight` value will be overridden by the value from the DNS record.' type: integer default: 100 maximum: 65535 minimum: 0 nullable: true example: id: 089292a7-ba3d-4d88-acf0-97b4b2e2621a target: 203.0.113.42 weight: 100 additionalProperties: false required: - target Upstream: description: 'The upstream object represents a virtual hostname and can be used to loadbalance incoming requests over multiple services (targets). So for example an upstream named `service.v1.xyz` for a Service object whose `host` is `service.v1.xyz`. Requests for this Service would be proxied to the targets defined within the upstream. An upstream also includes a [health checker][healthchecks], which is able to enable and disable targets based on their ability or inability to serve requests. The configuration for the health checker is stored in the upstream object, and applies to all of its targets.' type: object properties: algorithm: description: Which load balancing algorithm to use. type: string default: round-robin enum: - consistent-hashing - latency - least-connections - round-robin - sticky-sessions nullable: true x-speakeasy-unknown-values: allow client_certificate: description: 'If set, the certificate to be used as client certificate while TLS handshaking to the upstream server.' type: object nullable: true properties: id: type: string x-foreign: true created_at: description: Unix epoch when the resource was created. type: integer nullable: true hash_fallback: description: 'What to use as hashing input if the primary `hash_on` does not return a hash (eg. header is missing, or no Consumer identified). Not available if `hash_on` is set to `cookie`.' type: string default: none enum: - consumer - cookie - header - ip - none - path - query_arg - uri_capture nullable: true x-speakeasy-unknown-values: allow hash_fallback_header: description: The header name to take the value from as hash input. Only required when `hash_fallback` is set to `header`. type: string nullable: true hash_fallback_query_arg: description: The name of the query string argument to take the value from as hash input. Only required when `hash_fallback` is set to `query_arg`. type: string minLength: 1 nullable: true hash_fallback_uri_capture: description: The name of the route URI capture to take the value from as hash input. Only required when `hash_fallback` is set to `uri_capture`. type: string minLength: 1 nullable: true hash_on: description: What to use as hashing input. Using `none` results in a weighted-round-robin scheme with no hashing. type: string default: none enum: - consumer - cookie - header - ip - none - path - query_arg - uri_capture nullable: true x-speakeasy-unknown-values: allow hash_on_cookie: description: 'The cookie name to take the value from as hash input. Only required when `hash_on` or `hash_fallback` is set to `cookie`. If the specified cookie is not in the request, Kong will generate a value and set the cookie in the response.' type: string nullable: true hash_on_cookie_path: description: The cookie path to set in the response headers. Only required when `hash_on` or `hash_fallback` is set to `cookie`. type: string default: / nullable: true hash_on_header: description: The header name to take the value from as hash input. Only required when `hash_on` is set to `header`. type: string nullable: true hash_on_query_arg: description: The name of the query string argument to take the value from as hash input. Only required when `hash_on` is set to `query_arg`. type: string minLength: 1 nullable: true hash_on_uri_capture: description: The name of the route URI capture to take the value from as hash input. Only required when `hash_on` is set to `uri_capture`. type: string minLength: 1 nullable: true healthchecks: description: The array of healthchecks. type: object default: active: concurrency: 10 healthy: http_statuses: - 200 - 302 interval: 0 successes: 0 http_path: / https_verify_certificate: true timeout: 1 type: http unhealthy: http_failures: 0 http_statuses: - 429 - 404 - 500 - 501 - 502 - 503 - 504 - 505 interval: 0 tcp_failures: 0 timeouts: 0 passive: healthy: http_statuses: - 200 - 201 - 202 - 203 - 204 - 205 - 206 - 207 - 208 - 226 - 300 - 301 - 302 - 303 - 304 - 305 - 306 - 307 - 308 successes: 0 type: http unhealthy: http_failures: 0 http_statuses: - 429 - 500 - 503 tcp_failures: 0 timeouts: 0 nullable: true properties: active: type: object default: concurrency: 10 healthy: http_statuses: - 200 - 302 interval: 0 successes: 0 http_path: / https_verify_certificate: true timeout: 1 type: http unhealthy: http_failures: 0 http_statuses: - 429 - 404 - 500 - 501 - 502 - 503 - 504 - 505 interval: 0 tcp_failures: 0 timeouts: 0 properties: concurrency: type: integer default: 10 maximum: 2147483648 minimum: 1 headers: description: A map of header names to arrays of header values. type: object additionalProperties: items: type: string type: array healthy: type: object default: http_statuses: - 200 - 302 interval: 0 successes: 0 properties: http_statuses: type: array items: maximum: 999 minimum: 100 type: integer default: - 200 - 302 interval: type: number default: 0 maximum: 65535 minimum: 0 successes: type: integer default: 0 maximum: 255 minimum: 0 http_path: description: 'A string representing a URL path, such as /path/to/resource. Must start with a forward slash (/) and must not contain empty segments (i.e., two consecutive forward slashes).' type: string default: / https_sni: description: A string representing an SNI (server name indication) value for TLS. type: string https_verify_certificate: type: boolean default: true timeout: type: number default: 1 maximum: 65535 minimum: 0 type: type: string default: http enum: - grpc - grpcs - http - https - tcp x-speakeasy-unknown-values: allow unhealthy: type: object default: http_failures: 0 http_statuses: - 429 - 404 - 500 - 501 - 502 - 503 - 504 - 505 interval: 0 tcp_failures: 0 timeouts: 0 properties: http_failures: type: integer default: 0 maximum: 255 minimum: 0 http_statuses: type: array items: maximum: 999 minimum: 100 type: integer default: - 429 - 404 - 500 - 501 - 502 - 503 - 504 - 505 interval: type: number default: 0 maximum: 65535 minimum: 0 tcp_failures: type: integer default: 0 maximum: 255 minimum: 0 timeouts: type: integer default: 0 maximum: 255 minimum: 0 passive: type: object default: healthy: http_statuses: - 200 - 201 - 202 - 203 - 204 - 205 - 206 - 207 - 208 - 226 - 300 - 301 - 302 - 303 - 304 - 305 - 306 - 307 - 308 successes: 0 type: http unhealthy: http_failures: 0 http_statuses: - 429 - 500 - 503 tcp_failures: 0 timeouts: 0 properties: healthy: type: object default: http_statuses: - 200 - 201 - 202 - 203 - 204 - 205 - 206 - 207 - 208 - 226 - 300 - 301 - 302 - 303 - 304 - 305 - 306 - 307 - 308 successes: 0 properties: http_statuses: type: array items: maximum: 999 minimum: 100 type: integer default: - 200 - 201 - 202 - 203 - 204 - 205 - 206 - 207 - 208 - 226 - 300 - 301 - 302 - 303 - 304 - 305 - 306 - 307 - 308 successes: type: integer default: 0 maximum: 255 minimum: 0 type: type: string default: http enum: - grpc - grpcs - http - https - tcp x-speakeasy-unknown-values: allow unhealthy: type: object default: http_failures: 0 http_statuses: - 429 - 500 - 503 tcp_failures: 0 timeouts: 0 properties: http_failures: type: integer default: 0 maximum: 255 minimum: 0 http_statuses: type: array items: maximum: 999 minimum: 100 type: integer default: - 429 - 500 - 503 tcp_failures: type: integer default: 0 maximum: 255 minimum: 0 timeouts: type: integer default: 0 maximum: 255 minimum: 0 threshold: type: number default: 0 maximum: 100 minimum: 0 host_header: description: The hostname to be used as `Host` header when proxying requests through Kong. type: string nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true name: description: 'This is a hostname, which must be equal to the `host` of a Service.' type: string slots: description: 'The number of slots in the load balancer algorithm. If `algorithm` is set to `round-robin`, this setting determines the maximum number of slots. If `algorithm` is set to `consistent-hashing`, this setting determines the actual number of slots in the algorithm. Accepts an integer in the range `10`-`65536`.' type: integer default: 10000 maximum: 65536 minimum: 10 nullable: true sticky_sessions_cookie: description: The cookie name to keep sticky sessions. type: string nullable: true sticky_sessions_cookie_path: description: 'A string representing a URL path, such as /path/to/resource. Must start with a forward slash (/) and must not contain empty segments (i.e., two consecutive forward slashes).' type: string default: / nullable: true tags: description: An optional set of strings associated with the Upstream for grouping and filtering. type: array items: description: A string representing a tag. type: string nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer nullable: true use_srv_name: description: 'If set, the balancer will use SRV hostname(if DNS Answer has SRV record) as the proxy upstream `Host`.' type: boolean default: false nullable: true example: algorithm: round-robin hash_fallback: none hash_on: none hash_on_cookie_path: / healthchecks: active: concurrency: 10 healthy: http_statuses: - 200 - 302 interval: 0 successes: 0 http_path: / https_verify_certificate: true timeout: 1 type: http unhealthy: http_failures: 0 http_statuses: - 429 - 404 - 500 - 501 - 502 - 503 - 504 - 505 interval: 0 tcp_failures: 0 timeouts: 0 passive: healthy: http_statuses: - 200 - 201 - 202 - 203 - 204 - 205 - 206 - 207 - 208 - 226 - 300 - 301 - 302 - 303 - 304 - 305 - 306 - 307 - 308 successes: 0 type: http unhealthy: http_failures: 0 http_statuses: - 429 - 500 - 503 tcp_failures: 0 timeouts: 0 threshold: 0 id: 6eed5e9c-5398-4026-9a4c-d48f18a2431e name: api.example.internal slots: 10000 additionalProperties: false required: - name Vault: description: 'Vault entities are used to configure different Vault connectors. Examples of Vaults are Environment Variables, Hashicorp Vault and AWS Secrets Manager. Configuring a Vault allows referencing the secrets with other entities. For example a certificate entity can store a reference to a certificate and key, stored in a vault, instead of storing the certificate and key within the entity. This allows a proper separation of secrets and configuration and prevents secret sprawl.' type: object properties: config: description: The configuration properties for the Vault which can be found on the vaults' documentation page. type: object additionalProperties: true nullable: true created_at: description: Unix epoch when the resource was created. type: integer nullable: true description: description: The description of the Vault entity. type: string nullable: true id: description: A string representing a UUID (universally unique identifier). type: string nullable: true name: description: 'The name of the Vault that''s going to be added. Currently, the Vault implementation must be installed in every Kong instance.' type: string prefix: description: The unique prefix (or identifier) for this Vault configuration. The prefix is used to load the right Vault configuration and implementation when referencing secrets with the other entities. type: string tags: description: An optional set of strings associated with the Vault for grouping and filtering. type: array items: description: A string representing a tag. type: string nullable: true updated_at: description: Unix epoch when the resource was last updated. type: integer nullable: true example: config: prefix: ENV_PREFIX description: environment variable based vault id: 2747d1e5-8246-4f65-a939-b392f1ee17f8 name: env prefix: env tags: - foo - bar additionalProperties: false required: - name - prefix KonnectCPLegacyBaseError: description: standard error type: object properties: message: description: | A short summary of the problem. type: string readOnly: true title: Error KonnectCPLegacyUnauthorizedError: allOf: - $ref: '#/components/schemas/KonnectCPLegacyBaseError' - type: object properties: message: example: Unauthorized KonnectCPLegacyForbiddenError: allOf: - $ref: '#/components/schemas/KonnectCPLegacyBaseError' - type: object properties: message: example: Forbidden KonnectCPLegacyNotFoundError: allOf: - $ref: '#/components/schemas/KonnectCPLegacyBaseError' - type: object properties: message: example: Not Found KonnectCPLegacyBadRequestError: allOf: - $ref: '#/components/schemas/KonnectCPLegacyBaseError' - type: object properties: message: example: Bad Request KonnectCPLegacyConflictError: allOf: - $ref: '#/components/schemas/KonnectCPLegacyBaseError' - type: object properties: message: example: Conflict requestBodies: GroupMembershipAdd: content: application/json: schema: $ref: '#/components/schemas/GroupMembership' description: Request body for adding a list of child control planes to a control plane group membership. GroupMembershipRemove: content: application/json: schema: $ref: '#/components/schemas/GroupMembership' description: Request body for removing a list of child control planes from a control plane group membership. GroupMembershipUpsert: content: application/json: schema: $ref: '#/components/schemas/GroupMembership' description: Request body for upserting a list of child control planes to a control plane group membership. UpdateImpersonationSettingsRequest: content: application/json: schema: type: object properties: enabled: description: Indicates if user impersonation is allowed for the organization. type: boolean example: true description: The request schema for adding a system account to a team. UpdateUser: description: The request schema for the update user request. content: application/json: schema: type: object properties: full_name: description: The user's full name. type: string example: James C. Woods maxLength: 250 pattern: '^[\w \W]+$' writeOnly: true preferred_name: description: The user's desired name. type: string example: Jimmy maxLength: 250 writeOnly: true CreateTeam: description: |- The request schema for the create team request. If you pass the same `name` and `description` of an existing team in the request, a team with the same `name` and `description` will be created. The two teams will have different `team_id` values to differentiate them. content: application/json: schema: x-speakeasy-entity: Team type: object properties: name: description: A name for the team being created. type: string example: IDM - Developers pattern: '^[\w \W]+$' writeOnly: true description: description: The description of the new team. type: string example: The Identity Management (IDM) team. maxLength: 250 writeOnly: true labels: $ref: '#/components/schemas/Labels' required: - name UpdateTeam: description: The request schema for the update team request. content: application/json: schema: x-speakeasy-entity: Team type: object properties: name: description: The name of the team. type: string example: IDM - Developers pattern: '^[\w \W]+$' writeOnly: true description: description: The description of the team. type: string example: The Identity Management (IDM) API team. maxLength: 250 writeOnly: true labels: $ref: '#/components/schemas/LabelsUpdate' AddUserToTeam: description: The request schema for adding a user to a team. content: application/json: schema: type: object properties: id: description: The user ID for the user being added to a team. type: string format: uuid example: df120cb4-f60b-47bc-a2f8-6a28e6a3c63b writeOnly: true x-speakeasy-name-override: user_id required: - id UpdateTeamMappings: content: application/json: schema: type: object properties: mappings: description: The mappings object. type: array items: type: object properties: group: type: string team_ids: type: array items: type: string example: mappings: - group: Service Developers team_ids: - af91db4c-6e51-403e-a2bf-33d27ae50c0a description: The request schema for updating IdP team mappings. PatchTeamGroupMappings: content: application/json: schema: type: object properties: data: description: The IdP groups to map to the given team. type: array items: type: object properties: team_id: type: string format: uuid groups: type: array items: type: string example: data: - team_id: af91db4c-6e51-403e-a2bf-33d27ae50c0a groups: - Service Developers description: The request schema for a partial update of mappings from Konnect Teams to IdP Groups. CreateIdpTeamGroupMappingRequest: description: Request to create an IDP team group mapping. required: true content: application/json: schema: type: object properties: team_id: description: The Konnect team ID to associate with the identity provider group. type: string format: uuid example: 6801e673-cc10-498a-94cd-4271de07a0d3 group: description: The identity provider group name. Group names are case sensitive. type: string example: Tech Leads required: - team_id - group AssignRole: content: application/json: schema: description: An assigned role is a role that has been assigned to a user or team. type: object properties: role_name: description: The desired role. type: string example: Viewer enum: - Admin - Appearance Maintainer - Application Registration - Certificate Admin - Cloud Gateway Cluster Admin - Cloud Gateway Cluster Viewer - Consumer Admin - Connector - Creator - Debug Session Creator - Deployer - Discovery Admin - Discovery Viewer - Editor - Gateway Service Admin - Integration Admin - Integration Viewer - Key Admin - Maintainer - Network Admin - Network Creator - Network Viewer - Plugin Admin - Plugins Admin - Product Publisher - Publisher - Route Admin - SNI Admin - Scorecard Admin - Scorecard Viewer - Service Admin - Service Creator - Service Viewer - Upstream Admin - Vault Admin - Viewer - Registration Approver - Content Editor - Add On Admin - Add On Viewer x-speakeasy-unknown-values: allow entity_id: description: The ID of the entity. type: string format: uuid example: e67490ce-44dc-4cbd-b65e-b52c746fc26a entity_type_name: description: The type of entity. type: string example: Control Planes enum: - Add Ons - APIs - API Products - Application Auth Strategies - Audit Logs - Control Planes - Dashboards - DCR Providers - Identity - Mesh Control Planes - Networks - Portals - Reports - Service Hub x-speakeasy-unknown-values: allow entity_region: description: Region of the team. type: string example: eu enum: - us - eu - au - me - in - sg - '*' x-speakeasy-unknown-values: allow description: The request schema for assigning a role. InviteUser: content: application/json: schema: type: object properties: email: type: string format: email example: james.c.woods@example.com writeOnly: true required: - email description: |- The request schema for the invite user request. If you pass an `email` that is not already an active user in the request, a fresh invitation email will be created and sent to the new user. CreateSystemAccount: content: application/json: schema: x-speakeasy-entity: SystemAccount type: object properties: name: description: Name of the system account. type: string description: description: Description of the system account. Useful when the system account name is not sufficient to differentiate one system account from another. type: string konnect_managed: description: The system account is managed by Konnect (true/false). type: boolean required: - name - description description: The request schema to create a system account. UpdateSystemAccount: content: application/json: schema: x-speakeasy-entity: SystemAccount type: object properties: name: description: Name of the system account. type: string description: description: Description of the system account. type: string description: The request schema for the update system account request. UpdateSystemAccountAccessToken: content: application/json: schema: x-speakeasy-entity: SystemAccountAccessToken type: object properties: name: description: Name of the system account access token. type: string required: - name CreateSystemAccountAccessToken: content: application/json: schema: x-speakeasy-entity: SystemAccountAccessToken type: object properties: name: type: string expires_at: type: string format: date-time x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/timetypes schemaType: 'timetypes.RFC3339PreciseToSecondType{}' valueType: timetypes.RFC3339PreciseToSecond required: - name - expires_at description: The request body to create a system account access token. AddSystemAccountToTeam: content: application/json: schema: x-speakeasy-entity: SystemAccountTeam type: object properties: id: description: ID of the system account. type: string format: uuid x-speakeasy-name-override: account_id description: The request schema for adding a system account to a team. UpdateAuthenticationSettings: description: The request schema to update an organization's authentication settings. content: application/json: schema: type: object properties: basic_auth_enabled: description: The organization has basic auth enabled. type: boolean example: true oidc_auth_enabled: description: The organization has OIDC disabled. type: boolean example: false saml_auth_enabled: description: The organization has SAML disabled. type: boolean example: false idp_mapping_enabled: description: Whether IdP groups determine the Konnect teams a user has. type: boolean example: true konnect_mapping_enabled: description: Whether a Konnect Identity Admin assigns teams to a user. type: boolean example: false UpdateIdPConfiguration: content: application/json: schema: type: object properties: issuer: type: string format: uri example: 'https://myidp.com/oauth2' login_path: type: string example: myapp client_id: type: string example: YOUR_CLIENT_ID client_secret: type: string example: YOUR_CLIENT_SECRET scopes: type: array items: type: string default: openid default: - email - openid - profile claim_mappings: type: object minProperties: 3 properties: name: type: string example: name default: name email: type: string example: email default: email groups: type: string example: custom-group-claim default: groups description: The request schema for the update IdP configuration request. CreateIdentityProviderRequest: description: | An object representing the configuration for creating a new identity provider. This configuration may pertain to either an OIDC or a SAML identity provider. required: true content: application/json: schema: $ref: '#/components/schemas/CreateIdentityProvider' UpdateIdentityProviderRequest: description: | An object representing the configuration for updating an identity provider. This configuration may pertain to either an OIDC or a SAML identity provider. required: true content: application/json: schema: $ref: '#/components/schemas/UpdateIdentityProvider' PersonalAccessTokenCreateRequest: description: Request body schema for creating personal access tokens. content: application/json: schema: oneOf: - $ref: '#/components/schemas/PersonalAccessTokenCreateRequestWithExpiresAt' - $ref: '#/components/schemas/PersonalAccessTokenCreateRequestWithTTL' PersonalAccessTokenUpdateRequest: description: Request body schema for updating personal access tokens. content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/PATName' minProperties: 1 NotificationUpdateRequest: description: Request body schema for updating notification status. content: application/json: schema: $ref: '#/components/schemas/NotificationUpdatePayload' EventSubscriptionRequest: description: Request body schema for creating/updating event subscription. content: application/json: schema: $ref: '#/components/schemas/EventSubscription' BulkRequest: description: Request body schema for bulk status update. content: application/json: schema: $ref: '#/components/schemas/BulkPayload' CreateDcrProvider: required: true content: application/json: schema: $ref: '#/components/schemas/CreateDcrProviderRequest' UpdateDcrProvider: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateDcrProviderRequest' CreateAppAuthStrategy: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAppAuthStrategyRequest' UpdateAppAuthStrategy: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateAppAuthStrategyRequest' CreateApiRequest: required: true content: application/json: schema: type: object properties: id: description: The API identifier. type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 readOnly: 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 nullable: true 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 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 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 nullable: true readOnly: true attributes: $ref: '#/components/schemas/ApiAttributes' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' spec_content: description: 'The content of the API specification. This is the raw content of the API specification, in json or yaml. By including this field, you can add a API specification without having to make a separate call to update the API specification.' type: string nullable: false writeOnly: true additionalProperties: false required: - name title: API CreateApiPackageRequest: required: true content: application/json: schema: type: object properties: id: description: The API Package identifier. type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 readOnly: true name: description: | The name of your API Package. The `name + version` combination must be unique for each API Package you publish. type: string example: MyAPIPackage maxLength: 255 minLength: 1 description: description: A description of your API Package. Will be visible on your live Portal. type: string nullable: true slug: description: | The unique slug for your API Package, It should be unique across all APIs and API Packages. type: string example: my-api-package-v1 nullable: true pattern: '^[\w-]+$' version: description: An optional version for your API Package. Leave this empty if your API Package is unversioned. type: string maxLength: 255 minLength: 1 nullable: true rate_limiting_config: $ref: '#/components/schemas/RateLimitingConfig' labels: $ref: '#/components/schemas/Labels' attributes: $ref: '#/components/schemas/ApiAttributes' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - name title: API Package 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 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 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 spec: type: object additionalProperties: false properties: content: 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"}}}}}}' type: string 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 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 nullable: true 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 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 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 nullable: true readOnly: true attributes: $ref: '#/components/schemas/ApiAttributes' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false title: API UpdateApiPackageRequest: required: true content: application/json: schema: type: object properties: id: description: The API Package identifier. type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 readOnly: true name: description: | The name of your API Package. The `name + version` combination must be unique for each API Package you publish. type: string example: MyAPIPackage maxLength: 255 minLength: 1 description: description: A description of your API Package. Will be visible on your live Portal. type: string nullable: true slug: description: | The unique slug for your API Package, It should be unique across all APIs and API Packages. type: string example: my-api-package-v1 nullable: true pattern: '^[\w-]+$' version: description: An optional version for your API Package. Leave this empty if your API Package is unversioned. type: string maxLength: 255 minLength: 1 nullable: true rate_limiting_config: $ref: '#/components/schemas/RateLimitingConfig' labels: $ref: '#/components/schemas/LabelsUpdate' attributes: $ref: '#/components/schemas/ApiAttributes' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false title: API Package UpdateApiPackageOperationRequest: required: true content: application/json: schema: $ref: '#/components/schemas/APIPackageJSONPatchOperation' 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' PutApiPackagePublicationRequest: required: true content: application/json: schema: $ref: '#/components/schemas/ApiPackagePublication' CreateApiImplementationRequest: required: true content: application/json: schema: $ref: '#/components/schemas/ApiImplementation' MoveDocumentRequest: required: true description: move document content: application/json: schema: $ref: '#/components/schemas/MoveDocumentRequestPayload' ValidateApiSpecRequest: required: true description: Specification content and type for validation. content: application/json: schema: $ref: '#/components/schemas/ValidateApiSpecRequestPayload' ReplaceApiImageRequest: required: true description: Request body to upload an image base64 dataURI for API. content: application/json: schema: $ref: '#/components/schemas/ReplaceImageRequestSchema' ReplaceApiPackageImageRequest: required: true description: Request body to upload an image base64 dataURI for API. content: application/json: schema: $ref: '#/components/schemas/ReplaceImageRequestSchema' CreatePortalIdpTeamGroupMapping: description: Create a team group mapping for an identity provider. required: true content: application/json: schema: $ref: '#/components/schemas/CreatePortalIdpTeamGroupMappingRequest' 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 maxLength: 512 nullable: true 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 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 nullable: true 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 canonical_domain: description: The canonical domain of the developer portal type: string format: hostname nullable: false readOnly: true labels: $ref: '#/components/schemas/LabelsUpdate' additionalProperties: false required: - name title: Portal 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 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 maxLength: 512 nullable: true 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 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 nullable: true 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 canonical_domain: description: The canonical domain of the developer portal type: string format: hostname nullable: false readOnly: true labels: $ref: '#/components/schemas/LabelsUpdate' additionalProperties: false title: Portal UpdateDeveloper: description: Update a developer. required: true content: application/json: schema: $ref: '#/components/schemas/UpdateDeveloperRequest' ReplacePortalImageAsset: description: Update an image asset for the portal. required: true content: application/json: schema: $ref: '#/components/schemas/ReplacePortalImageAsset' ReplacePortalCustomization: content: application/json: schema: $ref: '#/components/schemas/PortalCustomization' ReplacePortalIntegrations: content: application/json: schema: $ref: '#/components/schemas/PortalIntegrations' UpdatePortalIntegrations: content: application/json: schema: $ref: '#/components/schemas/UpdatePortalIntegrations' CreatePortalPage: description: Create a page in a portal. required: true content: application/json: schema: $ref: '#/components/schemas/CreatePortalPageRequest' UpdatePortalPage: description: Update a page in a portal. required: true content: application/json: schema: $ref: '#/components/schemas/UpdatePortalPageRequest' MovePage: description: move page content: application/json: schema: $ref: '#/components/schemas/MovePageRequestPayload' CreatePortalSnippet: description: Create a snippet in a portal. required: true content: application/json: schema: $ref: '#/components/schemas/CreatePortalSnippetRequest' UpdatePortalSnippet: description: Update a snippet in a portal. required: true content: application/json: schema: $ref: '#/components/schemas/UpdatePortalSnippetRequest' UpdateApplicationRegistration: description: Update an application registration. required: true content: application/json: schema: $ref: '#/components/schemas/UpdateApplicationRegistrationRequest' UpdateApplication: description: Update an application. required: true content: application/json: schema: $ref: '#/components/schemas/UpdateApplicationRequest' ReplacePortalAuditLogReplayJob: description: The request schema to replace a portal audit log replay job. content: application/json: schema: type: object properties: start_at: description: |- The start of a date-time range in RFC3339 format e.g. 2017-07-21T17:32:28Z. Must be within the last 7 days. type: string format: date-time end_at: description: |- The end of a date-time range in RFC3339 format e.g. 2017-07-21T17:32:28Z. Must be within the last 7 days. type: string format: date-time required: - start_at - end_at 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 PortalUpdateTeam: description: Update a team in a portal. content: application/json: schema: $ref: '#/components/schemas/PortalUpdateTeamRequest' PortalCreateTeam: description: Create a team in a portal. content: application/json: schema: $ref: '#/components/schemas/PortalCreateTeamRequest' UpdatePortalTeamGroupMappings: content: application/json: schema: $ref: '#/components/schemas/PortalTeamGroupMappingsUpdateRequest' UpdatePortalAuthenticationSettings: description: Update a portal's developer authentication settings. content: application/json: schema: $ref: '#/components/schemas/PortalAuthenticationSettingsUpdateRequest' PortalAssignRole: description: Assign a role to a team. content: application/json: schema: $ref: '#/components/schemas/PortalAssignRoleRequest' AddDeveloperToTeam: description: Add a developer to a team. content: application/json: schema: $ref: '#/components/schemas/AddDeveloperToTeamRequest' PatchCustomPortalEmailTemplatePayload: description: Update a custom portal email template. required: true content: application/json: schema: type: object properties: content: $ref: '#/components/schemas/EmailTemplateContent' enabled: description: Whether the email template is enabled or disabled for a portal type: boolean default: true PatchPortalEmailConfigPayload: description: Update a portal email configured. content: application/json: schema: $ref: '#/components/schemas/PatchPortalEmailConfig' PostPortalEmailConfigPayload: description: Create a portal email configuration. required: true content: application/json: schema: $ref: '#/components/schemas/PostPortalEmailConfig' PostSendTestEmailPayload: description: Send a test email using a custom email template. required: true content: application/json: schema: type: object properties: content: $ref: '#/components/schemas/SendTestEmailTemplateContent' required: - content CreatePortalSourceIPRestriction: content: application/json: schema: type: object properties: allowed_ips: $ref: '#/components/schemas/PortalAllowedIPs' additionalProperties: false required: - allowed_ips UpdatePortalSourceIPRestriction: content: application/json: schema: type: object properties: allowed_ips: $ref: '#/components/schemas/PortalAllowedIPs' additionalProperties: false minProperties: 1 CreateCatalogServiceRequest: required: true content: application/json: schema: $ref: '#/components/schemas/CreateCatalogService' UpdateCatalogServiceRequest: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateCatalogService' CreateIntegrationInstanceRequest: required: true content: application/json: schema: $ref: '#/components/schemas/CreateIntegrationInstance' UpdateIntegrationInstanceRequest: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateIntegrationInstance' CreateIntegrationInstanceAuthCredentialRequest: required: true content: application/json: schema: $ref: '#/components/schemas/CreateIntegrationInstanceAuthCredential' UpsertIntegrationInstanceAuthConfigRequest: required: true content: application/json: schema: $ref: '#/components/schemas/UpsertIntegrationInstanceAuthConfig' UpdateCatalogResourceRequest: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateCatalogResource' CreateCatalogResourceMappingRequest: required: true content: application/json: schema: $ref: '#/components/schemas/CreateCatalogResourceMapping' CreateScorecardRequest: required: true content: application/json: schema: $ref: '#/components/schemas/CreateScorecard' UpdateScorecardRequest: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateScorecard' CreateCatalogServiceApiMappingBody: description: Request body schema for creating a new API mapping for catalog service. required: true content: application/json: schema: type: object properties: api_id: description: The ID of the API Entity to map. type: string format: uuid additionalProperties: false required: - api_id 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: |- **Pre-release Feature** This feature is currently in beta and is subject to change. 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' x-min-runtime-version: '1.2' 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: |- **Pre-release Feature** This feature is currently in beta and is subject to change. 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' x-min-runtime-version: '1.2' 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 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' CreateEventGatewayListenerPolicyRequest: description: The request schema for creating a listener policy. required: true content: application/json: schema: $ref: '#/components/schemas/EventGatewayListenerPolicyCreate' UpdateEventGatewayListenerPolicyRequest: description: The request schema for updating a listener policy. required: true content: application/json: schema: $ref: '#/components/schemas/EventGatewayListenerPolicyUpdate' PatchEventGatewayPolicyRequest: description: The request schema for patching a policy. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicyPatch' PatchEventGatewayListenerPolicyRequest: description: The request schema for patching a listener policy. content: application/json: schema: $ref: '#/components/schemas/EventGatewayListenerPolicyPatch' CreateEventGatewayConsumePolicyRequest: description: The request schema for creating a consume policy. content: application/json: schema: $ref: '#/components/schemas/EventGatewayConsumePolicyCreate' UpdateEventGatewayConsumePolicyRequest: description: The request schema for updating a consume policy. content: application/json: schema: $ref: '#/components/schemas/EventGatewayConsumePolicyUpdate' CreateEventGatewayProducePolicyRequest: description: The request schema for creating a produce policy. content: application/json: schema: $ref: '#/components/schemas/EventGatewayProducePolicyCreate' UpdateEventGatewayProducePolicyRequest: description: The request schema for updating a produce policy. content: application/json: schema: $ref: '#/components/schemas/EventGatewayProducePolicyUpdate' CreateEventGatewayClusterPolicyRequest: description: The request schema for creating a cluster-level policy. content: application/json: schema: $ref: '#/components/schemas/EventGatewayClusterPolicyModify' UpdateEventGatewayClusterPolicyRequest: description: The request schema for updating a cluster-level policy. content: application/json: schema: $ref: '#/components/schemas/EventGatewayClusterPolicyModify' 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 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 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 UpdateEventGatewayPolicyChainRequest: description: The request schema for updating the policy chain. content: application/json: schema: type: object properties: policies: type: array items: $ref: '#/components/schemas/EventGatewayPolicyReference' required: - policies DataPlaneClientCertificateRequest: content: application/json: schema: type: object properties: cert: description: JSON escaped string of the certificate. type: string title: description: Title for the certificate. type: string required: - cert description: Request body for creating a dp-client-certificate. create-plugin-schemas: content: application/json: schema: x-speakeasy-entity: GatewayCustomPluginSchema type: object properties: lua_schema: description: | The custom plugin schema; `jq -Rs '.' schema.lua`. type: string example: 'return { name = "myplugin", fields = { { config = { type = "record", fields = { } } } } }' required: - lua_schema CreateConfigStoreRequest: required: true content: application/json: schema: $ref: '#/components/schemas/CreateConfigStore' CreateConfigStoreSecretRequest: required: true content: application/json: schema: $ref: '#/components/schemas/CreateConfigStoreSecret' UpdateConfigStoreRequest: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateConfigStore' UpdateConfigStoreSecretRequest: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateConfigStoreSecret' responses: RetrieveControlPlaneResponse: description: A response to retrieving a single control plane. content: application/json: schema: $ref: '#/components/schemas/ControlPlane' CreateControlPlaneResponse: description: A response to creating a control plane. content: application/json: schema: $ref: '#/components/schemas/ControlPlane' UpdateControlPlaneResponse: description: A response to updating a control plane. content: application/json: schema: $ref: '#/components/schemas/ControlPlane' ListControlPlanesResponse: description: A paginated list response for a collection of control planes. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: x-speakeasy-entity: GatewayControlPlaneList type: array items: $ref: '#/components/schemas/ControlPlane' additionalProperties: false required: - meta - data title: ListControlPlanesResponse ControlPlanesBadRequest: description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' ControlPlanePermissionDenied: description: Permission denied content: application/problem+json: schema: $ref: '#/components/schemas/ForbiddenError' ControlPlaneUnauthenticated: description: Unauthenticated content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' ControlPlaneNotFound: description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/NotFoundError' ControlPlaneConflict: description: Conflict content: application/problem+json: schema: $ref: '#/components/schemas/ConflictError' InternalServerError: description: Internal Server Error content: application/problem+json: schema: description: The error response object. type: object properties: status: description: The HTTP status code. type: integer format: int32 example: 500 enum: - 500 x-go-type: int32 title: description: The error response code. type: string example: Internal Server Error instance: description: The Konnect traceback code type: string example: 'konnect:trace:2287285207635123011' detail: description: Details about the error. type: string example: Could not propagate control plane changes to control plane cluster service. required: - status - title - instance title: InternalServerError ServiceUnavailable: description: Service Unavailable content: application/problem+json: schema: description: Error response for temporary service unavailability. type: object properties: status: description: The HTTP status code. type: integer format: int32 example: 503 enum: - 503 x-go-type: int32 title: description: The error response code. type: string example: Service Unavailable instance: description: The Konnect traceback code type: string example: 'konnect:trace:2287285207635123011' detail: description: Details about the error. type: string example: Could not retrieve permissions to check resource accessibility. required: - status - title - instance title: ServiceUnavailableError ListGroupMemberships: description: A paginated list response for a collection of control plane group memberships. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/CursorPaginatedMetaWithSizeAndTotal' data: description: Array of control planes summary who are a child to this control plane group. type: array items: $ref: '#/components/schemas/ControlPlane' required: - meta - data GetGroupStatus: description: 'Status of a control plane group, including existing conflicts.' content: application/json: schema: type: object properties: item: $ref: '#/components/schemas/GroupStatus' GetGroupMemberStatus: description: Determines the group membership status of a control plane. content: application/json: schema: $ref: '#/components/schemas/GroupMemberStatus' Internal: description: Internal content: application/problem+json: schema: $ref: '#/components/schemas/BaseError' BadRequest: description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' Unauthorized: description: Unauthorized content: application/problem+json: schema: description: The error response object. type: object properties: status: description: The HTTP status code. type: integer example: 403 title: description: The Error Response. type: string example: Unauthorized instance: description: The Konnect traceback code. type: string example: 'konnect:trace:952172606039454040' detail: description: Details about the error response. type: string example: You do not have permission to perform this action $ref: '#/components/schemas/UnauthorizedError' title: Unauthorized Response 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' NotAvailable: description: Service not available content: application/problem+json: schema: $ref: '#/components/schemas/BaseError' GetImpersonationSettingsResponse: description: Response for Get Impersonation Settings endpoint content: application/json: schema: type: object properties: enabled: description: The organization has user impersonation enabled. type: boolean example: true title: Get Impersonation Settings Response UpdateImpersonationSettingsResponse: description: Response for Update Impersonation Settings endpoint content: application/json: schema: type: object properties: enabled: description: The organization has user impersonation enabled. type: boolean example: true title: Update Impersonation Settings Response UserSingle: description: A get action response of a single user. content: application/json: schema: $ref: '#/components/schemas/User' UserCollection: description: A paginated list response for a collection of users. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/User' title: User Collection Response TeamSingle: description: A response including a single team. content: application/json: schema: $ref: '#/components/schemas/Team' TeamCollection: description: A paginated list response for a collection of users. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/Team' title: Team Collection Response TeamMappingCollection: description: A paginated list response for a collection of team mappings. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/TeamMapping' title: Team Mapping Collection Response TeamGroupMappingCollection: description: A paginated collection of mappings grouped by team_id. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/TeamGroupMapping' title: Team Group Mapping Collection Response IdpTeamGroupMapping: description: A single team group mapping. content: application/json: schema: $ref: '#/components/schemas/IdpTeamGroupMapping' IdpTeamGroupMappingsCollection: description: A paginated collection of IDP team group mappings. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/CursorMeta' data: type: array items: $ref: '#/components/schemas/IdpTeamGroupMapping' AssignedRoleSingle: description: A get action response of a single assigned role. content: application/json: schema: $ref: '#/components/schemas/AssignedRole' AssignedRoleCollection: description: A paginated list response for a collection of assigned roles. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: description: An Array type: array items: $ref: '#/components/schemas/AssignedRole' title: Assigned Role Collection Response AuthenticationSettings: description: Response for authentication settings endpoint content: application/json: schema: type: object properties: basic_auth_enabled: description: The organization has basic auth enabled. type: boolean example: true oidc_auth_enabled: description: The organization has OIDC disabled. type: boolean example: false saml_auth_enabled: description: The organization has SAML disabled. type: boolean example: false idp_mapping_enabled: description: IdP groups determine the Konnect teams a user has. type: boolean example: true konnect_mapping_enabled: description: A Konnect Identity Admin assigns teams to a user. type: boolean example: false title: Authentication Settings Response IdentityBadRequest: description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' IdentityConflict: description: Conflict content: application/problem+json: schema: $ref: '#/components/schemas/ConflictError' CreateIdentityProviderPermissionDenied: description: Permission denied content: application/problem+json: schema: $ref: '#/components/schemas/ForbiddenError' IdentityPermissionDenied: description: Permission denied content: application/problem+json: schema: $ref: '#/components/schemas/ForbiddenError' PreconditionFailed: description: Precondition Failed content: application/problem+json: schema: description: The error response object. type: object properties: status: description: The HTTP status code. type: integer example: 412 title: description: The error response code. type: string example: Precondition Failed instance: description: The Konnect traceback code. type: string example: 'konnect:trace:1896611024257578096' detail: description: Details about the error response. type: string example: IdP configuration not found title: Precondition Failed Response RateLimited: description: Rate Limited content: application/problem+json: schema: description: The error object type: object properties: status: description: The HTTP response code type: integer example: 429 title: description: The Error response type: string example: Rate Limited instance: description: The Konnect traceback ID. type: string example: 'konnect:trace:3674017986744198214' detail: description: Detailed explanation of the error response. type: string example: Too many requests title: Rate Limited Response IdentityUnauthenticated: description: Unauthenticated content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' IdentityNotFound: description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/NotFoundError' TeamMappingResponse: description: A paginated list response for a collection of team mappings. content: application/json: schema: type: object properties: meta: description: Contains pagination data. type: object properties: page: description: The page object. type: object properties: number: description: Page number. type: integer example: 1 size: description: Page size. type: integer example: 9 total: description: Total number of results. type: integer example: 5 data: type: array items: type: object properties: group: description: Group names. type: string example: 111(@&*$)(@*#_@(gfds re gdsf dfg team_ids: description: Team ID's that belong to the specified group. type: array items: type: string example: 3df49db8-39ff-490d-9fe1-251a3361fb13 title: Team Mapping Response Roles: description: 'The predefined, or system managed, roles.' content: application/json: schema: type: object properties: control_planes: type: object additionalProperties: false properties: name: type: string enum: - Control Planes roles: type: object properties: admin: type: object additionalProperties: false properties: name: type: string enum: - Admin description: type: string example: This role grants full write access to all entities within a control plane. enum: - This role grants full write access to all entities within a control plane. required: - name - description certificate_admin: type: object additionalProperties: false properties: name: type: string enum: - Certificate Admin description: type: string example: This role grants full write access to administer certificates. enum: - This role grants full write access to administer certificates. required: - name - description consumer_admin: type: object additionalProperties: false properties: name: type: string enum: - Consumer Admin description: description: This role grants full write access to administer Consumers. Can configure plugins and view plugin partials for Consumers they have access to. Cannot create or modify global plugins or plugins outside their scope. type: string example: This role grants full write access to administer consumers. enum: - This role grants full write access to administer consumers. required: - name - description creator: type: object additionalProperties: false properties: name: type: string enum: - Creator description: type: string example: Creates a new Control Plane in an organization. The creator becomes the owner of the Control Plane they create. enum: - Creates a new Control Plane in an organization. The creator becomes the owner of the Control Plane they create. required: - name - description debug_session_creator: type: object additionalProperties: false properties: name: type: string enum: - Debug Session Creator description: type: string example: This role grants access to create debug sessions. This role also grants read-only access to all entities within a control plane. enum: - This role grants access to create debug sessions. This role also grants read-only access to all entities within a control plane. required: - name - description deployer: type: object additionalProperties: false properties: name: type: string enum: - Deployer description: type: string example: 'This role grants full write access to administer services, routes and plugins necessary to deploy services in Service Hub.' enum: - 'This role grants full write access to administer services, routes and plugins necessary to deploy services in Service Hub.' required: - name - description gateway_service_admin: type: object additionalProperties: false properties: name: type: string enum: - Gateway Service Admin description: description: This role grants full write access to administer Gateway Services. Can configure plugins and view plugin partials for Services they have access to. Cannot create or modify global plugins or plugins outside their scope. type: string example: This role grants full write access to administer gateway services. enum: - This role grants full write access to administer gateway services. required: - name - description plugin_admin: type: object additionalProperties: false properties: name: type: string enum: - Plugin Admin description: description: 'Can configure plugins at any scope (global, Service, Route, or Consumer) within a Control Plane Group. Also has write access to plugin partials.' type: string example: This role grants full write access to administer plugins. enum: - This role grants full write access to administer plugins. required: - name - description route_admin: type: object additionalProperties: false properties: name: type: string enum: - Route Admin description: description: This role grants full write access to administer Routes. Can configure plugins and view plugin partials for Routes they have access to. Cannot create or modify global plugins or plugins outside their scope. type: string example: This role grants full write access to administer routes. enum: - This role grants full write access to administer routes. required: - name - description sni_admin: type: object additionalProperties: false properties: name: type: string enum: - SNI Admin description: type: string example: This role grants full write access to administer SNIs. enum: - This role grants full write access to administer SNIs. required: - name - description upstream_admin: type: object additionalProperties: false properties: name: type: string enum: - Upstream Admin description: type: string example: This role grants full write access to administer upstreams. enum: - This role grants full write access to administer upstreams. required: - name - description viewer: type: object additionalProperties: false properties: name: type: string enum: - Viewer description: description: This role grants read-only access to all the configurations of a Control Plane Group and corresponding Data Plane nodes. Includes read-only access to plugin partials within accessible scopes. type: string example: This role grants read only access to all entities within a control plane. enum: - This role grants read only access to all entities within a control plane. required: - name - description required: - name - roles api_products: type: object additionalProperties: false properties: name: type: string enum: - API Products roles: type: object properties: admin: type: object additionalProperties: false properties: name: type: string enum: - Admin description: type: string example: This role grants full write access to an API product and its versions. enum: - This role grants full write access to an API product and its versions. required: - name - description application_registration: type: object additionalProperties: false properties: name: type: string enum: - Application Registration description: type: string example: This role grants permission to enable and disable application registration on an API product. enum: - This role grants permission to enable and disable application registration on an API product. required: - name - description creator: type: object additionalProperties: false properties: name: type: string enum: - Creator description: type: string example: 'This access is required to create API products. This access is not for creating sub-entities such as versions, API specs, etc.' enum: - 'This access is required to create API products. This access is not for creating sub-entities such as versions, API specs, etc.' required: - name - description deployer: type: object additionalProperties: false properties: name: type: string enum: - Deployer description: type: string example: This role grants permission to deploy and remove an API product from a control plane. enum: - This role grants permission to deploy and remove an API product from a control plane. required: - name - description maintainer: type: object additionalProperties: false properties: name: type: string enum: - Maintainer description: type: string example: This role grants all write permission to manage an API product and to administer plugins. enum: - This role grants all write permission to manage an API product and to administer plugins. required: - name - description plugins_admin: type: object additionalProperties: false properties: name: type: string enum: - Plugins Admin description: type: string example: This role grants full write permission to administer plugins. enum: - This role grants full write permission to administer plugins. required: - name - description publisher: type: object additionalProperties: false properties: name: type: string enum: - Publisher description: type: string example: This role grants permission to publish an API product to one or more portals. enum: - This role grants permission to publish an API product to one or more portals. required: - name - description viewer: type: object additionalProperties: false properties: name: type: string enum: - Viewer description: type: string example: Viewer has read-only access to an API product and its sub-entities. enum: - Viewer has read-only access to an API product and its sub-entities. required: - name - description required: - name - roles audit_logs: type: object additionalProperties: false properties: name: type: string enum: - Audit Logs roles: type: object properties: admin: type: object additionalProperties: false properties: name: type: string enum: - Admin description: type: string example: This role grants full write access to the Audit log configuration. enum: - This role grants full write access to the Audit log configuration. required: - name - description required: - name - roles identity: type: object additionalProperties: false properties: name: type: string enum: - Identity roles: type: object properties: admin: type: object additionalProperties: false properties: name: type: string enum: - Admin description: type: string example: This role grants full write access to the Identity configuration. enum: - This role grants full write access to the Identity configuration. required: - name - description required: - name - roles mesh_control_planes: type: object additionalProperties: false properties: name: type: string enum: - Mesh Control Plane roles: type: object properties: admin: type: object additionalProperties: false properties: name: type: string enum: - Admin description: type: string example: This role grants full write access to the related to Mesh control planes. enum: - This role grants full write access to the related to Mesh control planes. required: - name - description connector: type: object additionalProperties: false properties: name: type: string enum: - Connector description: type: string example: This role grants a mesh zone to connect to the mesh control plane in Konnect. enum: - This role grants a mesh zone to connect to the mesh control plane in Konnect. required: - name - description creator: type: object additionalProperties: false properties: name: type: string enum: - Creator description: type: string example: This role grants access to create new Mesh control planes. enum: - This role grants access to create new Mesh control planes. required: - name - description viewer: type: object additionalProperties: false properties: name: type: string enum: - Viewer description: type: string example: This role grants access to read-only permissions to Mesh control planes. enum: - This role grants access to read-only permissions to Mesh control planes. required: - name - description required: - name - roles dashboards: type: object additionalProperties: false properties: name: type: string enum: - Dashboards roles: type: object properties: admin: type: object additionalProperties: false properties: name: type: string enum: - Admin description: type: string example: 'Allows users to edit, delete, and share a Dashboard in Konnect Analytics.' enum: - 'Allows users to edit, delete, and share a Dashboard in Konnect Analytics.' required: - name - description creator: type: object additionalProperties: false properties: name: type: string enum: - Creator description: type: string example: Allows users to create a new Dashboard in Konnect Analytics. enum: - Allows users to create a new Dashboard in Konnect Analytics. required: - name - description editor: type: object additionalProperties: false properties: name: type: string enum: - Editor description: type: string example: Allows users to edit a Dashboard in Konnect Analytics. enum: - Allows users to edit a Dashboard in Konnect Analytics. required: - name - description viewer: type: object additionalProperties: false properties: name: type: string enum: - Viewer description: type: string example: Allows users to view any Dashboards content in Konnect Analytics. enum: - Allows users to view any Dashboards content in Konnect Analytics. required: - name - description required: - name - roles reports: type: object additionalProperties: false properties: name: type: string enum: - Reports roles: type: object properties: admin: type: object additionalProperties: false properties: name: type: string enum: - Admin description: type: string example: 'Allows users to edit, delete, and share a Report in Konnect Analytics.' enum: - 'Allows users to edit, delete, and share a Report in Konnect Analytics.' required: - name - description creator: type: object additionalProperties: false properties: name: type: string enum: - Creator description: type: string example: Allows users to create a new Report in Konnect Analytics. enum: - Allows users to create a new Report in Konnect Analytics. required: - name - description editor: type: object additionalProperties: false properties: name: type: string enum: - Editor description: type: string example: Allows users to edit a Report in Konnect Analytics. enum: - Allows users to edit a Report in Konnect Analytics. required: - name - description viewer: type: object additionalProperties: false properties: name: type: string enum: - Viewer description: type: string example: Allows users to view a Report in Konnect Analytics. enum: - Allows users to view a Report in Konnect Analytics. required: - name - description required: - name - roles title: Roles Response SystemAccountCollection: description: A paginated list response for a collection of system accounts. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/SystemAccount' title: System Account Collection Response SystemAccountSingle: description: A response including a single system account. content: application/json: schema: $ref: '#/components/schemas/SystemAccount' SystemAccountAccessTokenSingle: description: A response including a single system account access token. content: application/json: schema: $ref: '#/components/schemas/SystemAccountAccessToken' SystemAccountAccessTokenCollection: description: A paginated list response for a collection of system accounts access tokens. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/SystemAccountAccessToken' title: System Account Access Token Collection Reponse SystemAccountAccessTokenCreated: description: A response including a single system account access token with the token. content: application/json: schema: x-speakeasy-entity: SystemAccountAccessToken type: object properties: id: description: ID of the system account access token. type: string format: uuid readOnly: true name: description: Name of the system account access token. type: string created_at: description: Timestamp of when the system account access token was created. type: string format: date-time readOnly: true updated_at: description: Timestamp of when the system account access token was last updated. type: string format: date-time readOnly: true expires_at: description: Timestamp of when the system account access token will expire. type: string format: date-time readOnly: true x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/timetypes schemaType: 'timetypes.RFC3339PreciseToSecondType{}' valueType: timetypes.RFC3339PreciseToSecond last_used_at: description: Timestamp of when the system account access token was last used. type: string format: date-time readOnly: true token: description: The token of the system account access token. type: string readOnly: true x-sensitive: true x-speakeasy-param-sensitive: true example: id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 name: Sample Access Token created_at: '2022-08-01T14:16:09Z' updated_at: '2022-08-02T08:35:49Z' expires_at: '2022-12-31T12:52:23Z' last_used_at: '2022-10-24T13:05:42Z' token: spat_12345678901234567890123456789012345678901234567890 title: System Account Access Token Created Response MeOrganization: description: Me Organization content: application/json: schema: type: object properties: id: description: UUID of the organization. type: string format: uuid readOnly: true name: description: Name of the organization. type: string owner_id: description: Owner ID of the organization. type: string login_path: description: Path to organization-specific login when single sign on (SSO) is enabled. Blank otherwise. type: string created_at: description: Date the organization was created. type: string format: date-time readOnly: true updated_at: description: Date the organization was last updated. type: string format: date-time readOnly: true state: description: State of the organization type: string enum: - active - inactive - deleting - deleted x-speakeasy-unknown-values: allow retention_period_days: description: The number of days an organization spends inactive before being deleted. type: integer example: id: d99c041a-c7cf-46a2-bf3a-44bb5f75400e name: string owner_id: 1c9c3848-5897-4f2c-beed-df6f3e3adb37 created_at: '2023-01-23T17:22:52.150Z' updated_at: '2023-01-23T17:22:52.150Z' state: active retention_period_days: 90 title: Me Organization Response IdentityProvider: description: | An identity provider configuration. This response represents the configuration of a specific identity provider, which can be either OIDC or SAML. content: application/json: schema: $ref: '#/components/schemas/IdentityProvider' IdentityProviders: description: | A collection of identity providers. This response contains a collection of identity providers, which may include both OIDC and SAML identity providers. content: application/json: schema: type: array items: $ref: '#/components/schemas/IdentityProvider' title: Identity Provider Collection Response IdPConfiguration: description: A get action response of the IdP configuration. content: application/json: schema: $ref: '#/components/schemas/IdP' PersonalAccessTokenResponse: description: Response containing details of a personal access token. content: application/json: schema: $ref: '#/components/schemas/PersonalAccessToken' PersonalAccessTokenCreateResponse: description: Response containing details of the created personal access token. content: application/json: schema: $ref: '#/components/schemas/PersonalAccessTokenCreateResponse' PersonalAccessTokenListResponse: description: A list response for a collection of personal access tokens. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PageMeta' data: type: array items: $ref: '#/components/schemas/PersonalAccessToken' additionalProperties: false required: - data responses-Unauthorized: description: Unauthorized content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' Conflict: description: Conflict content: application/problem+json: schema: $ref: '#/components/schemas/ConflictError' RetrieveCloudGatewaysAvailabilityDocumentResponse: description: Response format for retrieving the cloud gateways availability JSON document. content: application/json: schema: $ref: '#/components/schemas/AvailabilityDocument' ListNetworkConfigurationReferencesResponse: description: A paginated list for a collection of configurations that reference a network. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/NetworkConfigurationReference' required: - meta - data title: ListNetworkConfigurationReferencesResponse ListConfigurationsResponse: description: A paginated list for a collection of configurations. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/ConfigurationManifest' required: - meta - data title: ListConfigurationsResponse RetrieveConfigurationResponse: description: Response format for retrieving a configuration by ID. content: application/json: schema: $ref: '#/components/schemas/ConfigurationManifest' CreateConfigurationResponse: description: Response format for creating a configuration. content: application/json: schema: $ref: '#/components/schemas/ConfigurationManifest' ListNetworksResponse: description: A paginated list for a collection of networks. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/Network' required: - meta - data title: ListNetworksResponse RetrieveNetworkResponse: description: Response format for retrieving a network. content: application/json: schema: $ref: '#/components/schemas/Network' CreateNetworkResponse: description: Response format for creating a network. content: application/json: schema: $ref: '#/components/schemas/Network' PatchNetworkResponse: description: Response format for patching a network. content: application/json: schema: $ref: '#/components/schemas/Network' CreatePrivateDnsResponse: description: Response format for creating a Private DNS. content: application/json: schema: $ref: '#/components/schemas/PrivateDnsResponse' PatchPrivateDnsResponse: description: Response format for updating a Private DNS. content: application/json: schema: $ref: '#/components/schemas/PrivateDnsResponse' ListPrivateDnsResponse: description: A paginated list for a collection of Private DNS for a network. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/PrivateDnsResponse' required: - meta - data title: ListPrivateDnsResponse RetrievePrivateDnsResponse: description: Response format for retrieving a Private DNS. content: application/json: schema: $ref: '#/components/schemas/PrivateDnsResponse' CreateTransitGatewayResponse: description: Response format for creating a transit gateway. content: application/json: schema: $ref: '#/components/schemas/TransitGatewayResponse' PatchTransitGatewayResponse: description: Response format for updating a transit gateway. content: application/json: schema: oneOf: - $ref: '#/components/schemas/AwsResourceEndpointGatewayResponse' - $ref: '#/components/schemas/AwsTransitGatewayResponse' ListTransitGatewaysResponse: description: A paginated list for a collection of transit gateways for a network. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/TransitGatewayResponse' required: - meta - data title: ListTransitGatewaysResponse RetrieveTransitGatewayResponse: description: Response format for retrieving a transit gateway. content: application/json: schema: $ref: '#/components/schemas/TransitGatewayResponse' ListProviderAccountsResponse: description: A paginated list for a collection of provider accounts. content: application/json: schema: x-speakeasy-entity: CloudGatewayProviderAccountList type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/ProviderAccount' required: - meta - data title: ListCloudGatewayProviderAccountsResponse RetrieveProviderAccountResponse: description: Response format for retrieving a provider account. content: application/json: schema: $ref: '#/components/schemas/ProviderAccount' CreateCustomDomainResponse: description: Response format for creating a custom domain for a control-plane in the global API. content: application/json: schema: $ref: '#/components/schemas/CustomDomain' RetrieveCustomDomainResponse: description: Response format for retrieving a custom domain for a control-plane. content: application/json: schema: $ref: '#/components/schemas/CustomDomain' ListCustomDomainsResponse: description: A paginated list for a collection of custom domains. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/CustomDomain' required: - meta - data title: ListGlobalCustomDomainsResponse RetrieveCustomDomainOnlineStatusResponse: description: Response format for retrieving the CNAME and SSL status of a custom domain. content: application/json: schema: $ref: '#/components/schemas/CustomDomainOnlineStatus' RetrieveResourceQuotaResponse: description: Response format for retrieving a resource quota for an organization. content: application/json: schema: $ref: '#/components/schemas/ResourceQuota' ListResourceQuotasResponse: description: A paginated list for a collection of resource quotas. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/ResourceQuota' required: - meta - data title: ListResourceQuotasResponse ListDefaultResourceQuotasResponse: description: A paginated list for a collection of default resource quotas. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/DefaultResourceQuota' required: - meta - data title: ListDefaultResourceQuotasResponse CloudGatewaysBadRequest: description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' CloudGatewaysForbidden: description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/ForbiddenError' CloudGatewaysConflict: description: Conflict content: application/problem+json: schema: $ref: '#/components/schemas/ConflictError' ListDefaultResourceConfigurationsResponse: description: A paginated list for a collection of default resource configurations. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/DefaultResourceConfiguration' required: - meta - data title: ListDefaultResourceConfigurationsResponse ListResourceConfigurationsResponse: description: A paginated list for a collection of resource configurations. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/ResourceConfiguration' required: - meta - data title: ListResourceConfigurationsResponse RetrieveResourceConfigurationResponse: description: Response format for retrieving a resource configuration for an organization. content: application/json: schema: $ref: '#/components/schemas/ResourceConfiguration' ListAddOnsResponse: description: A paginated list for a collection of add-ons. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/AddOnResponse' required: - meta - data title: ListAddOnsResponse 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' NotificationResponse: description: View a single notification. content: application/json: schema: $ref: '#/components/schemas/Notification' NotificationListResponse: description: A paginated list response for a collection of notifications content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Notification' meta: $ref: '#/components/schemas/ListCursorMeta' additionalProperties: false required: - data - meta UserConfigurationListResponse: description: A paginated list response for all notification events and user subscriptions. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/UserConfiguration' additionalProperties: false required: - data EventSubscriptionListResponse: description: A paginated list response for all subscriptions associated with an event. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/EventSubscriptionResponse' meta: $ref: '#/components/schemas/ListCursorMeta' additionalProperties: false required: - data - meta EventSubscriptionResponse: description: Response containing specific subscription details associated with an event. content: application/json: schema: $ref: '#/components/schemas/EventSubscriptionResponse' CreateDcrProvider: description: A response containing the newly created DCR provider object. content: application/json: schema: $ref: '#/components/schemas/CreateDcrProviderResponse' GetDcrProvider: description: A response containing a single DCR provider object. Sensitive fields will be removed from the response. content: application/json: schema: $ref: '#/components/schemas/DcrProviderResponse' ListDcrProviders: description: A paginated list response for a collection of DCR providers content: application/json: schema: $ref: '#/components/schemas/ListDcrProvidersResponse' VerifyDcrProvider: description: A response containing the result of attempting to verify a DCR provider configuration. content: application/json: schema: $ref: '#/components/schemas/VerifyDcrProviderResponse' CreateAppAuthStrategy: description: A response containing the newly created application auth strategy object. content: application/json: schema: $ref: '#/components/schemas/CreateAppAuthStrategyResponse' GetAppAuthStrategy: description: A response containing a single application auth strategy object. content: application/json: schema: $ref: '#/components/schemas/GetAppAuthStrategyResponse' UpdateAppAuthStrategy: description: A response containing a single updated application auth strategy object. content: application/json: schema: $ref: '#/components/schemas/UpdateAppAuthStrategyResponse' ListAppAuthStrategies: description: A paginated list response for a collection of application auth strategies. content: application/json: schema: $ref: '#/components/schemas/ListAppAuthStrategiesResponse' ApiSlugConflict: description: Conflict - `slug` property must be unique content: application/problem+json: schema: type: object properties: status: type: number title: type: string type: type: string 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' ListApiResponse: description: List of APIs content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/ApiResponseSchema' additionalProperties: false required: - data - meta title: ListApiResponse ApiPackageResponse: description: API Package content: application/json: schema: $ref: '#/components/schemas/ApiPackageResponseSchema' ApiPackageOperationResponse: description: API Package Operation content: application/json: schema: $ref: '#/components/schemas/ApiPackageOperationResponseSchema' ListApiPackagesResponse: description: List of API Packages content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/ApiPackageResponseSchema' additionalProperties: false required: - data - meta title: ListApiPackagesResponse ListApiPackagesOperationsResponse: description: List of API Package Operations content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/ApiPackageOperationResponseSchema' additionalProperties: false required: - data - meta title: ListApiPackageOperationsResponse ApiPackageDocumentResponse: description: API Package 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 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 ListApiPackageDocumentResponse: description: List of API Package documents content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/ApiDocumentSummaryWithChildren' additionalProperties: false required: - data ListApiDocumentResponse: description: List of API documents content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/ApiDocumentSummaryWithChildren' additionalProperties: false required: - data 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 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 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 ListApiSpecResponse: description: List of API specifications (OpenAPI or AsyncAPI) content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: title: API Specification Summary type: object additionalProperties: false properties: id: description: The API specification identifier. type: string format: uuid example: 7710d5c4-d902-410b-992f-18b814155b53 readOnly: true type: $ref: '#/components/schemas/ApiSpecType' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - id - type - created_at - updated_at additionalProperties: false required: - data - meta title: ListApiSpecResponse 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 version: description: The version of the api. type: string example: 1.0.0 spec: type: object additionalProperties: false properties: content: description: | The raw content of your API spec, in json or yaml format (OpenAPI or AsyncAPI). example: '{"openapi":"3.0.3","info":{"title":"Example API","version":"1.0.0"},"paths":{"/example":{"get":{"summary":"Example endpoint","responses":{"200":{"description":"Successful response"}}}}}}' type: string 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-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 created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - id - version - created_at - updated_at title: API Version ListApiVersionResponse: description: List of API specifications (OpenAPI or AsyncAPI) content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: title: API Version Summary type: object additionalProperties: false readOnly: true x-speakeasy-terraform-ignore: true nullable: false properties: id: description: The API version identifier. type: string format: uuid example: 7710d5c4-d902-410b-992f-18b814155b53 readOnly: true version: description: The version of this api spec. type: string spec: type: object additionalProperties: false properties: type: $ref: '#/components/schemas/ApiSpecType' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - id - version - created_at - updated_at additionalProperties: false required: - data - meta title: ListApiSpecResponse ApiPublicationResponse: description: An API publication in a portal content: application/json: schema: description: An API publication in a portal type: object properties: auto_approve_registrations: $ref: '#/components/schemas/AutoApproveRegistrations' auth_strategy_ids: $ref: '#/components/schemas/ApiPublicationAuthStrategyIds' visibility: $ref: '#/components/schemas/ApiPublicationVisibility' warnings: description: Informational warnings (e.g. incompatible fields stripped for ACE). Empty if none. type: array items: type: string readOnly: 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 ListApiPublicationResponse: description: Paginated list of API publications content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/ApiPublicationListItem' additionalProperties: false required: - data - meta title: ListApiPublications ListPublicationResponse: description: Paginated list of publications content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/PublicationListItem' additionalProperties: false required: - data - meta title: ListPublications ApiPackagePublicationResponse: description: An API Package publication in a portal content: application/json: schema: description: An API Package publication in a portal type: object properties: auto_approve_registrations: $ref: '#/components/schemas/AutoApproveRegistrations' auth_strategy_ids: $ref: '#/components/schemas/ApiPublicationAuthStrategyIds' visibility: $ref: '#/components/schemas/ApiPublicationVisibility' warnings: description: Informational warnings (e.g. incompatible fields stripped for ACE). Empty if none. type: array items: type: string readOnly: 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 Package Publication 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 ListApiImplementationsResponse: description: Paginated list of API implementations content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/ApiImplementationListItem' additionalProperties: false required: - data - meta title: ListApiImplementations ListApiAttributesResponse: description: Paginated list of API attributes content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/ApiAttributeListItem' additionalProperties: false required: - data - meta title: ListApiAttributes ValidateApiSpecSuccessResponse: description: API specification (OpenAPI or AsyncAPI) validation successful content: application/json: schema: $ref: '#/components/schemas/ValidateApiSpecSuccessResponse' ApiOperationResponse: description: An API operation content: application/json: schema: $ref: '#/components/schemas/ApiOperation' ListApiOperationResponse: description: Paginated list of API operations content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/ApiOperation' additionalProperties: false required: - data - meta title: ListApiOperations ApiImageResponse: description: ApiImageResponse content: application/json: schema: $ref: '#/components/schemas/APIImage' ApiImageUnauthorized: description: ApiImageUnauthorized content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' ApiImageNotFound: description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/NotFoundError' ApiImageForbidden: description: ApiImageForbidden content: application/problem+json: schema: $ref: '#/components/schemas/ForbiddenError' ApiImageConflict: description: Conflict - The image is currently being updated by another request content: application/problem+json: schema: $ref: '#/components/schemas/ConflictError' ApiPackageImageResponse: description: ApiPackageImageResponse content: application/json: schema: $ref: '#/components/schemas/APIPackageImage' ApiPackageImageUnauthorized: description: ApiPackageImageUnauthorized content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' ApiPackageImageNotFound: description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/NotFoundError' ApiPackageImageForbidden: description: ApiImageForbidden content: application/problem+json: schema: $ref: '#/components/schemas/ForbiddenError' ApiPackageImageConflict: description: Conflict - The image is currently being updated by another request content: application/problem+json: schema: $ref: '#/components/schemas/ConflictError' UnsupportedMediaType: description: Unsupported Media Type content: application/problem+json: schema: $ref: '#/components/schemas/UnsupportedMediaTypeError' PortalIdpTeamGroupMapping: description: A team group mapping for an identity provider. content: application/json: schema: $ref: '#/components/schemas/PortalIdpTeamGroupMapping' PortalIdpTeamGroupMappingCollection: description: A paginated collection of team group mappings. content: application/json: schema: $ref: '#/components/schemas/PortalIdpTeamGroupMappingCollectionResponse' PortalTeamGroupMappingCollection: description: A paginated collection of mappings grouped by team ID. content: application/json: schema: $ref: '#/components/schemas/PortalTeamGroupMappingResponse' PortalAuthenticationSettings: description: Details about a portal's authentication settings. content: application/json: schema: $ref: '#/components/schemas/PortalAuthenticationSettingsResponse' PortalAssignedRole: description: Details about the role assignment. content: application/json: schema: $ref: '#/components/schemas/PortalAssignedRoleResponse' PortalTeam: description: Details about a team of developers in a portal. content: application/json: schema: $ref: '#/components/schemas/PortalTeamResponse' AssignedPortalRoleCollection: description: A paginated collection of assigned roles. content: application/json: schema: $ref: '#/components/schemas/AssignedPortalRoleCollectionResponse' GetDeveloper: description: Details about a developer in a portal. content: application/json: schema: $ref: '#/components/schemas/PortalDeveloper' UpdateDeveloper: description: Details about the developer being updated. content: application/json: schema: $ref: '#/components/schemas/PortalDeveloper' ListDevelopers: description: A paginated list of developers in a portal. content: application/json: schema: $ref: '#/components/schemas/ListDevelopersResponse' ListPortalTeams: description: A paginated list of teams in a portal. content: application/json: schema: $ref: '#/components/schemas/ListPortalTeamsResponse' ListRoles: description: A set of roles available in portals. content: application/json: schema: $ref: '#/components/schemas/ListRolesResponse' ListBasicDevelopers: description: A paginated list of basic developer information. content: application/json: schema: $ref: '#/components/schemas/ListBasicDevelopersResponse' PortalCustomDomain: description: Portal custom domain content: application/json: schema: $ref: '#/components/schemas/PortalCustomDomain' ListPortalsResponse: description: A paginated list of portals in the current region of an organization. content: application/json: schema: type: object properties: data: type: array items: x-speakeasy-entity: Portal title: Portal type: object additionalProperties: false properties: id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' name: 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 maxLength: 512 nullable: true 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 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 nullable: true 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 canonical_domain: description: The canonical domain of the developer portal type: string format: hostname nullable: false readOnly: true labels: $ref: '#/components/schemas/Labels' 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 maxLength: 512 nullable: true 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 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 nullable: true 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 canonical_domain: description: The canonical domain of the developer portal type: string format: hostname nullable: false readOnly: true labels: $ref: '#/components/schemas/Labels' 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 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 PortalAssetResponseRaw: description: 'Logo of the portal. Can be either png, jpeg or svg' content: image/jpeg: schema: $ref: '#/components/schemas/PortalImageAssetBlob' image/png: schema: $ref: '#/components/schemas/PortalImageAssetBlob' image/svg+xml: schema: $ref: '#/components/schemas/PortalImageAssetBlob' PortalCustomizationResponse: description: The current customization options for a portal. content: application/json: schema: $ref: '#/components/schemas/PortalCustomization' PortalIntegrationsResponse: description: The current integration configurations for a portal. content: application/json: schema: $ref: '#/components/schemas/PortalIntegrations' DefaultContentResponse: description: Summary of created default content content: application/json: schema: $ref: '#/components/schemas/DefaultContent' PortalPage: description: Details about a page in a portal. content: application/json: schema: $ref: '#/components/schemas/PortalPageResponse' ListPortalPages: description: Tree of custom pages in a portal (nested `children`). Not paginated. content: application/json: schema: $ref: '#/components/schemas/ListPortalPagesResponse' PortalSnippet: description: Details about a snippet in a portal. content: application/json: schema: $ref: '#/components/schemas/PortalSnippetResponse' ListPortalSnippets: description: A paginated list of custom snippets in a portal. content: application/json: schema: $ref: '#/components/schemas/ListPortalSnippetsResponse' ListApplications: description: A paginated list of applications in a portal. content: application/json: schema: $ref: '#/components/schemas/ListApplicationsResponse' GetApplication: description: Details about an application in a portal. content: application/json: schema: $ref: '#/components/schemas/GetApplicationResponse' ListApplicationCredentials: description: A paginated list of credentials for an application. content: application/json: schema: $ref: '#/components/schemas/ListCredentialsResponse' ListApplicationDevelopers: description: A paginated list developers of an application. content: application/json: schema: $ref: '#/components/schemas/ListApplicationDevelopersResponse' ListApplicationRegistrations: description: A paginated list of application registrations. content: application/json: schema: $ref: '#/components/schemas/ListApplicationRegistrationsResponse' GetApplicationRegistration: description: Details about an application registration. content: application/json: schema: $ref: '#/components/schemas/GetApplicationRegistrationResponse' UpdateApplicationRegistration: description: Details about the application registration being updated. content: application/json: schema: $ref: '#/components/schemas/UpdateApplicationRegistrationResponse' PortalAuditLogWebhook: description: Portal audit log webhook response content: application/json: schema: type: object properties: enabled: 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 PortalAuditLogWebhookStatus: description: Get response for portal audit log webhook status content: application/json: schema: type: object properties: webhook_status: description: |- Current status of a webhook. `active` indicates the webhook is sending or ready to send requests. `inactive` indicates the webhook has been turned off due to failed attempts. type: string example: active enum: - active - inactive x-speakeasy-unknown-values: allow webhook_enabled: description: |- Configured status of a webhook. `enabled` indicates the client will accept requests. `disabled` indicates the client will not accept requests. type: boolean example: true last_attempt_at: description: 'The last time a request was made to the webhook, regardless of outcome.' type: string format: date-time example: '2023-03-21T09:29:14.52Z' last_response_code: description: The last response code received from the webhook. type: integer example: 401 last_response_message: description: The last message received from the webhook. Useful for debugging. type: string example: Unauthenticated PortalAuditLogReplayJob: description: Response from fetching or updating an portal audit log replay job content: application/json: schema: type: object properties: start_at: description: 'The start of a date-time range. Initial value is 0001-01-01T00:00:0Z.' type: string format: date-time example: '2017-07-21T17:32:28Z' end_at: description: 'The end of a date-time range. Initial value is 0001-01-01T00:00:0Z.' type: string format: date-time example: '2017-07-21T17:32:28Z' status: type: string enum: - unconfigured - accepted - pending - running - completed - failed readOnly: true x-speakeasy-unknown-values: allow updated_at: description: 'Timestamp when this job was last updated. Initial value is 0001-01-01T00:00:0Z.' type: string format: date-time readOnly: true PortalReplayJobBadRequest: description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' PortalWebhookBadRequest: description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' PortalReplayJobConflict: description: Conflict content: application/problem+json: schema: $ref: '#/components/schemas/ConflictError' EmailTemplate: description: Successful Retrieval for a portal email template. content: application/json: schema: $ref: '#/components/schemas/EmailTemplate' EmailTemplateVariables: description: Successful response of usable variables for use in portal email templates. content: application/json: schema: $ref: '#/components/schemas/EmailTemplateVariablesList' ListDefaultEmailTemplates: description: A list of the default email templates in a portal. This is a static list that will always be populated. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/DefaultEmailTemplate' additionalProperties: false ListEmailTemplates: description: A list of customized email templates used in a portal. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/EmailTemplate' additionalProperties: false DefaultEmailTemplate: description: Details about a default email template. content: application/json: schema: $ref: '#/components/schemas/DefaultEmailTemplate' PatchEmailTemplateResponse: description: Modifying an email template. content: application/json: schema: $ref: '#/components/schemas/EmailTemplate' PortalEmailConfigResponse: description: Portal email config. content: application/json: schema: $ref: '#/components/schemas/PortalEmailConfig' PortalSourceIPRestrictionPaginatedResponse: description: The portal's IP allow list configuration. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/CursorMetaPage' data: $ref: '#/components/schemas/IPEntries' additionalProperties: false required: - data - meta PortalSourceIPRestriction: description: The portal's IP allow list configuration. content: application/json: schema: $ref: '#/components/schemas/IPEntry' CatalogServiceResponse: description: A response containing a single service object. content: application/json: schema: $ref: '#/components/schemas/CatalogService' ListCatalogServicesResponse: description: A paginated list response for a collection of services. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/CatalogService' additionalProperties: false required: - meta - data ListCatalogIntegrationsResponse: description: A paginated list response for a collection of integrations. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/CatalogIntegration' additionalProperties: false required: - meta - data IntegrationInstanceResponse: description: A response containing a single integration instance object. content: application/json: schema: $ref: '#/components/schemas/IntegrationInstance' ListIntegrationInstancesResponse: description: A paginated list response for a collection of integration instances. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/IntegrationInstance' additionalProperties: false required: - meta - data CatalogResourceMappingResponse: description: A response containing a single catalog resource mapping. content: application/json: schema: $ref: '#/components/schemas/CatalogResourceMapping' ListCatalogResourceMappingsResponse: description: A paginated list response for a collection of catalog resource mappings. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/CatalogResourceMapping' additionalProperties: false required: - meta - data IntegrationInstanceAuthCredentialResponse: description: A response containing an integration instance auth credential. content: application/json: schema: $ref: '#/components/schemas/IntegrationInstanceAuthCredential' IntegrationInstanceAuthConfigResponse: description: A response containing integration instance auth config. content: application/json: schema: $ref: '#/components/schemas/IntegrationInstanceAuthConfig' ListCatalogResourcesResponse: description: A paginated list response for a collection of resources. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/CursorMeta' data: type: array items: $ref: '#/components/schemas/CatalogResource' additionalProperties: false required: - meta - data ListCatalogServiceResourcesResponse: description: A paginated list response for a collection of resources mapped to a service. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/CatalogResource' additionalProperties: false required: - meta - data CatalogResourceResponse: description: A response containing a single resource object. content: application/json: schema: $ref: '#/components/schemas/CatalogResource' ListCriteriaTemplatesResponse: description: A paginated list response for a collection of criteria templates. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/CriteriaTemplate' additionalProperties: false required: - meta - data ListScorecardTemplatesResponse: description: A paginated list response for a collection of scorecard templates. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/ScorecardTemplate' additionalProperties: false required: - meta - data ListScorecardsResponse: description: A paginated list response for a collection of scorecards. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/Scorecard' additionalProperties: false required: - meta - data ScorecardResponse: description: A response containing a single scorecard. content: application/json: schema: $ref: '#/components/schemas/ScorecardWithCriteria' ListScorecardCriteriaResponse: description: A paginated list response for a collection of criteria belonging to a scorecard. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/ScorecardCriteriaWithEvaluation' additionalProperties: false required: - meta - data ListCatalogServiceScorecardsResponse: description: A paginated list response for a collection of scorecards targeting a service. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/Scorecard' additionalProperties: false required: - meta - data CatalogServiceScorecardResponse: description: A response containing a scorecard targeting a service. content: application/json: schema: $ref: '#/components/schemas/CatalogServiceScorecard' ListScorecardServicesResponse: description: A paginated list response for a collection of services targeted by a scorecard. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/ScorecardService' additionalProperties: false required: - meta - data ListScorecardCriteriaServicesResponse: description: A paginated list response for a collection of services targeted by a scorecard criteria. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/ScorecardCriteriaService' additionalProperties: false required: - meta - data CatalogServiceApiMappingResponse: description: A response containing a single catalog service API mapping. content: application/json: schema: $ref: '#/components/schemas/CatalogServiceApiMapping' ListCatalogServiceApiMappingsResponse: description: A paginated list response for a collection of catalog service API mappings. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/CatalogServiceApiMapping' additionalProperties: false required: - meta - data EventGatewayNodeStatus: description: The status of an event gateway node. content: application/json: schema: type: object properties: config_applied_at: description: The time the node succeeds in applying the configuration. type: string format: date-time config_version: description: The version number of the configuration applied by the node. type: string example: v1.123 required: - config_applied_at - config_version ListEventGatewayNodeErrorsResponse: description: A list of errors reported by an event gateway node. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/CursorMeta' data: type: array items: $ref: '#/components/schemas/EventGatewayNodeError' additionalProperties: false required: - meta - data ListEventGatewaysResponse: description: A paginated list response for a collection of gateways. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/CursorMeta' data: type: array items: $ref: '#/components/schemas/EventGatewayInfo' additionalProperties: false required: - meta - data title: ListEventGatewaysResponse ListEventGatewayListenersResponse: description: A paginated list response for a collection of Event Gateway listeners. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/CursorMeta' data: type: array items: $ref: '#/components/schemas/EventGatewayListener' ListVirtualClustersResponse: description: A paginated list response for a collection of virtual clusters. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/CursorMeta' data: type: array items: $ref: '#/components/schemas/VirtualCluster' ListBackendClustersResponse: description: A paginated list response for a collection of backend clusters. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/CursorMeta' data: type: array items: $ref: '#/components/schemas/BackendCluster' ListSchemaRegistriesResponse: description: A paginated list response for a collection of schema registries. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/CursorMeta' data: type: array items: $ref: '#/components/schemas/SchemaRegistry' ListTLSTrustBundlesResponse: description: A paginated list response for a collection of TLS trust bundles. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/CursorMeta' data: type: array items: $ref: '#/components/schemas/TLSTrustBundle' ListEventGatewayListenerPoliciesResponse: description: A list response for a collection of policies associated with an Event Gateway listener. content: application/json: schema: type: array items: $ref: '#/components/schemas/EventGatewayListenerPolicy' ListConsumePoliciesResponse: description: | A paginated list response for a collection of consume policies associated with an Event Gateway virtual cluster. content: application/json: schema: type: array items: $ref: '#/components/schemas/EventGatewayPolicy' ListProducePoliciesResponse: description: | A paginated list response for a collection of produce policies associated with an Event Gateway virtual cluster. content: application/json: schema: type: array items: $ref: '#/components/schemas/EventGatewayPolicy' ListClusterPoliciesResponse: description: | A paginated list response for a collection of cluster-level policies associated with an Event Gateway virtual cluster. content: application/json: schema: type: array items: $ref: '#/components/schemas/EventGatewayPolicy' ListEventGatewayNodesResponse: description: A paginated list response for a collection of nodes associated with an Event Gateway. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/CursorMeta' data: type: array items: $ref: '#/components/schemas/GatewayNode' ListEventGatewayDataPlaneCertificatesResponse: description: A paginated list response for a collection of certificates associated with an Event Gateway. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/CursorMeta' data: type: array items: $ref: '#/components/schemas/EventGatewayDataPlaneCertificate' 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' ListEventGatewayStaticKeysResponse: description: A paginated list response for a collection of static keys. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/CursorMeta' data: type: array items: $ref: '#/components/schemas/EventGatewayStaticKey' EventGatewayPolicyChainResponse: description: A response containing the list of policies in order of execution. content: application/json: schema: type: object properties: policies: type: array items: $ref: '#/components/schemas/EventGatewayPolicyReference' required: - policies Gone: description: Gone content: application/problem+json: schema: $ref: '#/components/schemas/GoneError' MCPServerSignalsResponse: description: The MCP server signals response. content: application/json: schema: $ref: '#/components/schemas/MCPServerSignals' ListMCPServersResponse: description: A response to listing MCP servers. content: application/json: schema: $ref: '#/components/schemas/ListMCPServersResponse' CreateMCPServerResponse: description: A response to creating an MCP server. content: application/json: schema: $ref: '#/components/schemas/MCPServerInfo' ListMCPServersCPInfoResponse: description: A response to listing MCP servers with CP info. content: application/json: schema: $ref: '#/components/schemas/ListMCPServersCPInfoResponse' UpdateMCPServerResponse: description: A response to updating an MCP server. content: application/json: schema: $ref: '#/components/schemas/MCPServerInfo' DataPlaneClientCertificateResponse: description: Response body for retrieving a dp-client-certificate. content: application/json: schema: type: object properties: item: $ref: '#/components/schemas/DataPlaneClientCertificate' GetExpectedConfigHashResponse: description: Response body for retrieving the expected config hash of the control plane. content: application/json: schema: type: object properties: expected_hash: description: The expected configuration hash. type: string created_at: description: Date the control plane configuration was created. type: integer updated_at: description: Date the control plane configuration was last updated. type: integer required: - expected_hash - created_at - updated_at ListDataPlaneCertificatesResponse: description: Example response content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/DataPlaneClientCertificate' page: type: object properties: total: type: integer list-nodes: description: Example response content: application/json: schema: type: object properties: items: type: array items: type: object properties: id: type: string version: type: string hostname: type: string last_ping: type: integer type: type: string created_at: type: integer updated_at: type: integer config_hash: type: string compatibility_status: type: object properties: state: type: string issues: type: array items: $ref: '#/components/schemas/NodeCompatibilityIssue' page: type: object properties: total: type: integer next: type: string list-nodes-eol: description: Example response content: application/json: schema: type: object properties: items: type: array items: type: object properties: node_id: type: string node_version: type: string message: type: string page: type: object properties: total: type: integer get-node: description: Example response content: application/json: schema: type: object properties: item: type: object properties: id: type: string version: type: string hostname: type: string last_ping: type: integer type: type: string created_at: type: integer updated_at: type: integer config_hash: type: string compatibility_status: type: object properties: state: type: string issues: type: array items: $ref: '#/components/schemas/NodeCompatibilityIssue' list-plugin-schemas: description: A paginated list response for a collection of custom plugin schemas. content: application/json: schema: type: object properties: items: type: array items: type: object properties: lua_schema: description: The custom plugin schema; `jq -Rs '.' schema.lua`. type: string example: 'return { name = \"myplugin\", fields = { { config = { type = \"record\", fields = { } } } } }' name: description: The custom plugin name determined by the custom plugin schema. type: string example: myplugin created_at: description: An ISO-8604 timestamp representation of custom plugin schema creation date. type: integer example: 1422386534 updated_at: description: An ISO-8604 timestamp representation of custom plugin schema update date. type: integer example: 1422412345 page: type: object properties: total: type: integer plugin-schemas: description: A response for a single custom plugin schema. content: application/json: schema: type: object properties: item: x-speakeasy-entity: GatewayCustomPluginSchema type: object properties: lua_schema: description: The custom plugin schema; `jq -Rs '.' schema.lua`. type: string example: 'return { name = \"myplugin\", fields = { { config = { type = \"record\", fields = { } } } } }' name: description: The custom plugin name determined by the custom plugin schema. type: string example: myplugin created_at: description: An ISO-8604 timestamp representation of custom plugin schema creation date. type: integer example: 1422386534 updated_at: description: An ISO-8604 timestamp representation of custom plugin schema update date. type: integer example: 1422412345 ListTargets: description: A paginated list response for a collection of targets. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Target' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' ListConfigStoresResponse: description: List of Config Stores content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/CursorMeta' data: type: array items: $ref: '#/components/schemas/ConfigStore' required: - data - meta title: ListConfigStoresResponse ListConfigStoreSecretsResponse: description: List of Config Store Secrets content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/CursorMeta' data: type: array items: $ref: '#/components/schemas/ConfigStoreSecret' required: - data - meta title: ListConfigStoreSecretsResponse ConfigStoreResponse: description: Config Store content: application/json: schema: $ref: '#/components/schemas/ConfigStore' ConfigStoreSecretResponse: description: Config Store Secret content: application/json: schema: $ref: '#/components/schemas/ConfigStoreSecret' ConfigStoreUnauthorized: description: Unauthorized content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' ConfigStoreSecretUnauthorized: description: Unauthorized content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' ConfigStoreNotFound: description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/NotFoundError' ConfigStoreSecretNotFound: description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/NotFoundError' GetPartialSchemaResponse: description: The schema for a partial content: application/json: schema: type: object properties: fields: type: array items: additionalProperties: true type: object GetPluginSchemaResponse: description: The schema for the plugin content: application/json: schema: type: object properties: fields: type: array items: additionalProperties: true type: object HTTP401Error: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/GatewayUnauthorizedError' ValidateEntityResponse: description: Validation result of the request against a schema content: application/json: schema: type: object properties: message: type: string KonnectCPLegacyUnauthorized: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/KonnectCPLegacyUnauthorizedError' KonnectCPLegacyForbidden: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/KonnectCPLegacyForbiddenError' KonnectCPLegacyNotFound: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/KonnectCPLegacyNotFoundError' KonnectCPLegacyBadRequest: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/KonnectCPLegacyBadRequestError' KonnectCPLegacyConflict: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/KonnectCPLegacyConflictError' securitySchemes: personalAccessToken: type: http scheme: bearer bearerFormat: Token description: The personal access token is meant to be used as an alternative to basic-auth when accessing Konnect via APIs. You can generate a Personal Access Token (PAT) from the personal access token page in the Konnect dashboard. systemAccountAccessToken: type: http scheme: bearer bearerFormat: Token description: | The system account access token is meant for automations and integrations that are not directly associated with a human identity. You can generate a system account Access Token by creating a system account and then obtaining a system account access token for that account. The access token must be passed in the header of a request, for example: `curl -X GET 'https://global.api.konghq.com/v2/users/' --header 'Authorization: Bearer spat_i2Ej...'` konnectAccessToken: type: http scheme: bearer bearerFormat: JWT description: The Konnect access token is meant to be used by the Konnect dashboard and the decK CLI to authenticate with. serviceAccessToken: type: http scheme: bearer bearerFormat: JWT description: | The Service access token is meant to be used between internal services. tags: - name: Control Planes - name: Control Plane Groups - name: Auth Settings - name: Invites - name: Roles - name: Team Membership - name: Teams - name: Users - name: System Accounts - name: System Accounts - Access Tokens - name: System Accounts - Roles - name: System Accounts - Team Membership - name: Me - name: Authentication - name: Impersonation Settings - name: Personal Access Tokens - name: Data-Plane Group Configurations - name: Networks - name: Transit Gateways - name: Private DNS - name: Add-Ons - name: Provider Accounts - name: Custom Domains - name: Cloud Gateways Resource Quotas - name: Resource Configurations - name: Resource Availability - name: Notifications description: Operations related to notifications - name: DCR Providers description: | Dynamic Client Registration Providers are configurations representing an external Identity Provider whose clients (i.e. Applications) Konnect will be authorized to manage. For instance, they will be able to perform dynamic client registration (DCR) with the provider. The DCR provider provides credentials to each DCR-enabled application in Konnect that can be used to access Product Versions that the app is registered for. - name: App Auth Strategies description: | Application Auth Strategies are sets of plugin configurations that represent how the gateway will perform authentication and authorization for a Product Version. Called “Auth Strategy” for short in the context of portals/applications. The plugins are synced to any Gateway Service that is currently linked or becomes linked to the Product Version. - name: API - name: API Documentation - name: API Specification - name: API Publication - name: API Image - name: API Implementation - name: API Operations - name: API Attributes - name: API Packages - name: API Package Operations - name: API Package Documentation - name: API Package Image - name: Portals description: APIs related to configuration of Konnect Developer Portals. - name: Portal Custom Domains description: APIs related to configuration of Konnect Developer Portals custom domains. - name: Portal Customization description: APIs related to customization of Konnect Developer Portals. - name: Portal Auth Settings description: APIs related to configuration of Konnect Developer Portal auth settings. - name: Portal Developers description: APIs related to Konnect Developer Portal developers. - name: Portal Teams description: APIs related to configuration of Konnect Developer Portal developer teams. - name: Portal Team Membership description: APIs related to Konnect Developer Portal developer team membership. - name: Portal Team Roles description: APIs related to Konnect Developer Portal developer team roles. - name: Portal Integrations description: APIs to configure Konnect Developer Portal integrations. - name: Assets description: APIs for managing static assets for Konnect Developer Portals. - name: Pages description: APIs related to Konnect Developer Portal Custom Pages. - name: Snippets description: APIs related to Konnect Developer Portal Custom Snippets. - name: Applications description: APIs related to Konnect Developer Portal Applications. - name: Application Registrations description: APIs related to Konnect Developer Portal Application Registrations. - name: Portal Emails description: APIs related to Konnect Developer Portal Emails. - name: Portals IP Allow List description: APIs related to Konnect Portal IP Allow List. - name: Catalog Services description: | Create and maintain a centralized catalog of all services running in your organization. Add custom fields and map resources from across your organization to provide a 360-degree overview of your services. Custom fields allow you to surface key information such as: - `Owner`: The person or team responsible for the service - `Product Manager`: The person assigned to guide the service's direction for customer success - `Jira Project`: The Jira project which represents past, present and future work for the service Resources are discovered from the integrations you use within your organization to create, operate and manage your services. Mapping the resources relevant to your service will provide a rich view of the service's communication channels, dependencies and more. Types of resources which you can map to a service include: - `Code Repositories:` The software project(s) that make up the service - `Monitors and Dashboards:` Tools providing visibility into the health and performance of the service - `Communication Channels`: Virtual spaces where questions and concerns can be raised about the service - `Incident Management Resources`: Alerts setup within your incident management platform to notify individuals regarding issues with the service - name: Catalog Integrations description: | Integrations are applications, either Konnect-internal or external, which extend the functionality of the Service Catalog. Install and authorize an integration to discover the resources across your organization which support your services. Map relevant resources to your services to provide a rich view of cataloged services. To set up and view a list of all the integrations we support please view our [documentation](https://developer.konghq.com/service-catalog/integrations/). - name: Integration Instances description: | An integration instance represents a specific account of the integration which contains the resources used to manage and support your services. Some integrations provide configuration options to customize how it should behave once authorized (see the integration's manifest for details). Konnect-internal integrations are built-in and do not need to be installed. Once an integration instance is created, authorize the instance to allow the Service Catalog to discover its resources. Note that deleting an integration instance is a **destructive** operation. When an integration instance is deleted, all its resources and mappings will be deleted from the service catalog. In cases where the integration instance's credentials need to be updated, you may re-authorize the instance to retain all currently discovered resources and mappings. To set up and view a list of all the integrations we support, please view our [documentation](https://developer.konghq.com/service-catalog/integrations/). - name: Integration Instance Auth Credentials description: | Represents the credentials use to authorize an integration instance. You will want to configure the integration instance settings and authorization configuration before authorizing the instance. This will inform the authorization process on how to reach and authorize the account. Once the integration instance is authorized, the system will automatically discover all the relevant resources from the account. The integration instance's auth credentials can be removed or updated while retaining all resources which have already been discovered. - name: Integration Instance Auth Config description: | A integration instance may need to be provided with an auth config before authorizing the instance. Typically an auth config will be required when authorizing against a integration which is hosted within your organization. The integration instance's auth config will inform how the Service Catalog will authorize the integration instance. Note that updating the auth config for an instance which is already authorized will **remove the existing credential**, requiring you to re-authorize the instance. - name: Catalog Resources description: | Resources are entities discovered from integration instances and are intended to be mapped to the relevant services in the catalog. Once a resource has been mapped to a service, a rich view of this resource will be displayed when viewing your service. Any resources which you would like to ignore and hide can be archived. Note that archiving a resource will **remove** any mappings it has to services in the catalog. You can create Resources using only the properties required to identify the resource in the third-party system. Additional data will be hydrated if the integration that the Resource is linked to has been provided with authentication credentials. Resources which have not yet been hydrated may still be mapped to a Catalog Service. - name: Catalog Resource Mappings description: | Resource mappings represent the link between a resource and a service. Once a resource is mapped to a service, a rich view of the resource will be presented on the service page. A resource may be mapped to multiple services, but it cannot be mapped to the same service twice. If a resource mapped to a service is later archived, the resource mapping will be deleted. - name: Catalog Service Resources description: | Represents all the resources mapped to a specific service. - name: Catalog Resource Services description: | Represents all the services mapped to a specific resource. - name: Criteria Templates description: | Several criteria templates are provided to help ensure your services adhere to industry best practices. A criteria template is a collection of criteria grouped together to target various categories. Criteria may require a specific type of integration be installed and authorized. For example, criteria which evaluates the operation performance across incident management may require a integration related to incident management to be installed and authorized. Learn more about scorecards by visiting our [documentation](https://developer.konghq.com/service-catalog/scorecards/). - name: Scorecards description: | A scorecard helps you evaluate services based on its criteria. Scorecards help you detect issues, like whether there are services in the catalog that don't have an on-call engineer assigned, or if you have GitHub repositories with stale pull requests that aren't getting reviewed or closed. From the scorecard, you can view details on either a per-service or per-criteria basis. Learn more about scorecards by visiting our [documentation](https://developer.konghq.com/service-catalog/scorecards/). - name: Catalog Service API Mappings description: | Service API mappings represent the link between Service and API entities. Once an API is mapped to a Service, a rich view of the linked APIs will be presented on the APIs tab of the Catalog Service. Similarly, Services mapped to an API will be listed on the API overview page under Catalog. An API may be mapped to multiple services, but it cannot be mapped to the same service twice. If a mapped API is unlinked from a Service, the mapping will be deleted. - 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 Nodes - name: OpenMeter Billing description: 'Billing manages the billing profiles, currencies, cost bases, and invoices for customers.' - name: OpenMeter Apps description: 'Apps enable you to extend and customize billing and usage workflows by integrating with external systems and services. Apps can automate and enhance your billing ecosystem by supporting capabilities such as synchronizing usage data with third-party platforms, calculating taxes, generating and delivering invoices, handling payment collection, and other billing-related tasks.' - name: OpenMeter Entitlements description: Entitlements are used to control access to features for customers. - name: OpenMeter Subscriptions description: Subscriptions are used to track usage of your product or service. Subscriptions can be individuals or organizations that can subscribe to plans and have access to features. - name: OpenMeter Customers description: Customers are used to track usage of your product or service. Customers can be individuals or organizations that can subscribe to plans and have access to features. - name: Metering Events description: 'Metering events are used to track usage of your product or service. Events are processed asynchronously by the meters, so they may not be immediately available for querying.' - name: Meters description: 'Meters specify how to aggregate events for billing and analytics purposes. Meters can be configured with multiple aggregation methods and groupings. Multiple meters can be created for the same event type, enabling flexible metering scenarios.' - name: MCP Servers - name: Dashboards - description: DP Nodes name: DP Nodes - description: DP Certificates name: DP Certificates - description: Custom Plugin Schemas name: Custom Plugin Schemas - description: Config Stores name: Config Stores - description: Config Store Secrets name: Config Store Secrets - name: ACLs - name: API-keys - name: Basic-auth credentials - description: |- A CA certificate object represents a trusted certificate authority. These objects are used by Kong Gateway to verify the validity of a client or server certificate. name: CA Certificates - description: | A certificate object represents a public certificate, and can be optionally paired with the corresponding private key. These objects are used by Kong Gateway to handle SSL/TLS termination for encrypted requests, or for use as a trusted CA store when validating peer certificate of client/service. <br><br> Certificates are optionally associated with SNI objects to tie a cert/key pair to one or more hostnames. <br><br> If intermediate certificates are required in addition to the main certificate, they should be concatenated together into one string. name: Certificates - description: |- Consumer groups enable the organization and categorization of consumers (users or applications) within an API ecosystem. By grouping consumers together, you eliminate the need to manage them individually, providing a scalable, efficient approach to managing configurations. name: Consumer Groups - description: | The consumer object represents a consumer - or a user - of a service. You can either rely on Kong Gateway as the primary datastore, or you can map the consumer list with your database to keep consistency between Kong Gateway and your existing primary datastore. name: Consumers - name: CustomPlugins - name: Degraphql_routes - name: GraphQL Cost Decorations - name: HMAC-auth credentials - name: JWTs - description: | A JSON Web key set. Key sets are the preferred way to expose keys to plugins because they tell the plugin where to look for keys or have a scoping mechanism to restrict plugins to specific keys. name: KeySets - description: | A key object holds a representation of asymmetric keys in various formats. When Kong Gateway or a Kong plugin requires a specific public or private key to perform certain operations, it can use this entity. name: Keys - name: MTLS-auth credentials - name: Partial Links - description: 'Some entities in Kong Gateway share common configuration settings that often need to be repeated. For example, multiple plugins that connect to Redis may require the same connection settings. Without Partials, you would need to replicate this configuration across all plugins. If the settings change, you would need to update each plugin individually.' name: Partials - description: |- A plugin entity represents a plugin configuration that will be executed during the HTTP request/response lifecycle. Plugins let you add functionality to services that run behind a Kong Gateway instance, like authentication or rate limiting. You can find more information about available plugins and which values each plugin accepts at the [Plugin Hub](https://developer.konghq.com/plugins/). <br><br> When adding a plugin configuration to a service, the plugin will run on every request made by a client to that service. If a plugin needs to be tuned to different values for some specific consumers, you can do so by creating a separate plugin instance that specifies both the service and the consumer, through the service and consumer fields. name: Plugins - description: | Route entities define rules to match client requests. Each route is associated with a service, and a service may have multiple routes associated to it. Every request matching a given route will be proxied to the associated service. You need at least one matching rule that applies to the protocol being matched by the route. <br><br> The combination of routes and services, and the separation of concerns between them, offers a powerful routing mechanism with which it is possible to define fine-grained entrypoints in Kong Gateway leading to different upstream services of your infrastructure. <br><br> Depending on the protocol, one of the following attributes must be set: <br> - `http`: At least one of `methods`, `hosts`, `headers`, or `paths` - `https`: At least one of `methods`, `hosts`, `headers`, `paths`, or `snis` - `tcp`: At least one of `sources` or `destinations` - `tls`: at least one of `sources`, `destinations`, or `snis` - `tls_passthrough`: set `snis` - `grpc`: At least one of `hosts`, `headers`, or `paths` - `grpcs`: At least one of `hosts`, `headers`, `paths`, or `snis` - `ws`: At least one of `hosts`, `headers`, or `paths` - `wss`: At least one of `hosts`, `headers`, `paths`, or `snis` <br> A route can't have both `tls` and `tls_passthrough` protocols at same time. <br><br> Learn more about the router: - [Configure routes using expressions](https://developer.konghq.com/gateway/routing/expressions/) name: Routes - description: |- An SNI object represents a many-to-one mapping of hostnames to a certificate. <br><br> A certificate object can have many hostnames associated with it. When Kong Gateway receives an SSL request, it uses the SNI field in the Client Hello to look up the certificate object based on the SNI associated with the certificate. name: SNIs - name: Schemas - description: | Service entities are abstractions of your microservice interfaces or formal APIs. For example, a service could be a data transformation microservice or a billing API. <br><br> The main attribute of a service is the destination URL for proxying traffic. This URL can be set as a single string or by specifying its protocol, host, port and path individually. <br><br> Services are associated to routes, and a single service can have many routes associated with it. Routes are entrypoints in Kong Gateway which define rules to match client requests. Once a route is matched, Kong Gateway proxies the request to its associated service. See the [Route documentation](https://developer.konghq.com/gateway/entities/route/) for a detailed explanation of how Kong proxies traffic. <br><br> Services can be both [tagged and filtered by tags](https://developer.konghq.com/admin-api/). name: Services - description: | A target is an IP address or hostname with a port that identifies an instance of a backend service. Every upstream can have many targets, and the targets can be dynamically added, modified, or deleted. Changes take effect on the fly. <br><br> To disable a target, post a new one with `weight=0`, or use the `DELETE` method to accomplish the same. name: Targets - description: |- The upstream object represents a virtual hostname and can be used to load balance incoming requests over multiple services (targets). <br><br> An upstream also includes a [health checker](https://developer.konghq.com/gateway/traffic-control/health-checks-circuit-breakers/), which can enable and disable targets based on their ability or inability to serve requests. The configuration for the health checker is stored in the upstream object, and applies to all of its targets. name: Upstreams - description: | Vault objects are used to configure different vault connectors for [managing secrets](https://developer.konghq.com/gateway/secrets-management/). Configuring a vault lets you reference secrets from other entities. This allows for a proper separation of secrets and configuration and prevents secret sprawl. <br><br> For example, you could store a certificate and a key in a vault, then reference them from a certificate entity. This way, the certificate and key are not stored in the entity directly and are more secure. <br><br> Secrets rotation can be managed using [TTLs](https://developer.konghq.com/gateway/entities/vault/). name: Vaults externalDocs: description: Documentation for Kong Gateway and its APIs url: 'https://developer.konghq.com' security: - personalAccessToken: [] - systemAccountAccessToken: [] - konnectAccessToken: [] - serviceAccessToken: []