diff --git a/openapi.yaml b/openapi.yaml index 8dc158b..fb00857 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -35,6 +35,14 @@ tags: - name: Me - name: Authentication - name: Impersonation Settings + - name: Data-Plane Group Configurations + - name: Networks + - name: Transit Gateways + - name: Provider Accounts + - name: Custom Domains + - name: Resource Quotas + - name: Resource Configurations + - name: Resource Availability - description: DP Nodes name: DP Nodes - description: DP Certificates @@ -245,866 +253,1060 @@ tags: - name: MTLS-auth credentials - name: ACLs paths: - /v2/control-planes: + /v2/cloud-gateways/availability.json: get: - summary: List Control Planes + x-speakeasy-group: CloudGateways + operationId: get-availability-json + summary: Get Resource Availability JSON + description: > + Get Cloud Gateways Availability JSON document for describing cloud + provider and region availability, pricing, + + gateway version availability, and instance type information. + security: [] responses: '200': - $ref: '#/components/responses/ListControlPlanesResponse' - '400': - $ref: '#/components/responses/ControlPlanesBadRequest' - '401': - $ref: '#/components/responses/ControlPlaneUnauthenticated' - '403': - $ref: '#/components/responses/ControlPlanePermissionDenied' - '503': - $ref: '#/components/responses/ServiceUnavailable' - operationId: list-control-planes - description: >- - Returns an array of control plane objects containing information about - the Konnect Control Planes. + $ref: >- + #/components/responses/RetrieveCloudGatewaysAvailabilityDocumentResponse + tags: + - Resource Availability + servers: + - url: https://global.api.konghq.com/ + /v2/cloud-gateways/configurations: + get: + x-speakeasy-group: CloudGateways + summary: List Configurations + description: > + Returns a paginated collection of configurations across control-planes + for an organization (restricted by + + permitted control-plane reads). + operationId: list-configurations parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - - $ref: '#/components/parameters/ControlPlaneFilter' - - $ref: '#/components/parameters/FilterByLabels' - - $ref: '#/components/parameters/ControlPlaneSort' - tags: - - Control Planes - parameters: [] - post: - x-speakeasy-entity-operation: GatewayControlPlane#create - summary: Create Control Plane - operationId: create-control-plane + - $ref: '#/components/parameters/ConfigurationsFilter' responses: - '201': - $ref: '#/components/responses/CreateControlPlaneResponse' + '200': + $ref: '#/components/responses/ListConfigurationsResponse' '400': - $ref: '#/components/responses/ControlPlanesBadRequest' + $ref: '#/components/responses/CloudGatewaysBadRequest' '401': - $ref: '#/components/responses/ControlPlaneUnauthenticated' + $ref: '#/components/responses/Unauthorized' '403': - $ref: '#/components/responses/ControlPlanePermissionDenied' - '409': - $ref: '#/components/responses/ControlPlaneConflict' - '500': - $ref: '#/components/responses/InternalServerError' - '503': - $ref: '#/components/responses/ServiceUnavailable' + $ref: '#/components/responses/Forbidden' tags: - - Control Planes + - Data-Plane Group Configurations + servers: + - url: https://global.api.konghq.com/ + put: + x-speakeasy-group: CloudGateways + x-speakeasy-entity-operation: CloudGatewayConfiguration#create,update + summary: Create Configuration + description: > + Creates a new configuration for a control-plane (restricted by permitted + control-plane permissions for + + configurations). This request will replace any existing configuration + for the requested control_plane_id and + + control_plane_geo by performing a diff. From this diff, new resources + detected in the requested configuration + + will be added, resources not found in the request configuration but in + the previous will be deleted, and + + resources found in both will be updated to the requested configuration. + Networks referenced in this request that + + are in an offline state will automatically initialize (i.e. move to an + initializing state). + operationId: create-configuration requestBody: required: true content: application/json: schema: - $ref: '#/components/schemas/CreateControlPlaneRequest' - description: Create a control plane in the Konnect Organization. - /v2/control-planes/{controlPlaneId}/config-stores: + $ref: '#/components/schemas/CreateConfigurationRequest' + responses: + '200': + $ref: '#/components/responses/CreateConfigurationResponse' + '400': + $ref: '#/components/responses/CloudGatewaysBadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/CloudGatewaysForbidden' + '404': + $ref: '#/components/responses/NotFound' + '409': + $ref: '#/components/responses/CloudGatewaysConflict' + tags: + - Data-Plane Group Configurations + servers: + - url: https://global.api.konghq.com/ + /v2/cloud-gateways/configurations/{configurationId}: get: - summary: List all config stores for a control plane - operationId: list-config-stores + x-speakeasy-group: CloudGateways + x-speakeasy-entity-operation: CloudGatewayConfiguration#get + summary: Get Configuration + description: >- + Retrieves a configuration by ID (restricted by permitted control-plane + read). + operationId: get-configuration parameters: - - $ref: '#/components/parameters/controlPlaneId' - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageAfter' + - $ref: '#/components/parameters/ConfigurationId' responses: '200': - $ref: '#/components/responses/ListConfigStoresResponse' - '400': - description: Bad Request - content: - application/problem+json: - schema: - $ref: '#/components/schemas/BadRequestError' + $ref: '#/components/responses/RetrieveConfigurationResponse' '401': - $ref: '#/components/responses/ConfigStoreUnauthorized' + $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' tags: - - Config Stores - post: - summary: Create Config Store - description: Create a Config Store - operationId: create-config-store + - Data-Plane Group Configurations + servers: + - url: https://global.api.konghq.com/ + /v2/cloud-gateways/custom-domains: + get: + x-speakeasy-group: CloudGateways + summary: List Custom Domains + description: > + Returns a paginated collection of custom domains across control-planes + for an organization (restricted by + + permitted control-plane reads). + operationId: list-custom-domains + parameters: + - $ref: '#/components/parameters/CustomDomainsFilter' + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' responses: - '201': - $ref: '#/components/responses/ConfigStoreResponse' + '200': + $ref: '#/components/responses/ListCustomDomainsResponse' '400': - description: Bad Request - content: - application/problem+json: - schema: - $ref: '#/components/schemas/BadRequestError' + $ref: '#/components/responses/CloudGatewaysBadRequest' '401': - $ref: '#/components/responses/ConfigStoreUnauthorized' + $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' - '415': - $ref: '#/components/responses/UnsupportedMediaType' - parameters: - - $ref: '#/components/parameters/controlPlaneId' - requestBody: - $ref: '#/components/requestBodies/CreateConfigStoreRequest' + '404': + $ref: '#/components/responses/NotFound' tags: - - Config Stores - /v2/control-planes/{controlPlaneId}/config-stores/{configStoreId}: - parameters: - - $ref: '#/components/parameters/controlPlaneId' - - $ref: '#/components/parameters/configStoreId' - get: - summary: Fetch Config Store - description: Returns a Config Store - operationId: get-config-store + - Custom Domains + servers: + - url: https://global.api.konghq.com/ + post: + x-speakeasy-group: CloudGateways + x-speakeasy-entity-operation: CloudGatewayCustomDomain#create + summary: Create Custom Domain + description: > + Creates a new custom domain for a control-plane (restricted by permitted + control-plane associate-custom-domain + + action). + operationId: create-custom-domains + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreateCustomDomainRequest' responses: - '200': - $ref: '#/components/responses/ConfigStoreResponse' + '201': + $ref: '#/components/responses/CreateCustomDomainResponse' + '400': + $ref: '#/components/responses/CloudGatewaysBadRequest' '401': - $ref: '#/components/responses/ConfigStoreUnauthorized' + $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' + '409': + $ref: '#/components/responses/Conflict' tags: - - Config Stores - put: - summary: Update an individual Config Store - description: Updates a Config Store - operationId: update-config-store + - Custom Domains + servers: + - url: https://global.api.konghq.com/ + /v2/cloud-gateways/custom-domains/{customDomainId}: + get: + x-speakeasy-group: CloudGateways + x-speakeasy-entity-operation: CloudGatewayCustomDomain#read + summary: Get Custom Domain + description: >- + Retrieves a custom domain by ID (restricted by permitted control-plane + reads). + operationId: get-custom-domain + parameters: + - $ref: '#/components/parameters/CustomDomainId' responses: '200': - $ref: '#/components/responses/ConfigStoreResponse' - '400': - description: Bad Request - content: - application/problem+json: - schema: - $ref: '#/components/schemas/BadRequestError' + $ref: '#/components/responses/RetrieveCustomDomainResponse' '401': - $ref: '#/components/responses/ConfigStoreUnauthorized' + $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': - $ref: '#/components/responses/ConfigStoreNotFound' - '415': - $ref: '#/components/responses/UnsupportedMediaType' - requestBody: - $ref: '#/components/requestBodies/UpdateConfigStoreRequest' + $ref: '#/components/responses/NotFound' tags: - - Config Stores + - Custom Domains + servers: + - url: https://global.api.konghq.com/ delete: - summary: Delete Config Store - description: Removes a config store - operationId: delete-config-store + x-speakeasy-group: CloudGateways + x-speakeasy-entity-operation: CloudGatewayCustomDomain#delete + x-speakeasy-retries: + strategy: backoff + backoff: + initialInterval: 10000 + maxInterval: 60000 + maxElapsedTime: 1800000 + exponent: 1.5 + statusCodes: + - 400 + retryConnectionErrors: false + summary: Delete Custom Domain + description: >- + Deletes a custom domain by ID (restricted by permitted control-plane + reads). + operationId: delete-custom-domain parameters: - - schema: - type: string - default: 'false' - enum: - - 'true' - - 'false' - name: force - in: query - description: >- - If true, delete specified config store and all secrets, even if - there are secrets linked to the config store If false, do not allow - deletion if there are secrets linked to the config store + - $ref: '#/components/parameters/CustomDomainId' responses: '204': - description: Config Store was deleted successfully. + description: No Content '400': - description: Bad Request - content: - application/problem+json: - schema: - $ref: '#/components/schemas/BadRequestError' + $ref: '#/components/responses/CloudGatewaysBadRequest' '401': - $ref: '#/components/responses/ConfigStoreUnauthorized' + $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' tags: - - Config Stores - /v2/control-planes/{controlPlaneId}/config-stores/{configStoreId}/secrets: - parameters: - - $ref: '#/components/parameters/controlPlaneId' - - $ref: '#/components/parameters/configStoreId' - post: - summary: Create Config Store Secret - description: Creates a secret for a Config Store. - operationId: create-config-store-secret + - Custom Domains + servers: + - url: https://global.api.konghq.com/ + /v2/cloud-gateways/custom-domains/{customDomainId}/online-status: + get: + x-speakeasy-group: CloudGateways + summary: Get Custom Domain Online Status + description: Retrieves the CNAME and SSL status of a custom domain. + operationId: get-custom-domain-online-status + parameters: + - $ref: '#/components/parameters/CustomDomainId' responses: - '201': - $ref: '#/components/responses/ConfigStoreSecretResponse' - '400': - description: Bad Request - content: - application/problem+json: - schema: - $ref: '#/components/schemas/BadRequestError' + '200': + $ref: '#/components/responses/RetrieveCustomDomainOnlineStatusResponse' '401': - $ref: '#/components/responses/ConfigStoreSecretUnauthorized' + $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': - $ref: '#/components/responses/ConfigStoreSecretNotFound' - '415': - $ref: '#/components/responses/UnsupportedMediaType' - requestBody: - $ref: '#/components/requestBodies/CreateConfigStoreSecretRequest' + $ref: '#/components/responses/NotFound' tags: - - Config Store Secrets + - Custom Domains + servers: + - url: https://global.api.konghq.com/ + /v2/cloud-gateways/default-resource-configurations: get: - summary: List Config Store Secrets + x-speakeasy-group: CloudGateways + summary: List Default Resource Configurations + description: > + Returns a paginated collection of default resource configurations for + cloud-gateways, along with + + organizationally-defined overrides for those resource configurations. + + Resource configurations are settings that are applied to all cloud + gateway resources in an organization. + + For example, the "data-plane-group-idle-timeout-minutes" resource + configuration sets the idle timeout for all data plane groups in an + organization. + operationId: list-default-resource-configurations parameters: - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageAfter' - description: Returns a collection of all secrets for a Config Store. - operationId: list-config-store-secrets + - $ref: '#/components/parameters/PageNumber' responses: '200': - $ref: '#/components/responses/ListConfigStoreSecretsResponse' + $ref: '#/components/responses/ListDefaultResourceConfigurationsResponse' '400': - description: Bad Request - content: - application/problem+json: - schema: - $ref: '#/components/schemas/BadRequestError' + $ref: '#/components/responses/CloudGatewaysBadRequest' '401': - $ref: '#/components/responses/ConfigStoreSecretUnauthorized' + $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/ConfigStoreSecretNotFound' tags: - - Config Store Secrets - /v2/control-planes/{controlPlaneId}/config-stores/{configStoreId}/secrets/{key}: - parameters: - - $ref: '#/components/parameters/controlPlaneId' - - $ref: '#/components/parameters/configStoreId' - - schema: - type: string - example: ConfigStoreSecretKey - name: key - in: path - required: true - description: Config Store Secret key + - Resource Configurations + servers: + - url: https://global.api.konghq.com/ + /v2/cloud-gateways/default-resource-quotas: get: - summary: Fetch Config Store Secret - description: Returns a secret for the Config Store. - operationId: get-config-store-secret + x-speakeasy-group: CloudGateways + summary: List Default Resource Quotas + description: > + Returns a paginated collection of default resource quotas for + cloud-gateways, along with + + organizationally-defined overrides for those resource quotas. + operationId: list-default-resource-quotas + parameters: + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' responses: '200': - $ref: '#/components/responses/ConfigStoreSecretResponse' + $ref: '#/components/responses/ListDefaultResourceQuotasResponse' + '400': + $ref: '#/components/responses/CloudGatewaysBadRequest' '401': - $ref: '#/components/responses/ConfigStoreSecretUnauthorized' + $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/ConfigStoreSecretNotFound' tags: - - Config Store Secrets - put: - summary: Update Config Store Secret - description: Updates a secret for a Config Store. - operationId: update-config-store-secret + - Resource Quotas + servers: + - url: https://global.api.konghq.com/ + /v2/cloud-gateways/networks: + get: + x-speakeasy-group: CloudGateways + summary: List Networks + description: Returns a paginated list of networks. + operationId: list-networks + parameters: + - $ref: '#/components/parameters/NetworksFilter' + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' responses: '200': - $ref: '#/components/responses/ConfigStoreSecretResponse' + $ref: '#/components/responses/ListNetworksResponse' '400': - description: Bad Request - content: - application/problem+json: - schema: - $ref: '#/components/schemas/BadRequestError' + $ref: '#/components/responses/CloudGatewaysBadRequest' '401': - $ref: '#/components/responses/ConfigStoreSecretUnauthorized' + $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/ConfigStoreSecretNotFound' - '415': - $ref: '#/components/responses/UnsupportedMediaType' - requestBody: - $ref: '#/components/requestBodies/UpdateConfigStoreSecretRequest' tags: - - Config Store Secrets - delete: - summary: Delete Config Store Secret - description: Removes a secret from a Config Store. - operationId: delete-config-store-secret + - Networks + servers: + - url: https://global.api.konghq.com/ + post: + x-speakeasy-group: CloudGateways + x-speakeasy-entity-operation: CloudGatewayNetwork#create + summary: Create Network + description: Creates a new network for a given provider account. + operationId: create-network + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreateNetworkRequest' responses: - '204': - description: Secret for the Config Store was deleted successfully. + '201': + $ref: '#/components/responses/CreateNetworkResponse' + '400': + $ref: '#/components/responses/CloudGatewaysBadRequest' '401': - $ref: '#/components/responses/ConfigStoreSecretUnauthorized' + $ref: '#/components/responses/Unauthorized' '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/ConfigStoreSecretNotFound' + $ref: '#/components/responses/CloudGatewaysForbidden' + '409': + $ref: '#/components/responses/Conflict' tags: - - Config Store Secrets - /v2/control-planes/{controlPlaneId}/core-entities/acls: + - Networks + servers: + - url: https://global.api.konghq.com/ + /v2/cloud-gateways/networks/{networkId}: get: - operationId: list-acl - summary: List all ACLs - description: List all ACLs + x-speakeasy-group: CloudGateways + x-speakeasy-entity-operation: CloudGatewayNetwork#read + summary: Get Network + description: Retrieves a network by ID. + operationId: get-network parameters: - - $ref: '#/components/parameters/PaginationSize' - - $ref: '#/components/parameters/PaginationOffset' - - $ref: '#/components/parameters/PaginationTagsFilter' + - $ref: '#/components/parameters/NetworkId' 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' + $ref: '#/components/responses/RetrieveNetworkResponse' '401': - $ref: '#/components/responses/HTTP401Error' + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' tags: - - ACLs - parameters: - - $ref: '#/components/parameters/controlPlaneId' - /v2/control-planes/{controlPlaneId}/core-entities/acls/{ACLId}: - get: - operationId: get-acl - summary: Fetch an ACL - description: Get an ACL using ID. + - Networks + servers: + - url: https://global.api.konghq.com/ + patch: + x-speakeasy-entity-operation: CloudGatewayNetwork#update + summary: Update Network + description: Updates a network by ID. + operationId: update-network + parameters: + - $ref: '#/components/parameters/NetworkId' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PatchNetworkRequest' responses: '200': - description: Successfully fetched ACL - content: - application/json: - schema: - $ref: '#/components/schemas/ACL' + $ref: '#/components/responses/PatchNetworkResponse' + '400': + $ref: '#/components/responses/CloudGatewaysBadRequest' '401': - $ref: '#/components/responses/HTTP401Error' + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/CloudGatewaysForbidden' '404': - description: Resource does not exist + $ref: '#/components/responses/NotFound' + '409': + $ref: '#/components/responses/Conflict' 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' + - Networks + servers: + - url: https://global.api.konghq.com/ + delete: + x-speakeasy-group: CloudGateways + x-speakeasy-entity-operation: CloudGatewayNetwork#delete + x-speakeasy-retries: + strategy: backoff + backoff: + initialInterval: 10000 + maxInterval: 60000 + maxElapsedTime: 1800000 + exponent: 1.5 + statusCodes: + - 400 + retryConnectionErrors: false + summary: Delete Network + description: Deletes a network by ID. + operationId: delete-network + parameters: + - $ref: '#/components/parameters/NetworkId' responses: - '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' + '204': + description: No Content + '400': + $ref: '#/components/responses/CloudGatewaysBadRequest' '401': - $ref: '#/components/responses/HTTP401Error' + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' tags: - - Basic-auth credentials - parameters: - - $ref: '#/components/parameters/controlPlaneId' - /v2/control-planes/{controlPlaneId}/core-entities/basic-auths/{BasicAuthId}: + - Networks + servers: + - url: https://global.api.konghq.com/ + /v2/cloud-gateways/networks/{networkId}/configuration-references: get: - operationId: get-basic-auth - summary: Fetch a Basic-auth credential - description: Get a Basic-auth credential using ID. + x-speakeasy-group: CloudGateways + description: List Network Configuration References + summary: > + Returns a paginated collection of configurations that reference a + network. + operationId: list-network-configurations + parameters: + - $ref: '#/components/parameters/NetworkId' + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' responses: '200': - description: Successfully fetched Basic-auth credential - content: - application/json: - schema: - $ref: '#/components/schemas/BasicAuth' + $ref: '#/components/responses/ListNetworkConfigurationReferencesResponse' + '400': + $ref: '#/components/responses/CloudGatewaysBadRequest' '401': - $ref: '#/components/responses/HTTP401Error' + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' '404': - description: Resource does not exist + $ref: '#/components/responses/NotFound' tags: - - Basic-auth credentials - parameters: - - $ref: '#/components/parameters/BasicAuthId' - - $ref: '#/components/parameters/controlPlaneId' - /v2/control-planes/{controlPlaneId}/core-entities/ca_certificates: + - Networks + servers: + - url: https://global.api.konghq.com/ + /v2/cloud-gateways/networks/{networkId}/transit-gateways: get: - operationId: list-ca_certificate - summary: List all CA Certificates - description: List all CA Certificates + x-speakeasy-group: CloudGateways + summary: List Transit Gateways + description: Returns a paginated collection of transit gateways for a given network. + operationId: list-transit-gateways parameters: - - $ref: '#/components/parameters/PaginationSize' - - $ref: '#/components/parameters/PaginationOffset' - - $ref: '#/components/parameters/PaginationTagsFilter' + - $ref: '#/components/parameters/NetworkId' + - $ref: '#/components/parameters/TransitGatewaysFilter' + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' 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' + $ref: '#/components/responses/ListTransitGatewaysResponse' + '400': + $ref: '#/components/responses/CloudGatewaysBadRequest' '401': - $ref: '#/components/responses/HTTP401Error' + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' tags: - - CA Certificates - parameters: - - $ref: '#/components/parameters/controlPlaneId' + - Transit Gateways + servers: + - url: https://global.api.konghq.com/ post: - operationId: create-ca_certificate - summary: Create a new CA Certificate - description: Create a new CA Certificate + x-speakeasy-group: CloudGateways + x-speakeasy-entity-operation: CloudGatewayTransitGateway#create + x-speakeasy-retries: + strategy: backoff + backoff: + initialInterval: 30000 + maxInterval: 60000 + maxElapsedTime: 3600000 + exponent: 1.5 + statusCodes: + - 400 + retryConnectionErrors: false + summary: Create Transit Gateway + description: Creates a new transit gateway for a given network. + operationId: create-transit-gateway + parameters: + - $ref: '#/components/parameters/NetworkId' requestBody: - description: Description of the new CA Certificate for creation required: true content: application/json: schema: - $ref: '#/components/schemas/CACertificate' + $ref: '#/components/schemas/CreateTransitGatewayRequest' responses: '201': - description: Successfully created CA Certificate - content: - application/json: - schema: - $ref: '#/components/schemas/CACertificate' + $ref: '#/components/responses/CreateTransitGatewayResponse' + '400': + $ref: '#/components/responses/CloudGatewaysBadRequest' '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' + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' + '409': + $ref: '#/components/responses/Conflict' tags: - - CA Certificates + - Transit Gateways + servers: + - url: https://global.api.konghq.com/ + /v2/cloud-gateways/networks/{networkId}/transit-gateways/{transitGatewayId}: get: - operationId: get-ca_certificate - summary: Fetch a CA Certificate - description: Get a CA Certificate using ID. + x-speakeasy-group: CloudGateways + x-speakeasy-entity-operation: CloudGatewayTransitGateway#read + summary: Get Transit Gateway + description: Retrieves a transit gateway by ID for a given network. + operationId: get-transit-gateway + parameters: + - $ref: '#/components/parameters/NetworkId' + - $ref: '#/components/parameters/TransitGatewayId' responses: '200': - description: Successfully fetched CA Certificate - content: - application/json: - schema: - $ref: '#/components/schemas/CACertificate' + $ref: '#/components/responses/RetrieveTransitGatewayResponse' '401': - $ref: '#/components/responses/HTTP401Error' + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' '404': - description: Resource does not exist + $ref: '#/components/responses/NotFound' 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' + - Transit Gateways + servers: + - url: https://global.api.konghq.com/ + delete: + x-speakeasy-group: CloudGateways + x-speakeasy-entity-operation: CloudGatewayTransitGateway#delete + x-speakeasy-retries: + strategy: backoff + backoff: + initialInterval: 10000 + maxInterval: 60000 + maxElapsedTime: 1800000 + exponent: 1.5 + statusCodes: + - 400 + retryConnectionErrors: false + summary: Delete Transit Gateway + description: Deletes a transit gateway by ID for a given network. + operationId: delete-transit-gateway + parameters: + - $ref: '#/components/parameters/NetworkId' + - $ref: '#/components/parameters/TransitGatewayId' responses: - '200': - description: Successfully upserted CA Certificate - content: - application/json: - schema: - $ref: '#/components/schemas/CACertificate' + '204': + description: No Content + '400': + $ref: '#/components/responses/CloudGatewaysBadRequest' '401': - $ref: '#/components/responses/HTTP401Error' + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' tags: - - CA Certificates - /v2/control-planes/{controlPlaneId}/core-entities/certificates: + - Transit Gateways + servers: + - url: https://global.api.konghq.com/ + /v2/cloud-gateways/provider-accounts: get: - operationId: list-certificate - summary: List all Certificates - description: List all Certificates + x-speakeasy-group: CloudGateways + x-speakeasy-entity-operation: CloudGatewayProviderAccountList#read + summary: List Provider Accounts + description: >- + Returns a a paginated collection of provider accounts for an + organization. + operationId: list-provider-accounts parameters: - - $ref: '#/components/parameters/PaginationSize' - - $ref: '#/components/parameters/PaginationOffset' - - $ref: '#/components/parameters/PaginationTagsFilter' + - $ref: '#/components/parameters/ProviderAccountsFilter' + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' 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' + $ref: '#/components/responses/ListProviderAccountsResponse' + '400': + $ref: '#/components/responses/CloudGatewaysBadRequest' '401': - $ref: '#/components/responses/HTTP401Error' + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' 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' + - Provider Accounts + servers: + - url: https://global.api.konghq.com/ + /v2/cloud-gateways/provider-accounts/{providerAccountId}: + get: + x-speakeasy-group: CloudGateways + summary: Get Provider Account + description: Retrieves a provider account by ID. + operationId: get-provider-account + parameters: + - $ref: '#/components/parameters/ProviderAccountId' responses: - '201': - description: Successfully created Certificate - content: - application/json: - schema: - $ref: '#/components/schemas/Certificate' + '200': + $ref: '#/components/responses/RetrieveProviderAccountResponse' '401': - $ref: '#/components/responses/HTTP401Error' + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' tags: - - Certificates - /v2/control-planes/{controlPlaneId}/core-entities/certificates/{CertificateId}: - delete: - operationId: delete-certificate - summary: Delete a Certificate - description: Delete a Certificate + - Provider Accounts + servers: + - url: https://global.api.konghq.com/ + /v2/cloud-gateways/resource-configurations: + get: + x-speakeasy-group: CloudGateways + summary: List Resource Configurations + description: > + Returns a paginated collection of resource configurations for an + organization. + + Resource configurations are settings that are applied to all cloud + gateway resources in an organization. + + For example, the "data-plane-group-idle-timeout-minutes" resource + configuration sets the idle timeout for all data plane groups in an + organization. + operationId: list-resource-configurations parameters: - - $ref: '#/components/parameters/CertificateId' + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' responses: - '204': - description: Successfully deleted Certificate or the resource didn't exist + '200': + $ref: '#/components/responses/ListResourceConfigurationsResponse' + '400': + $ref: '#/components/responses/CloudGatewaysBadRequest' '401': - $ref: '#/components/responses/HTTP401Error' + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' tags: - - Certificates + - Resource Configurations + servers: + - url: https://global.api.konghq.com/ + /v2/cloud-gateways/resource-configurations/{resourceConfigurationId}: get: - operationId: get-certificate - summary: Fetch a Certificate - description: Get a Certificate using ID. + x-speakeasy-group: CloudGateways + summary: Get Resource Configuration + description: Retrieves a resource configuration by ID. + operationId: get-resource-configuration + parameters: + - $ref: '#/components/parameters/ResourceConfigurationId' responses: '200': - description: Successfully fetched Certificate - content: - application/json: - schema: - $ref: '#/components/schemas/Certificate' + $ref: '#/components/responses/RetrieveResourceConfigurationResponse' '401': - $ref: '#/components/responses/HTTP401Error' + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' '404': - description: Resource does not exist + $ref: '#/components/responses/NotFound' 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' + - Resource Configurations + servers: + - url: https://global.api.konghq.com/ + /v2/cloud-gateways/resource-quotas: + get: + x-speakeasy-group: CloudGateways + summary: List Resource Quotas + description: | + Returns a paginated collection of resource quotas for an organization. + operationId: list-resource-quotas + parameters: + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' responses: '200': - description: Successfully upserted Certificate - content: - application/json: - schema: - $ref: '#/components/schemas/Certificate' + $ref: '#/components/responses/ListResourceQuotasResponse' + '400': + $ref: '#/components/responses/CloudGatewaysBadRequest' '401': - $ref: '#/components/responses/HTTP401Error' + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' tags: - - Certificates - /v2/control-planes/{controlPlaneId}/core-entities/certificates/{CertificateId}/snis: + - Resource Quotas + servers: + - url: https://global.api.konghq.com/ + /v2/cloud-gateways/resource-quotas/{resourceQuotaId}: get: - operationId: list-sni-with-certificate - summary: List all SNIs associated with a Certificate - description: List all SNIs associated with a Certificate + x-speakeasy-group: CloudGateways + summary: Get Resource Quota + description: Retrieves a resource quota by ID. + operationId: get-resource-quota parameters: - - $ref: '#/components/parameters/CertificateId' - - $ref: '#/components/parameters/PaginationSize' - - $ref: '#/components/parameters/PaginationOffset' - - $ref: '#/components/parameters/PaginationTagsFilter' + - $ref: '#/components/parameters/ResourceQuotaId' 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' + $ref: '#/components/responses/RetrieveResourceQuotaResponse' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' 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 + - Resource Quotas + servers: + - url: https://global.api.konghq.com/ + /v2/control-planes: get: - operationId: get-sni-with-certificate - summary: Fetch an SNI associated with a Certificate - description: Get an SNI associated with a Certificate using ID or name. - parameters: - - $ref: '#/components/parameters/CertificateId' - - $ref: '#/components/parameters/SNIId' + summary: List Control Planes 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. + $ref: '#/components/responses/ListControlPlanesResponse' + '400': + $ref: '#/components/responses/ControlPlanesBadRequest' + '401': + $ref: '#/components/responses/ControlPlaneUnauthenticated' + '403': + $ref: '#/components/responses/ControlPlanePermissionDenied' + '503': + $ref: '#/components/responses/ServiceUnavailable' + operationId: list-control-planes + description: >- + Returns an array of control plane objects containing information about + the Konnect Control Planes. parameters: - - $ref: '#/components/parameters/CertificateId' - - $ref: '#/components/parameters/SNIId' + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + - $ref: '#/components/parameters/ControlPlaneFilter' + - $ref: '#/components/parameters/FilterByLabels' + - $ref: '#/components/parameters/ControlPlaneSort' + tags: + - Control Planes + parameters: [] + post: + x-speakeasy-entity-operation: GatewayControlPlane#create + summary: Create Control Plane + operationId: create-control-plane + responses: + '201': + $ref: '#/components/responses/CreateControlPlaneResponse' + '400': + $ref: '#/components/responses/ControlPlanesBadRequest' + '401': + $ref: '#/components/responses/ControlPlaneUnauthenticated' + '403': + $ref: '#/components/responses/ControlPlanePermissionDenied' + '409': + $ref: '#/components/responses/ControlPlaneConflict' + '500': + $ref: '#/components/responses/InternalServerError' + '503': + $ref: '#/components/responses/ServiceUnavailable' + tags: + - Control Planes requestBody: - 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: + $ref: '#/components/schemas/CreateControlPlaneRequest' + description: Create a control plane in the Konnect Organization. + /v2/control-planes/{controlPlaneId}/config-stores: get: - operationId: list-consumer_group - summary: List all Consumer Groups - description: List all Consumer Groups + summary: List all config stores for a control plane + operationId: list-config-stores parameters: - - $ref: '#/components/parameters/PaginationSize' - - $ref: '#/components/parameters/PaginationOffset' - - $ref: '#/components/parameters/PaginationTagsFilter' + - $ref: '#/components/parameters/controlPlaneId' + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageAfter' responses: '200': - description: A successful response listing Consumer Groups + $ref: '#/components/responses/ListConfigStoresResponse' + '400': + description: Bad Request content: - application/json: + application/problem+json: schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/ConsumerGroup' - next: - $ref: '#/components/schemas/PaginationNextResponse' - offset: - $ref: '#/components/schemas/PaginationOffsetResponse' + $ref: '#/components/schemas/BadRequestError' '401': - $ref: '#/components/responses/HTTP401Error' + $ref: '#/components/responses/ConfigStoreUnauthorized' + '403': + $ref: '#/components/responses/Forbidden' tags: - - Consumer Groups - parameters: - - $ref: '#/components/parameters/controlPlaneId' + - Config Stores 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' + summary: Create Config Store + description: Create a Config Store + operationId: create-config-store responses: '201': - description: Successfully created Consumer Group + $ref: '#/components/responses/ConfigStoreResponse' + '400': + description: Bad Request content: - application/json: + application/problem+json: schema: - $ref: '#/components/schemas/ConsumerGroup' + $ref: '#/components/schemas/BadRequestError' '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 + $ref: '#/components/responses/ConfigStoreUnauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '415': + $ref: '#/components/responses/UnsupportedMediaType' parameters: - - $ref: '#/components/parameters/ConsumerGroupId' - responses: - '204': - description: Successfully deleted Consumer Group or the resource didn't exist - '401': - $ref: '#/components/responses/HTTP401Error' + - $ref: '#/components/parameters/controlPlaneId' + requestBody: + $ref: '#/components/requestBodies/CreateConfigStoreRequest' tags: - - Consumer Groups + - Config Stores + /v2/control-planes/{controlPlaneId}/config-stores/{configStoreId}: + parameters: + - $ref: '#/components/parameters/controlPlaneId' + - $ref: '#/components/parameters/configStoreId' get: - operationId: get-consumer_group - summary: Fetch a Consumer Group - description: Get a Consumer Group using ID. + summary: Fetch Config Store + description: Returns a Config Store + operationId: get-config-store responses: '200': - description: Successfully fetched Consumer Group - content: - application/json: - schema: - $ref: '#/components/schemas/ConsumerGroupInsideWrapper' + $ref: '#/components/responses/ConfigStoreResponse' '401': - $ref: '#/components/responses/HTTP401Error' - '404': - description: Resource does not exist + $ref: '#/components/responses/ConfigStoreUnauthorized' + '403': + $ref: '#/components/responses/Forbidden' tags: - - Consumer Groups - parameters: - - $ref: '#/components/parameters/ConsumerGroupId' - - $ref: '#/components/parameters/controlPlaneId' + - Config Stores 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' + summary: Update an individual Config Store + description: Updates a Config Store + operationId: update-config-store responses: '200': - description: Successfully upserted Consumer Group + $ref: '#/components/responses/ConfigStoreResponse' + '400': + description: Bad Request content: - application/json: + application/problem+json: schema: - $ref: '#/components/schemas/ConsumerGroup' + $ref: '#/components/schemas/BadRequestError' '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: >- - Removes all consumers from a consumer groups. This operation does not - delete the consumer group. - responses: - '204': - description: Consumers removed from group + $ref: '#/components/responses/ConfigStoreUnauthorized' + '403': + $ref: '#/components/responses/Forbidden' '404': - description: Consumer group or consumer association does not exist + $ref: '#/components/responses/ConfigStoreNotFound' + '415': + $ref: '#/components/responses/UnsupportedMediaType' + requestBody: + $ref: '#/components/requestBodies/UpdateConfigStoreRequest' 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 + - Config Stores + delete: + summary: Delete Config Store + description: Removes a config store + operationId: delete-config-store + parameters: + - schema: + type: string + default: 'false' + enum: + - 'true' + - 'false' + name: force + in: query + description: >- + If true, delete specified config store and all secrets, even if + there are secrets linked to the config store If false, do not allow + deletion if there are secrets linked to the config store + responses: + '204': + description: Config Store was deleted successfully. + '400': + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/BadRequestError' + '401': + $ref: '#/components/responses/ConfigStoreUnauthorized' + '403': + $ref: '#/components/responses/Forbidden' + tags: + - Config Stores + /v2/control-planes/{controlPlaneId}/config-stores/{configStoreId}/secrets: + parameters: + - $ref: '#/components/parameters/controlPlaneId' + - $ref: '#/components/parameters/configStoreId' + post: + summary: Create Config Store Secret + description: Creates a secret for a Config Store. + operationId: create-config-store-secret + responses: + '201': + $ref: '#/components/responses/ConfigStoreSecretResponse' + '400': + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/BadRequestError' + '401': + $ref: '#/components/responses/ConfigStoreSecretUnauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/ConfigStoreSecretNotFound' + '415': + $ref: '#/components/responses/UnsupportedMediaType' + requestBody: + $ref: '#/components/requestBodies/CreateConfigStoreSecretRequest' + tags: + - Config Store Secrets + get: + summary: List Config Store Secrets + parameters: + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageAfter' + description: Returns a collection of all secrets for a Config Store. + operationId: list-config-store-secrets + responses: + '200': + $ref: '#/components/responses/ListConfigStoreSecretsResponse' + '400': + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/BadRequestError' + '401': + $ref: '#/components/responses/ConfigStoreSecretUnauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/ConfigStoreSecretNotFound' + tags: + - Config Store Secrets + /v2/control-planes/{controlPlaneId}/config-stores/{configStoreId}/secrets/{key}: + parameters: + - $ref: '#/components/parameters/controlPlaneId' + - $ref: '#/components/parameters/configStoreId' + - schema: + type: string + example: ConfigStoreSecretKey + name: key + in: path + required: true + description: Config Store Secret key + get: + summary: Fetch Config Store Secret + description: Returns a secret for the Config Store. + operationId: get-config-store-secret + responses: + '200': + $ref: '#/components/responses/ConfigStoreSecretResponse' + '401': + $ref: '#/components/responses/ConfigStoreSecretUnauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/ConfigStoreSecretNotFound' + tags: + - Config Store Secrets + put: + summary: Update Config Store Secret + description: Updates a secret for a Config Store. + operationId: update-config-store-secret + responses: + '200': + $ref: '#/components/responses/ConfigStoreSecretResponse' + '400': + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/BadRequestError' + '401': + $ref: '#/components/responses/ConfigStoreSecretUnauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/ConfigStoreSecretNotFound' + '415': + $ref: '#/components/responses/UnsupportedMediaType' + requestBody: + $ref: '#/components/requestBodies/UpdateConfigStoreSecretRequest' + tags: + - Config Store Secrets + delete: + summary: Delete Config Store Secret + description: Removes a secret from a Config Store. + operationId: delete-config-store-secret + responses: + '204': + description: Secret for the Config Store was deleted successfully. + '401': + $ref: '#/components/responses/ConfigStoreSecretUnauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/ConfigStoreSecretNotFound' + tags: + - Config Store Secrets + /v2/control-planes/{controlPlaneId}/core-entities/acls: + get: + operationId: list-acl + summary: List all ACLs + description: List all ACLs parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': - description: A successful response listing of consumers + description: A successful response listing ACLs content: application/json: schema: @@ -1113,79 +1315,50 @@ paths: data: type: array items: - $ref: '#/components/schemas/Consumer' + $ref: '#/components/schemas/ACL' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' + '401': + $ref: '#/components/responses/HTTP401Error' tags: - - Consumer Groups + - ACLs 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 + /v2/control-planes/{controlPlaneId}/core-entities/acls/{ACLId}: + get: + operationId: get-acl + summary: Fetch an ACL + description: Get an ACL using ID. responses: - '201': - description: Consumer added to group + '200': + description: Successfully fetched ACL 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 + $ref: '#/components/schemas/ACL' + '401': + $ref: '#/components/responses/HTTP401Error' + '404': + description: Resource does not exist tags: - - Consumer Groups + - ACLs parameters: - - $ref: '#/components/parameters/ConsumerGroupIdManageConsumers' - - name: ConsumerId - in: path - required: true - schema: - type: string + - $ref: '#/components/parameters/ACLId' - $ref: '#/components/parameters/controlPlaneId' - /v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{ConsumerGroupId}/plugins: + /v2/control-planes/{controlPlaneId}/core-entities/basic-auths: 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 + operationId: list-basic-auth + summary: List all Basic-auth credentials + description: List all Basic-auth credentials 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 + description: A successful response listing Basic-auth credentials content: application/json: schema: @@ -1194,105 +1367,159 @@ paths: data: type: array items: - $ref: '#/components/schemas/Plugin' + $ref: '#/components/schemas/BasicAuth' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' + '401': + $ref: '#/components/responses/HTTP401Error' tags: - - Plugins + - Basic-auth credentials 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: + /v2/control-planes/{controlPlaneId}/core-entities/basic-auths/{BasicAuthId}: + get: + operationId: get-basic-auth + summary: Fetch a Basic-auth credential + description: Get a Basic-auth credential using ID. + responses: + '200': + description: Successfully fetched Basic-auth credential + content: + application/json: + schema: + $ref: '#/components/schemas/BasicAuth' + '401': + $ref: '#/components/responses/HTTP401Error' + '404': + description: Resource does not exist + tags: + - Basic-auth credentials + parameters: + - $ref: '#/components/parameters/BasicAuthId' + - $ref: '#/components/parameters/controlPlaneId' + /v2/control-planes/{controlPlaneId}/core-entities/ca_certificates: + get: + operationId: list-ca_certificate + summary: List all CA Certificates + description: List all CA Certificates + parameters: + - $ref: '#/components/parameters/PaginationSize' + - $ref: '#/components/parameters/PaginationOffset' + - $ref: '#/components/parameters/PaginationTagsFilter' + responses: + '200': + description: A successful response listing CA Certificates + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/CACertificate' + next: + $ref: '#/components/schemas/PaginationNextResponse' + offset: + $ref: '#/components/schemas/PaginationOffsetResponse' + '401': + $ref: '#/components/responses/HTTP401Error' + tags: + - CA Certificates + parameters: + - $ref: '#/components/parameters/controlPlaneId' + post: + operationId: create-ca_certificate + summary: Create a new CA Certificate + description: Create a new CA Certificate + requestBody: + description: Description of the new CA Certificate for creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CACertificate' + responses: '201': - description: Successfully created Plugin + description: Successfully created CA Certificate content: application/json: schema: - $ref: '#/components/schemas/Plugin' + $ref: '#/components/schemas/CACertificate' + '401': + $ref: '#/components/responses/HTTP401Error' tags: - - Plugins - /v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{ConsumerGroupId}/plugins/{PluginId}: + - CA Certificates + /v2/control-planes/{controlPlaneId}/core-entities/ca_certificates/{CACertificateId}: 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. + operationId: delete-ca_certificate + summary: Delete a CA Certificate + description: Delete a CA Certificate parameters: - - $ref: '#/components/parameters/ConsumerGroupId' - - $ref: '#/components/parameters/PluginId' + - $ref: '#/components/parameters/CACertificateId' responses: '204': - description: Successfully deleted Plugin or the resource didn't exist + description: Successfully deleted CA Certificate or the resource didn't exist + '401': + $ref: '#/components/responses/HTTP401Error' tags: - - Plugins + - CA Certificates get: - operationId: get-plugin-with-consumer_group - summary: Fetch a Plugin associated with a Consumer Group - description: Get a Plugin associated with a Consumer Group using ID. - parameters: - - $ref: '#/components/parameters/ConsumerGroupId' - - $ref: '#/components/parameters/PluginId' + operationId: get-ca_certificate + summary: Fetch a CA Certificate + description: Get a CA Certificate using ID. responses: '200': - description: Successfully fetched Plugin + description: Successfully fetched CA Certificate content: application/json: schema: - $ref: '#/components/schemas/Plugin' + $ref: '#/components/schemas/CACertificate' + '401': + $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - - Plugins + - CA Certificates parameters: + - $ref: '#/components/parameters/CACertificateId' - $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' + operationId: upsert-ca_certificate + summary: Upsert a CA Certificate + description: Create or Update CA Certificate using ID. requestBody: - description: Description of the Plugin + description: Description of the CA Certificate required: true content: application/json: schema: - $ref: '#/components/schemas/PluginWithoutParents' + $ref: '#/components/schemas/CACertificate' responses: '200': - description: Successfully upserted Plugin + description: Successfully upserted CA Certificate content: application/json: schema: - $ref: '#/components/schemas/Plugin' + $ref: '#/components/schemas/CACertificate' + '401': + $ref: '#/components/responses/HTTP401Error' tags: - - Plugins - /v2/control-planes/{controlPlaneId}/core-entities/consumers: + - CA Certificates + /v2/control-planes/{controlPlaneId}/core-entities/certificates: get: - operationId: list-consumer - summary: List all Consumers - description: List all Consumers + 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 Consumers + description: A successful response listing Certificates content: application/json: schema: @@ -1301,7 +1528,7 @@ paths: data: type: array items: - $ref: '#/components/schemas/Consumer' + $ref: '#/components/schemas/Certificate' next: $ref: '#/components/schemas/PaginationNextResponse' offset: @@ -1309,115 +1536,100 @@ paths: '401': $ref: '#/components/responses/HTTP401Error' tags: - - Consumers + - Certificates parameters: - $ref: '#/components/parameters/controlPlaneId' post: - operationId: create-consumer - summary: Create a new Consumer - description: Create a new Consumer + operationId: create-certificate + summary: Create a new Certificate + description: Create a new Certificate requestBody: - description: Description of the new Consumer for creation + description: Description of the new Certificate for creation required: true content: application/json: schema: - $ref: '#/components/schemas/Consumer' + $ref: '#/components/schemas/Certificate' responses: '201': - description: Successfully created Consumer + description: Successfully created Certificate content: application/json: schema: - $ref: '#/components/schemas/Consumer' + $ref: '#/components/schemas/Certificate' '401': $ref: '#/components/responses/HTTP401Error' tags: - - Consumers - /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerId}: + - Certificates + /v2/control-planes/{controlPlaneId}/core-entities/certificates/{CertificateId}: delete: - operationId: delete-consumer - summary: Delete a Consumer - description: Delete a Consumer + operationId: delete-certificate + summary: Delete a Certificate + description: Delete a Certificate parameters: - - $ref: '#/components/parameters/ConsumerId' + - $ref: '#/components/parameters/CertificateId' responses: '204': - description: Successfully deleted Consumer or the resource didn't exist + description: Successfully deleted Certificate or the resource didn't exist '401': $ref: '#/components/responses/HTTP401Error' tags: - - Consumers + - Certificates get: - operationId: get-consumer - summary: Fetch a Consumer - description: Get a Consumer using ID or username. + operationId: get-certificate + summary: Fetch a Certificate + description: Get a Certificate using ID. responses: '200': - description: Successfully fetched Consumer + description: Successfully fetched Certificate content: application/json: schema: - $ref: '#/components/schemas/Consumer' + $ref: '#/components/schemas/Certificate' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - - Consumers + - Certificates parameters: - - $ref: '#/components/parameters/ConsumerId' + - $ref: '#/components/parameters/CertificateId' - $ref: '#/components/parameters/controlPlaneId' put: - operationId: upsert-consumer - summary: Upsert a Consumer - description: Create or Update Consumer using ID or username. + operationId: upsert-certificate + summary: Upsert a Certificate + description: Create or Update Certificate using ID. requestBody: - description: Description of the Consumer + description: Description of the Certificate required: true content: application/json: schema: - $ref: '#/components/schemas/Consumer' + $ref: '#/components/schemas/Certificate' responses: '200': - description: Successfully upserted Consumer + description: Successfully upserted Certificate content: application/json: schema: - $ref: '#/components/schemas/Consumer' + $ref: '#/components/schemas/Certificate' '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 consumer group - 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: - - Consumer Groups + - Certificates + /v2/control-planes/{controlPlaneId}/core-entities/certificates/{CertificateId}/snis: 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 + 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/ConsumerId' + - $ref: '#/components/parameters/CertificateId' - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': - description: A successful response listing consumer groups + description: A successful response listing SNIs content: application/json: schema: @@ -1426,185 +1638,105 @@ paths: data: type: array items: - $ref: '#/components/schemas/ConsumerGroup' + $ref: '#/components/schemas/SNI' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - - Consumer Groups + - SNIs 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 + 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/ConsumerId' + - $ref: '#/components/parameters/CertificateId' requestBody: + description: Description of new SNI for creation + required: true content: application/json: schema: - type: object - properties: - group: - type: string - example: fedee695-2ae2-4e45-877a-776d9b2fc793 - x-speakeasy-name-override: group + $ref: '#/components/schemas/SNIWithoutParents' responses: '201': - description: Consumer added to a specific group + description: Successfully created SNI content: application/json: schema: - type: object - properties: - consumer: - $ref: '#/components/schemas/Consumer' - consumer_groups: - type: array - items: - $ref: '#/components/schemas/ConsumerGroup' - tags: - - Consumer Groups - /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: - - Consumer Groups - 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' + $ref: '#/components/schemas/SNI' tags: - - ACLs - /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/acls/{ACLId}: + - SNIs + /v2/control-planes/{controlPlaneId}/core-entities/certificates/{CertificateId}/snis/{SNIId}: 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. + 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/ConsumerIdForNestedEntities' - - $ref: '#/components/parameters/ACLId' + - $ref: '#/components/parameters/CertificateId' + - $ref: '#/components/parameters/SNIId' responses: '204': - description: Successfully deleted ACL or the resource didn't exist + description: Successfully deleted SNI or the resource didn't exist tags: - - ACLs + - SNIs get: - operationId: get-acl-with-consumer - summary: Fetch an ACL associated with a Consumer - description: Get an ACL associated with a Consumer using ID. + operationId: get-sni-with-certificate + summary: Fetch an SNI associated with a Certificate + description: Get an SNI associated with a Certificate using ID or name. parameters: - - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - - $ref: '#/components/parameters/ACLId' + - $ref: '#/components/parameters/CertificateId' + - $ref: '#/components/parameters/SNIId' responses: '200': - description: Successfully fetched ACL + description: Successfully fetched SNI content: application/json: schema: - $ref: '#/components/schemas/ACL' + $ref: '#/components/schemas/SNI' '404': description: Resource does not exist tags: - - ACLs + - SNIs 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. + 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/ConsumerIdForNestedEntities' - - $ref: '#/components/parameters/ACLId' + - $ref: '#/components/parameters/CertificateId' + - $ref: '#/components/parameters/SNIId' requestBody: - description: Description of the ACL + description: Description of the SNI required: true content: application/json: schema: - $ref: '#/components/schemas/ACLWithoutParents' + $ref: '#/components/schemas/SNIWithoutParents' responses: '200': - description: Successfully upserted ACL + description: Successfully upserted SNI content: application/json: schema: - $ref: '#/components/schemas/ACL' + $ref: '#/components/schemas/SNI' tags: - - ACLs - /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/basic-auth: + - SNIs + /v2/control-planes/{controlPlaneId}/core-entities/consumer_groups: 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 + operationId: list-consumer_group + summary: List all Consumer Groups + description: List all Consumer Groups 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 + description: A successful response listing Consumer Groups content: application/json: schema: @@ -1613,110 +1745,120 @@ paths: data: type: array items: - $ref: '#/components/schemas/BasicAuth' + $ref: '#/components/schemas/ConsumerGroup' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' + '401': + $ref: '#/components/responses/HTTP401Error' tags: - - Basic-auth credentials + - Consumer Groups 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' + operationId: create-consumer_group + summary: Create a new Consumer Group + description: Create a new Consumer Group requestBody: - description: Description of new Basic-auth credential for creation + description: Description of the new Consumer Group for creation required: true content: application/json: schema: - $ref: '#/components/schemas/BasicAuthWithoutParents' + $ref: '#/components/schemas/ConsumerGroup' responses: '201': - description: Successfully created Basic-auth credential + description: Successfully created Consumer Group content: application/json: schema: - $ref: '#/components/schemas/BasicAuth' + $ref: '#/components/schemas/ConsumerGroup' + '401': + $ref: '#/components/responses/HTTP401Error' tags: - - Basic-auth credentials - /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/basic-auth/{BasicAuthId}: + - Consumer Groups + /v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{ConsumerGroupId}: 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. + operationId: delete-consumer_group + summary: Delete a Consumer Group + description: Delete a Consumer Group parameters: - - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - - $ref: '#/components/parameters/BasicAuthId' + - $ref: '#/components/parameters/ConsumerGroupId' responses: '204': - description: >- - Successfully deleted Basic-auth credential or the resource didn't - exist + description: Successfully deleted Consumer Group or the resource didn't exist + '401': + $ref: '#/components/responses/HTTP401Error' tags: - - Basic-auth credentials + - Consumer Groups get: - operationId: get-basic-auth-with-consumer - summary: Fetch a Basic-auth credential associated with a Consumer - description: Get a Basic-auth credential associated with a Consumer using ID. - parameters: - - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - - $ref: '#/components/parameters/BasicAuthId' + operationId: get-consumer_group + summary: Fetch a Consumer Group + description: Get a Consumer Group using ID. responses: '200': - description: Successfully fetched Basic-auth credential + description: Successfully fetched Consumer Group content: application/json: schema: - $ref: '#/components/schemas/BasicAuth' + $ref: '#/components/schemas/ConsumerGroupInsideWrapper' + '401': + $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - - Basic-auth credentials + - Consumer Groups parameters: + - $ref: '#/components/parameters/ConsumerGroupId' - $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' + operationId: upsert-consumer_group + summary: Upsert a Consumer Group + description: Create or Update Consumer Group using ID. requestBody: - description: Description of the Basic-auth credential + description: Description of the Consumer Group required: true content: application/json: schema: - $ref: '#/components/schemas/BasicAuthWithoutParents' + $ref: '#/components/schemas/ConsumerGroup' responses: '200': - description: Successfully upserted Basic-auth credential + description: Successfully upserted Consumer Group content: application/json: schema: - $ref: '#/components/schemas/BasicAuth' + $ref: '#/components/schemas/ConsumerGroup' + '401': + $ref: '#/components/responses/HTTP401Error' tags: - - Basic-auth credentials - /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/hmac-auth: + - 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: >- + 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-hmac-auth-with-consumer - summary: List all HMAC-auth credentials associated with a Consumer - description: List all HMAC-auth credentials associated with a Consumer + 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/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': - description: A successful response listing HMAC-auth credentials + description: A successful response listing of consumers content: application/json: schema: @@ -1725,110 +1867,79 @@ paths: data: type: array items: - $ref: '#/components/schemas/HMACAuth' + $ref: '#/components/schemas/Consumer' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - - HMAC-auth credentials + - Consumer Groups parameters: + - $ref: '#/components/parameters/ConsumerGroupIdManageConsumers' - $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' + 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: - description: Description of new HMAC-auth credential for creation - required: true content: application/json: schema: - $ref: '#/components/schemas/HMACAuthWithoutParents' + type: object + properties: + consumer: + type: string + example: cf4c7e60-11db-49dd-b300-7c7e5f0f7e6b + x-speakeasy-name-override: consumer_id responses: '201': - description: Successfully created HMAC-auth credential + description: Consumer added to group content: application/json: schema: - $ref: '#/components/schemas/HMACAuth' + type: object + properties: + consumer_group: + $ref: '#/components/schemas/ConsumerGroup' + consumers: + type: array + items: + $ref: '#/components/schemas/Consumer' tags: - - HMAC-auth credentials - /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/hmac-auth/{HMACAuthId}: + - Consumer Groups + /v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{ConsumerGroupId}/consumers/{ConsumerId}: 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' + 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: >- - Successfully deleted HMAC-auth credential or the resource didn't - exist - tags: - - HMAC-auth credentials - get: - operationId: get-hmac-auth-with-consumer - summary: Fetch a HMAC-auth credential associated with a Consumer - description: Get a HMAC-auth credential associated with a Consumer using ID. - parameters: - - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - - $ref: '#/components/parameters/HMACAuthId' - responses: - '200': - description: Successfully fetched HMAC-auth credential - content: - application/json: - schema: - $ref: '#/components/schemas/HMACAuth' - '404': - description: Resource does not exist + description: Consumer removed from group tags: - - HMAC-auth credentials + - Consumer Groups 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 + - $ref: '#/components/parameters/ConsumerGroupIdManageConsumers' + - name: ConsumerId + in: path 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: + schema: + type: string + - $ref: '#/components/parameters/controlPlaneId' + /v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{ConsumerGroupId}/plugins: get: - operationId: list-jwt-with-consumer - summary: List all JWTs associated with a Consumer - description: List all JWTs associated with a Consumer + 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/ConsumerIdForNestedEntities' + - $ref: '#/components/parameters/ConsumerGroupId' - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': - description: A successful response listing JWTs + description: A successful response listing Plugins content: application/json: schema: @@ -1837,106 +1948,105 @@ paths: data: type: array items: - $ref: '#/components/schemas/JWT' + $ref: '#/components/schemas/Plugin' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - - JWTs + - Plugins 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 + 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/ConsumerIdForNestedEntities' + - $ref: '#/components/parameters/ConsumerGroupId' requestBody: - description: Description of new JWT for creation + description: Description of new Plugin for creation required: true content: application/json: schema: - $ref: '#/components/schemas/JWTWithoutParents' + $ref: '#/components/schemas/PluginWithoutParents' responses: '201': - description: Successfully created JWT + description: Successfully created Plugin content: application/json: schema: - $ref: '#/components/schemas/JWT' + $ref: '#/components/schemas/Plugin' tags: - - JWTs - /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/jwt/{JWTId}: + - Plugins + /v2/control-planes/{controlPlaneId}/core-entities/consumer_groups/{ConsumerGroupId}/plugins/{PluginId}: 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. + 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/ConsumerIdForNestedEntities' - - $ref: '#/components/parameters/JWTId' + - $ref: '#/components/parameters/ConsumerGroupId' + - $ref: '#/components/parameters/PluginId' responses: '204': - description: Successfully deleted JWT or the resource didn't exist + description: Successfully deleted Plugin or the resource didn't exist tags: - - JWTs + - Plugins get: - operationId: get-jwt-with-consumer - summary: Fetch a JWT associated with a Consumer - description: Get a JWT associated with a Consumer using ID. + operationId: get-plugin-with-consumer_group + summary: Fetch a Plugin associated with a Consumer Group + description: Get a Plugin associated with a Consumer Group using ID. parameters: - - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - - $ref: '#/components/parameters/JWTId' + - $ref: '#/components/parameters/ConsumerGroupId' + - $ref: '#/components/parameters/PluginId' responses: '200': - description: Successfully fetched JWT + description: Successfully fetched Plugin content: application/json: schema: - $ref: '#/components/schemas/JWT' + $ref: '#/components/schemas/Plugin' '404': description: Resource does not exist tags: - - JWTs + - Plugins 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. + 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/ConsumerIdForNestedEntities' - - $ref: '#/components/parameters/JWTId' + - $ref: '#/components/parameters/ConsumerGroupId' + - $ref: '#/components/parameters/PluginId' requestBody: - description: Description of the JWT + description: Description of the Plugin required: true content: application/json: schema: - $ref: '#/components/schemas/JWTWithoutParents' + $ref: '#/components/schemas/PluginWithoutParents' responses: '200': - description: Successfully upserted JWT + description: Successfully upserted Plugin content: application/json: schema: - $ref: '#/components/schemas/JWT' + $ref: '#/components/schemas/Plugin' tags: - - JWTs - /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/key-auth: + - Plugins + /v2/control-planes/{controlPlaneId}/core-entities/consumers: 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 + operationId: list-consumer + summary: List all Consumers + description: List all Consumers 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 + description: A successful response listing Consumers content: application/json: schema: @@ -1945,106 +2055,123 @@ paths: data: type: array items: - $ref: '#/components/schemas/KeyAuth' + $ref: '#/components/schemas/Consumer' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' + '401': + $ref: '#/components/responses/HTTP401Error' tags: - - API-keys + - Consumers 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' + operationId: create-consumer + summary: Create a new Consumer + description: Create a new Consumer requestBody: - description: Description of new API-key for creation + description: Description of the new Consumer for creation required: true content: application/json: schema: - $ref: '#/components/schemas/KeyAuthWithoutParents' + $ref: '#/components/schemas/Consumer' responses: '201': - description: Successfully created API-key + description: Successfully created Consumer content: application/json: schema: - $ref: '#/components/schemas/KeyAuth' + $ref: '#/components/schemas/Consumer' + '401': + $ref: '#/components/responses/HTTP401Error' tags: - - API-keys - /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/key-auth/{KeyAuthId}: + - Consumers + /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerId}: 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. + operationId: delete-consumer + summary: Delete a Consumer + description: Delete a Consumer parameters: - - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - - $ref: '#/components/parameters/KeyAuthId' + - $ref: '#/components/parameters/ConsumerId' responses: '204': - description: Successfully deleted API-key or the resource didn't exist + description: Successfully deleted Consumer or the resource didn't exist + '401': + $ref: '#/components/responses/HTTP401Error' tags: - - API-keys + - Consumers get: - operationId: get-key-auth-with-consumer - summary: Fetch an API-key associated with a Consumer - description: Get an API-key associated with a Consumer using ID. - parameters: - - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - - $ref: '#/components/parameters/KeyAuthId' + operationId: get-consumer + summary: Fetch a Consumer + description: Get a Consumer using ID or username. responses: '200': - description: Successfully fetched API-key + description: Successfully fetched Consumer content: application/json: schema: - $ref: '#/components/schemas/KeyAuth' + $ref: '#/components/schemas/Consumer' + '401': + $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - - API-keys + - Consumers parameters: + - $ref: '#/components/parameters/ConsumerId' - $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' + operationId: upsert-consumer + summary: Upsert a Consumer + description: Create or Update Consumer using ID or username. requestBody: - description: Description of the API-key + description: Description of the Consumer required: true content: application/json: schema: - $ref: '#/components/schemas/KeyAuthWithoutParents' + $ref: '#/components/schemas/Consumer' responses: '200': - description: Successfully upserted API-key + description: Successfully upserted Consumer content: application/json: schema: - $ref: '#/components/schemas/KeyAuth' + $ref: '#/components/schemas/Consumer' + '401': + $ref: '#/components/responses/HTTP401Error' tags: - - API-keys - /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/mtls-auth: + - Consumers + /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerId}/consumer_groups: + delete: + operationId: remove-consumer-from-all-consumer-groups + summary: Remove consumer from consumer group + 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: + - Consumer Groups 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 + 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/ConsumerIdForNestedEntities' + - $ref: '#/components/parameters/ConsumerId' - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': - description: A successful response listing MTLS-auth credentials + description: A successful response listing consumer groups content: application/json: schema: @@ -2053,102 +2180,69 @@ paths: data: type: array items: - $ref: '#/components/schemas/MTLSAuth' + $ref: '#/components/schemas/ConsumerGroup' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - - MTLS-auth credentials + - Consumer Groups 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 + 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/ConsumerIdForNestedEntities' + - $ref: '#/components/parameters/ConsumerId' requestBody: - description: Description of new MTLS-auth credential for creation - required: true content: application/json: schema: - $ref: '#/components/schemas/MTLSAuthWithoutParents' + type: object + properties: + group: + type: string + example: fedee695-2ae2-4e45-877a-776d9b2fc793 + x-speakeasy-name-override: group responses: '201': - description: Successfully created MTLS-auth credential + description: Consumer added to a specific group content: application/json: schema: - $ref: '#/components/schemas/MTLSAuth' + type: object + properties: + consumer: + $ref: '#/components/schemas/Consumer' + consumer_groups: + type: array + items: + $ref: '#/components/schemas/ConsumerGroup' tags: - - MTLS-auth credentials - /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/mtls-auth/{MTLSAuthId}: + - Consumer Groups + /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerId}/consumer_groups/{ConsumerGroupId}: 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. + 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/ConsumerIdForNestedEntities' - - $ref: '#/components/parameters/MTLSAuthId' + - $ref: '#/components/parameters/ConsumerId' + - $ref: '#/components/parameters/ConsumerGroupId' responses: '204': - description: >- - Successfully deleted MTLS-auth credential or the resource didn't - exist - tags: - - MTLS-auth credentials - get: - operationId: get-mtls-auth-with-consumer - summary: Fetch a MTLS-auth credential associated with a Consumer - description: Get a MTLS-auth credential associated with a Consumer using ID. - parameters: - - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - - $ref: '#/components/parameters/MTLSAuthId' - responses: - '200': - description: Successfully fetched MTLS-auth credential - content: - application/json: - schema: - $ref: '#/components/schemas/MTLSAuth' - '404': - description: Resource does not exist + description: Consumer removed from group tags: - - MTLS-auth credentials + - Consumer Groups 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: + /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/acls: get: - operationId: list-plugin-with-consumer - summary: List all Plugins associated with a Consumer - description: List all Plugins associated with a Consumer + 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' @@ -2156,7 +2250,7 @@ paths: - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': - description: A successful response listing Plugins + description: A successful response listing ACLs content: application/json: schema: @@ -2165,105 +2259,106 @@ paths: data: type: array items: - $ref: '#/components/schemas/Plugin' + $ref: '#/components/schemas/ACL' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - - Plugins + - ACLs 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 + 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 Plugin for creation + description: Description of new ACL for creation required: true content: application/json: schema: - $ref: '#/components/schemas/PluginWithoutParents' + $ref: '#/components/schemas/ACLWithoutParents' responses: '201': - description: Successfully created Plugin + description: Successfully created ACL content: application/json: schema: - $ref: '#/components/schemas/Plugin' + $ref: '#/components/schemas/ACL' tags: - - Plugins - /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/plugins/{PluginId}: + - ACLs + /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/acls/{ACLId}: 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. + 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/PluginId' + - $ref: '#/components/parameters/ACLId' responses: '204': - description: Successfully deleted Plugin or the resource didn't exist + description: Successfully deleted ACL or the resource didn't exist tags: - - Plugins + - ACLs get: - operationId: get-plugin-with-consumer - summary: Fetch a Plugin associated with a Consumer - description: Get a Plugin associated with a Consumer using ID. + operationId: get-acl-with-consumer + summary: Fetch an ACL associated with a Consumer + description: Get an ACL associated with a Consumer using ID. parameters: - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - - $ref: '#/components/parameters/PluginId' + - $ref: '#/components/parameters/ACLId' responses: '200': - description: Successfully fetched Plugin + description: Successfully fetched ACL content: application/json: schema: - $ref: '#/components/schemas/Plugin' + $ref: '#/components/schemas/ACL' '404': description: Resource does not exist tags: - - Plugins + - ACLs 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. + 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/PluginId' + - $ref: '#/components/parameters/ACLId' requestBody: - description: Description of the Plugin + description: Description of the ACL required: true content: application/json: schema: - $ref: '#/components/schemas/PluginWithoutParents' + $ref: '#/components/schemas/ACLWithoutParents' responses: '200': - description: Successfully upserted Plugin + description: Successfully upserted ACL content: application/json: schema: - $ref: '#/components/schemas/Plugin' + $ref: '#/components/schemas/ACL' tags: - - Plugins - /v2/control-planes/{controlPlaneId}/core-entities/hmac-auths: + - ACLs + /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/basic-auth: get: - operationId: list-hmac-auth - summary: List all HMAC-auth credentials - description: List all HMAC-auth credentials + 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 HMAC-auth credentials + description: A successful response listing Basic-auth credentials content: application/json: schema: @@ -2272,154 +2367,110 @@ paths: data: type: array items: - $ref: '#/components/schemas/HMACAuth' + $ref: '#/components/schemas/BasicAuth' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' - '401': - $ref: '#/components/responses/HTTP401Error' tags: - - HMAC-auth credentials + - Basic-auth credentials parameters: - $ref: '#/components/parameters/controlPlaneId' - /v2/control-planes/{controlPlaneId}/core-entities/hmac-auths/{HMACAuthId}: - get: - operationId: get-hmac-auth - summary: Fetch a HMAC-auth credential - description: Get a HMAC-auth credential using ID. + 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: - '200': - description: Successfully fetched HMAC-auth credential + '201': + description: Successfully created Basic-auth credential content: application/json: schema: - $ref: '#/components/schemas/HMACAuth' - '401': - $ref: '#/components/responses/HTTP401Error' - '404': - description: Resource does not exist + $ref: '#/components/schemas/BasicAuth' 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 + - 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/PaginationSize' - - $ref: '#/components/parameters/PaginationOffset' - - $ref: '#/components/parameters/PaginationTagsFilter' + - $ref: '#/components/parameters/ConsumerIdForNestedEntities' + - $ref: '#/components/parameters/BasicAuthId' 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' + '204': + description: >- + Successfully deleted Basic-auth credential or the resource didn't + exist tags: - - JWTs - parameters: - - $ref: '#/components/parameters/controlPlaneId' - /v2/control-planes/{controlPlaneId}/core-entities/jwts/{JWTId}: + - Basic-auth credentials get: - operationId: get-jwt - summary: Fetch a JWT - description: Get a JWT using ID. + operationId: get-basic-auth-with-consumer + summary: Fetch a Basic-auth credential associated with a Consumer + description: Get a Basic-auth credential associated with a Consumer using ID. + parameters: + - $ref: '#/components/parameters/ConsumerIdForNestedEntities' + - $ref: '#/components/parameters/BasicAuthId' responses: '200': - description: Successfully fetched JWT + description: Successfully fetched Basic-auth credential content: application/json: schema: - $ref: '#/components/schemas/JWT' - '401': - $ref: '#/components/responses/HTTP401Error' + $ref: '#/components/schemas/BasicAuth' '404': description: Resource does not exist tags: - - JWTs + - Basic-auth credentials 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 + 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/PaginationSize' - - $ref: '#/components/parameters/PaginationOffset' - - $ref: '#/components/parameters/PaginationTagsFilter' - responses: - '200': - description: A successful response listing API-keys - content: - application/json: - schema: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/KeyAuth' - next: - $ref: '#/components/schemas/PaginationNextResponse' - offset: - $ref: '#/components/schemas/PaginationOffsetResponse' - '401': - $ref: '#/components/responses/HTTP401Error' - tags: - - API-keys - parameters: - - $ref: '#/components/parameters/controlPlaneId' - /v2/control-planes/{controlPlaneId}/core-entities/key-auths/{KeyAuthId}: - get: - operationId: get-key-auth - summary: Fetch an API-key - description: Get an API-key using ID. + - $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 fetched API-key + description: Successfully upserted Basic-auth credential content: application/json: schema: - $ref: '#/components/schemas/KeyAuth' - '401': - $ref: '#/components/responses/HTTP401Error' - '404': - description: Resource does not exist + $ref: '#/components/schemas/BasicAuth' tags: - - API-keys - parameters: - - $ref: '#/components/parameters/KeyAuthId' - - $ref: '#/components/parameters/controlPlaneId' - /v2/control-planes/{controlPlaneId}/core-entities/key-sets: + - Basic-auth credentials + /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/hmac-auth: get: - operationId: list-key-set - summary: List all KeySets - description: List all KeySets + 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 KeySets + description: A successful response listing HMAC-auth credentials content: application/json: schema: @@ -2428,108 +2479,110 @@ paths: data: type: array items: - $ref: '#/components/schemas/KeySet' + $ref: '#/components/schemas/HMACAuth' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' - '401': - $ref: '#/components/responses/HTTP401Error' tags: - - KeySets + - HMAC-auth credentials parameters: - $ref: '#/components/parameters/controlPlaneId' post: - operationId: create-key-set - summary: Create a new KeySet - description: Create a new KeySet + 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 the new KeySet for creation + description: Description of new HMAC-auth credential for creation required: true content: application/json: schema: - $ref: '#/components/schemas/KeySet' + $ref: '#/components/schemas/HMACAuthWithoutParents' responses: '201': - description: Successfully created KeySet + description: Successfully created HMAC-auth credential content: application/json: schema: - $ref: '#/components/schemas/KeySet' - '401': - $ref: '#/components/responses/HTTP401Error' + $ref: '#/components/schemas/HMACAuth' tags: - - KeySets - /v2/control-planes/{controlPlaneId}/core-entities/key-sets/{KeySetId}: + - HMAC-auth credentials + /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/hmac-auth/{HMACAuthId}: delete: - operationId: delete-key-set - summary: Delete a KeySet - description: Delete a KeySet + 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/KeySetId' + - $ref: '#/components/parameters/ConsumerIdForNestedEntities' + - $ref: '#/components/parameters/HMACAuthId' responses: '204': - description: Successfully deleted KeySet or the resource didn't exist - '401': - $ref: '#/components/responses/HTTP401Error' + description: >- + Successfully deleted HMAC-auth credential or the resource didn't + exist tags: - - KeySets + - HMAC-auth credentials get: - operationId: get-key-set - summary: Fetch a KeySet - description: Get a KeySet using ID or name. + operationId: get-hmac-auth-with-consumer + summary: Fetch a HMAC-auth credential associated with a Consumer + description: Get a HMAC-auth credential associated with a Consumer using ID. + parameters: + - $ref: '#/components/parameters/ConsumerIdForNestedEntities' + - $ref: '#/components/parameters/HMACAuthId' responses: '200': - description: Successfully fetched KeySet + description: Successfully fetched HMAC-auth credential content: application/json: schema: - $ref: '#/components/schemas/KeySet' - '401': - $ref: '#/components/responses/HTTP401Error' + $ref: '#/components/schemas/HMACAuth' '404': description: Resource does not exist tags: - - KeySets + - HMAC-auth credentials 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. + 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 KeySet + description: Description of the HMAC-auth credential required: true content: application/json: schema: - $ref: '#/components/schemas/KeySet' + $ref: '#/components/schemas/HMACAuthWithoutParents' responses: '200': - description: Successfully upserted KeySet + description: Successfully upserted HMAC-auth credential content: application/json: schema: - $ref: '#/components/schemas/KeySet' - '401': - $ref: '#/components/responses/HTTP401Error' + $ref: '#/components/schemas/HMACAuth' tags: - - KeySets - /v2/control-planes/{controlPlaneId}/core-entities/key-sets/{KeySetId}/keys: + - HMAC-auth credentials + /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/jwt: get: - operationId: list-key-with-key-set - summary: List all Keys associated with a KeySet - description: List all Keys associated with a KeySet + 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/KeySetId' + - $ref: '#/components/parameters/ConsumerIdForNestedEntities' - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': - description: A successful response listing Keys + description: A successful response listing JWTs content: application/json: schema: @@ -2538,105 +2591,106 @@ paths: data: type: array items: - $ref: '#/components/schemas/Key' + $ref: '#/components/schemas/JWT' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - - Keys + - JWTs 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 + 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/KeySetId' + - $ref: '#/components/parameters/ConsumerIdForNestedEntities' requestBody: - description: Description of new Key for creation + description: Description of new JWT for creation required: true content: application/json: schema: - $ref: '#/components/schemas/KeyWithoutParents' + $ref: '#/components/schemas/JWTWithoutParents' responses: '201': - description: Successfully created Key + description: Successfully created JWT content: application/json: schema: - $ref: '#/components/schemas/Key' + $ref: '#/components/schemas/JWT' tags: - - Keys - /v2/control-planes/{controlPlaneId}/core-entities/key-sets/{KeySetId}/keys/{KeyId}: + - JWTs + /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/jwt/{JWTId}: 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. + 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/KeySetId' - - $ref: '#/components/parameters/KeyId' + - $ref: '#/components/parameters/ConsumerIdForNestedEntities' + - $ref: '#/components/parameters/JWTId' responses: '204': - description: Successfully deleted Key or the resource didn't exist + description: Successfully deleted JWT or the resource didn't exist tags: - - Keys + - JWTs get: - operationId: get-key-with-key-set - summary: Fetch a Key associated with a KeySet - description: Get a Key associated with a KeySet using ID or name. + operationId: get-jwt-with-consumer + summary: Fetch a JWT associated with a Consumer + description: Get a JWT associated with a Consumer using ID. parameters: - - $ref: '#/components/parameters/KeySetId' - - $ref: '#/components/parameters/KeyId' + - $ref: '#/components/parameters/ConsumerIdForNestedEntities' + - $ref: '#/components/parameters/JWTId' responses: '200': - description: Successfully fetched Key + description: Successfully fetched JWT content: application/json: schema: - $ref: '#/components/schemas/Key' + $ref: '#/components/schemas/JWT' '404': description: Resource does not exist tags: - - Keys + - JWTs 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. + 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/KeySetId' - - $ref: '#/components/parameters/KeyId' + - $ref: '#/components/parameters/ConsumerIdForNestedEntities' + - $ref: '#/components/parameters/JWTId' requestBody: - description: Description of the Key + description: Description of the JWT required: true content: application/json: schema: - $ref: '#/components/schemas/KeyWithoutParents' + $ref: '#/components/schemas/JWTWithoutParents' responses: '200': - description: Successfully upserted Key + description: Successfully upserted JWT content: application/json: schema: - $ref: '#/components/schemas/Key' + $ref: '#/components/schemas/JWT' tags: - - Keys - /v2/control-planes/{controlPlaneId}/core-entities/keys: + - JWTs + /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/key-auth: get: - operationId: list-key - summary: List all Keys - description: List all Keys + 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 Keys + description: A successful response listing API-keys content: application/json: schema: @@ -2645,101 +2699,100 @@ paths: data: type: array items: - $ref: '#/components/schemas/Key' + $ref: '#/components/schemas/KeyAuth' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' - '401': - $ref: '#/components/responses/HTTP401Error' tags: - - Keys + - API-keys parameters: - $ref: '#/components/parameters/controlPlaneId' post: - operationId: create-key - summary: Create a new Key - description: Create a new Key + 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 the new Key for creation + description: Description of new API-key for creation required: true content: application/json: schema: - $ref: '#/components/schemas/Key' + $ref: '#/components/schemas/KeyAuthWithoutParents' responses: '201': - description: Successfully created Key + description: Successfully created API-key content: application/json: schema: - $ref: '#/components/schemas/Key' - '401': - $ref: '#/components/responses/HTTP401Error' + $ref: '#/components/schemas/KeyAuth' tags: - - Keys - /v2/control-planes/{controlPlaneId}/core-entities/keys/{KeyId}: + - API-keys + /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/key-auth/{KeyAuthId}: delete: - operationId: delete-key - summary: Delete a Key - description: Delete a Key + 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/KeyId' + - $ref: '#/components/parameters/ConsumerIdForNestedEntities' + - $ref: '#/components/parameters/KeyAuthId' responses: '204': - description: Successfully deleted Key or the resource didn't exist - '401': - $ref: '#/components/responses/HTTP401Error' + description: Successfully deleted API-key or the resource didn't exist tags: - - Keys + - API-keys get: - operationId: get-key - summary: Fetch a Key - description: Get a Key using ID or name. + operationId: get-key-auth-with-consumer + summary: Fetch an API-key associated with a Consumer + description: Get an API-key associated with a Consumer using ID. + parameters: + - $ref: '#/components/parameters/ConsumerIdForNestedEntities' + - $ref: '#/components/parameters/KeyAuthId' responses: '200': - description: Successfully fetched Key + description: Successfully fetched API-key content: application/json: schema: - $ref: '#/components/schemas/Key' - '401': - $ref: '#/components/responses/HTTP401Error' + $ref: '#/components/schemas/KeyAuth' '404': description: Resource does not exist tags: - - Keys + - API-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. + 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 Key + description: Description of the API-key required: true content: application/json: schema: - $ref: '#/components/schemas/Key' + $ref: '#/components/schemas/KeyAuthWithoutParents' responses: '200': - description: Successfully upserted Key + description: Successfully upserted API-key content: application/json: schema: - $ref: '#/components/schemas/Key' - '401': - $ref: '#/components/responses/HTTP401Error' + $ref: '#/components/schemas/KeyAuth' tags: - - Keys - /v2/control-planes/{controlPlaneId}/core-entities/mtls-auths: + - API-keys + /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/mtls-auth: get: - operationId: list-mtls-auth - summary: List all MTLS-auth credentials - description: List all MTLS-auth credentials + 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' @@ -2759,17 +2812,54 @@ paths: $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}: + 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 - summary: Fetch a MTLS-auth credential - description: Get a MTLS-auth credential using ID. + operationId: get-mtls-auth-with-consumer + summary: Fetch a MTLS-auth credential associated with a Consumer + description: Get a MTLS-auth credential associated with a Consumer using ID. + parameters: + - $ref: '#/components/parameters/ConsumerIdForNestedEntities' + - $ref: '#/components/parameters/MTLSAuthId' responses: '200': description: Successfully fetched MTLS-auth credential @@ -2777,124 +2867,44 @@ paths: 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/plugin-schemas: parameters: - $ref: '#/components/parameters/controlPlaneId' - get: - summary: List custom plugin schemas associated with a control plane - responses: - '200': - $ref: '#/components/responses/list-plugin-schemas' - '400': - $ref: '#/components/responses/BadRequest' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - operationId: list-plugin-schemas + put: + operationId: upsert-mtls-auth-with-consumer + summary: Upsert a MTLS-auth credential associated with a Consumer description: >- - Returns an array of custom plugins schemas associated with a control - plane. + Create or Update a MTLS-auth credential associated with a Consumer using + ID. parameters: - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageAfter' - tags: - - Custom Plugin Schemas - post: - x-speakeasy-entity-operation: GatewayCustomPluginSchema#create - summary: Upload custom plugin schema - operationId: create-plugin-schemas - responses: - '201': - $ref: '#/components/responses/plugin-schemas' - '400': - $ref: '#/components/responses/BadRequest' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '409': - $ref: '#/components/responses/Conflict' - tags: - - Custom Plugin Schemas - description: Upload a custom plugin schema associated with a control plane. - requestBody: - $ref: '#/components/requestBodies/create-plugin-schemas' - /v2/control-planes/{controlPlaneId}/core-entities/plugin-schemas/{name}: - parameters: - - $ref: '#/components/parameters/controlPlaneId' - - schema: - type: string - example: myplugin - name: name - in: path - required: true - description: The custom plugin name - get: - x-speakeasy-entity-operation: GatewayCustomPluginSchema#read - summary: Fetch custom plugin schema - responses: - '200': - $ref: '#/components/responses/plugin-schemas' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - operationId: get-plugin-schema - description: Returns information about a custom plugin from a given name. - tags: - - Custom Plugin Schemas - delete: - x-speakeasy-entity-operation: GatewayCustomPluginSchema#delete - summary: Delete custom plugin schema - operationId: delete-plugin-schemas - responses: - '204': - description: No Content - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - description: Delete an individual custom plugin schema. - tags: - - Custom Plugin Schemas - put: - x-speakeasy-entity-operation: GatewayCustomPluginSchema#update - summary: Create or update a custom plugin schema - operationId: update-plugin-schemas + - $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': - $ref: '#/components/responses/plugin-schemas' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - description: Create or update an individual custom plugin schema. + description: Successfully upserted MTLS-auth credential + content: + application/json: + schema: + $ref: '#/components/schemas/MTLSAuth' tags: - - Custom Plugin Schemas - requestBody: - $ref: '#/components/requestBodies/create-plugin-schemas' - /v2/control-planes/{controlPlaneId}/core-entities/plugins: + - MTLS-auth credentials + /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/plugins: get: - operationId: list-plugin - summary: List all Plugins - description: List all Plugins + 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' @@ -2914,23 +2924,23 @@ paths: $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 + 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 the new Plugin for creation + description: Description of new Plugin for creation required: true content: application/json: schema: - $ref: '#/components/schemas/Plugin' + $ref: '#/components/schemas/PluginWithoutParents' responses: '201': description: Successfully created Plugin @@ -2938,28 +2948,28 @@ paths: application/json: schema: $ref: '#/components/schemas/Plugin' - '401': - $ref: '#/components/responses/HTTP401Error' tags: - Plugins - /v2/control-planes/{controlPlaneId}/core-entities/plugins/{PluginId}: + /v2/control-planes/{controlPlaneId}/core-entities/consumers/{ConsumerIdForNestedEntities}/plugins/{PluginId}: delete: - operationId: delete-plugin - summary: Delete a Plugin - description: Delete a Plugin + 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 - '401': - $ref: '#/components/responses/HTTP401Error' tags: - Plugins get: - operationId: get-plugin - summary: Fetch a Plugin - description: Get a Plugin using ID. + operationId: get-plugin-with-consumer + summary: Fetch a Plugin associated with a Consumer + description: Get a Plugin associated with a Consumer using ID. + parameters: + - $ref: '#/components/parameters/ConsumerIdForNestedEntities' + - $ref: '#/components/parameters/PluginId' responses: '200': description: Successfully fetched Plugin @@ -2967,26 +2977,26 @@ paths: 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. + 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/Plugin' + $ref: '#/components/schemas/PluginWithoutParents' responses: '200': description: Successfully upserted Plugin @@ -2994,22 +3004,20 @@ paths: application/json: schema: $ref: '#/components/schemas/Plugin' - '401': - $ref: '#/components/responses/HTTP401Error' tags: - Plugins - /v2/control-planes/{controlPlaneId}/core-entities/routes: + /v2/control-planes/{controlPlaneId}/core-entities/hmac-auths: get: - operationId: list-route - summary: List all Routes - description: List all Routes + 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 Routes + description: A successful response listing HMAC-auth credentials content: application/json: schema: @@ -3018,7 +3026,7 @@ paths: data: type: array items: - $ref: '#/components/schemas/Route' + $ref: '#/components/schemas/HMACAuth' next: $ref: '#/components/schemas/PaginationNextResponse' offset: @@ -3026,100 +3034,42 @@ paths: '401': $ref: '#/components/responses/HTTP401Error' tags: - - Routes + - HMAC-auth credentials 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 + /v2/control-planes/{controlPlaneId}/core-entities/hmac-auths/{HMACAuthId}: get: - operationId: get-route - summary: Fetch a Route - description: Get a Route using ID or name. + operationId: get-hmac-auth + summary: Fetch a HMAC-auth credential + description: Get a HMAC-auth credential using ID. responses: '200': - description: Successfully fetched Route + description: Successfully fetched HMAC-auth credential content: application/json: schema: - $ref: '#/components/schemas/Route' + $ref: '#/components/schemas/HMACAuth' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - - Routes + - HMAC-auth credentials parameters: - - $ref: '#/components/parameters/RouteId' + - $ref: '#/components/parameters/HMACAuthId' - $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: + /v2/control-planes/{controlPlaneId}/core-entities/jwts: get: - operationId: list-plugin-with-route - summary: List all Plugins associated with a Route - description: List all Plugins associated with a Route + operationId: list-jwt + summary: List all JWTs + description: List all JWTs 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 + description: A successful response listing JWTs content: application/json: schema: @@ -3128,133 +3078,102 @@ paths: data: type: array items: - $ref: '#/components/schemas/Plugin' + $ref: '#/components/schemas/JWT' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' + '401': + $ref: '#/components/responses/HTTP401Error' tags: - - Plugins + - JWTs 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 + /v2/control-planes/{controlPlaneId}/core-entities/jwts/{JWTId}: get: - operationId: get-plugin-with-route - summary: Fetch a Plugin associated with a Route - description: Get a Plugin associated with a Route using ID. - parameters: - - $ref: '#/components/parameters/RouteId' - - $ref: '#/components/parameters/PluginId' + operationId: get-jwt + summary: Fetch a JWT + description: Get a JWT using ID. responses: '200': - description: Successfully fetched Plugin + description: Successfully fetched JWT content: application/json: schema: - $ref: '#/components/schemas/Plugin' + $ref: '#/components/schemas/JWT' + '401': + $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - - Plugins + - JWTs parameters: + - $ref: '#/components/parameters/JWTId' - $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. + /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/RouteId' - - $ref: '#/components/parameters/PluginId' - requestBody: - description: Description of the Plugin - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/PluginWithoutParents' + - $ref: '#/components/parameters/PaginationSize' + - $ref: '#/components/parameters/PaginationOffset' + - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': - description: Successfully upserted Plugin + description: A successful response listing API-keys content: application/json: schema: - $ref: '#/components/schemas/Plugin' + 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: - - Plugins - /v2/control-planes/{controlPlaneId}/core-entities/schemas/plugins/{pluginName}: + - API-keys + parameters: + - $ref: '#/components/parameters/controlPlaneId' + /v2/control-planes/{controlPlaneId}/core-entities/key-auths/{KeyAuthId}: get: - operationId: fetch-plugin-schema - summary: Fetch plugin schema - description: Get the schema for a plugin + operationId: get-key-auth + summary: Fetch an API-key + description: Get an API-key using ID. responses: '200': - description: The schema for the plugin + description: Successfully fetched API-key content: application/json: schema: - type: object - properties: - fields: - type: array - items: - additionalProperties: true - type: object + $ref: '#/components/schemas/KeyAuth' + '401': + $ref: '#/components/responses/HTTP401Error' + '404': + description: Resource does not exist tags: - - Plugins + - API-keys parameters: - - name: pluginName - in: path - description: The name of the plugin - required: true - schema: - type: string + - $ref: '#/components/parameters/KeyAuthId' - $ref: '#/components/parameters/controlPlaneId' - /v2/control-planes/{controlPlaneId}/core-entities/services: + /v2/control-planes/{controlPlaneId}/core-entities/key-sets: get: - operationId: list-service - summary: List all Services - description: List all Services + 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 Services + description: A successful response listing KeySets content: application/json: schema: @@ -3263,7 +3182,7 @@ paths: data: type: array items: - $ref: '#/components/schemas/Service' + $ref: '#/components/schemas/KeySet' next: $ref: '#/components/schemas/PaginationNextResponse' offset: @@ -3271,100 +3190,100 @@ paths: '401': $ref: '#/components/responses/HTTP401Error' tags: - - Services + - KeySets parameters: - $ref: '#/components/parameters/controlPlaneId' post: - operationId: create-service - summary: Create a new Service - description: Create a new Service + operationId: create-key-set + summary: Create a new KeySet + description: Create a new KeySet requestBody: - description: Description of the new Service for creation + description: Description of the new KeySet for creation required: true content: application/json: schema: - $ref: '#/components/schemas/Service' + $ref: '#/components/schemas/KeySet' responses: '201': - description: Successfully created Service + description: Successfully created KeySet content: application/json: schema: - $ref: '#/components/schemas/Service' + $ref: '#/components/schemas/KeySet' '401': $ref: '#/components/responses/HTTP401Error' tags: - - Services - /v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}: + - KeySets + /v2/control-planes/{controlPlaneId}/core-entities/key-sets/{KeySetId}: delete: - operationId: delete-service - summary: Delete a Service - description: Delete a Service + operationId: delete-key-set + summary: Delete a KeySet + description: Delete a KeySet parameters: - - $ref: '#/components/parameters/ServiceId' + - $ref: '#/components/parameters/KeySetId' responses: '204': - description: Successfully deleted Service or the resource didn't exist + description: Successfully deleted KeySet or the resource didn't exist '401': $ref: '#/components/responses/HTTP401Error' tags: - - Services + - KeySets get: - operationId: get-service - summary: Fetch a Service - description: Get a Service using ID or name. + operationId: get-key-set + summary: Fetch a KeySet + description: Get a KeySet using ID or name. responses: '200': - description: Successfully fetched Service + description: Successfully fetched KeySet content: application/json: schema: - $ref: '#/components/schemas/Service' + $ref: '#/components/schemas/KeySet' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - - Services + - KeySets parameters: - - $ref: '#/components/parameters/ServiceId' + - $ref: '#/components/parameters/KeySetId' - $ref: '#/components/parameters/controlPlaneId' put: - operationId: upsert-service - summary: Upsert a Service - description: Create or Update Service using ID or name. + operationId: upsert-key-set + summary: Upsert a KeySet + description: Create or Update KeySet using ID or name. requestBody: - description: Description of the Service + description: Description of the KeySet required: true content: application/json: schema: - $ref: '#/components/schemas/Service' + $ref: '#/components/schemas/KeySet' responses: '200': - description: Successfully upserted Service + description: Successfully upserted KeySet content: application/json: schema: - $ref: '#/components/schemas/Service' + $ref: '#/components/schemas/KeySet' '401': $ref: '#/components/responses/HTTP401Error' tags: - - Services - /v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}/plugins: + - KeySets + /v2/control-planes/{controlPlaneId}/core-entities/key-sets/{KeySetId}/keys: get: - operationId: list-plugin-with-service - summary: List all Plugins associated with a Service - description: List all Plugins associated with a Service + 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/ServiceId' + - $ref: '#/components/parameters/KeySetId' - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': - description: A successful response listing Plugins + description: A successful response listing Keys content: application/json: schema: @@ -3373,106 +3292,105 @@ paths: data: type: array items: - $ref: '#/components/schemas/Plugin' + $ref: '#/components/schemas/Key' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' tags: - - Plugins + - Keys 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 + 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/ServiceId' + - $ref: '#/components/parameters/KeySetId' requestBody: - description: Description of new Plugin for creation + description: Description of new Key for creation required: true content: application/json: schema: - $ref: '#/components/schemas/PluginWithoutParents' + $ref: '#/components/schemas/KeyWithoutParents' responses: '201': - description: Successfully created Plugin + description: Successfully created Key content: application/json: schema: - $ref: '#/components/schemas/Plugin' + $ref: '#/components/schemas/Key' tags: - - Plugins - /v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}/plugins/{PluginId}: + - Keys + /v2/control-planes/{controlPlaneId}/core-entities/key-sets/{KeySetId}/keys/{KeyId}: 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. + 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/ServiceId' - - $ref: '#/components/parameters/PluginId' + - $ref: '#/components/parameters/KeySetId' + - $ref: '#/components/parameters/KeyId' responses: '204': - description: Successfully deleted Plugin or the resource didn't exist + description: Successfully deleted Key or the resource didn't exist tags: - - Plugins + - Keys get: - operationId: get-plugin-with-service - summary: Fetch a Plugin associated with a Service - description: Get a Plugin associated with a Service using ID. + operationId: get-key-with-key-set + summary: Fetch a Key associated with a KeySet + description: Get a Key associated with a KeySet using ID or name. parameters: - - $ref: '#/components/parameters/ServiceId' - - $ref: '#/components/parameters/PluginId' + - $ref: '#/components/parameters/KeySetId' + - $ref: '#/components/parameters/KeyId' responses: '200': - description: Successfully fetched Plugin + description: Successfully fetched Key content: application/json: schema: - $ref: '#/components/schemas/Plugin' + $ref: '#/components/schemas/Key' '404': description: Resource does not exist tags: - - Plugins + - Keys 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' + 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 Plugin + description: Description of the Key required: true content: application/json: schema: - $ref: '#/components/schemas/PluginWithoutParents' + $ref: '#/components/schemas/KeyWithoutParents' responses: '200': - description: Successfully upserted Plugin + description: Successfully upserted Key content: application/json: schema: - $ref: '#/components/schemas/Plugin' + $ref: '#/components/schemas/Key' tags: - - Plugins - /v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}/routes: + - Keys + /v2/control-planes/{controlPlaneId}/core-entities/keys: get: - operationId: list-route-with-service - summary: List all Routes associated with a Service - description: List all Routes associated with a Service + operationId: list-key + summary: List all Keys + description: List all Keys 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 + description: A successful response listing Keys content: application/json: schema: @@ -3481,105 +3399,107 @@ paths: data: type: array items: - $ref: '#/components/schemas/Route' + $ref: '#/components/schemas/Key' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' + '401': + $ref: '#/components/responses/HTTP401Error' tags: - - Routes + - Keys 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' + operationId: create-key + summary: Create a new Key + description: Create a new Key requestBody: - description: Description of new Route for creation + description: Description of the new Key for creation required: true content: application/json: schema: - $ref: '#/components/schemas/RouteWithoutParents' + $ref: '#/components/schemas/Key' responses: '201': - description: Successfully created Route + description: Successfully created Key content: application/json: schema: - $ref: '#/components/schemas/Route' + $ref: '#/components/schemas/Key' + '401': + $ref: '#/components/responses/HTTP401Error' tags: - - Routes - /v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}/routes/{RouteId}: + - Keys + /v2/control-planes/{controlPlaneId}/core-entities/keys/{KeyId}: 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. + operationId: delete-key + summary: Delete a Key + description: Delete a Key parameters: - - $ref: '#/components/parameters/ServiceId' - - $ref: '#/components/parameters/RouteId' + - $ref: '#/components/parameters/KeyId' responses: '204': - description: Successfully deleted Route or the resource didn't exist + description: Successfully deleted Key or the resource didn't exist + '401': + $ref: '#/components/responses/HTTP401Error' tags: - - Routes + - Keys get: - operationId: get-route-with-service - summary: Fetch a Route associated with a Service - description: Get a Route associated with a Service using ID or name. - parameters: - - $ref: '#/components/parameters/ServiceId' - - $ref: '#/components/parameters/RouteId' + operationId: get-key + summary: Fetch a Key + description: Get a Key using ID or name. responses: '200': - description: Successfully fetched Route + description: Successfully fetched Key content: application/json: schema: - $ref: '#/components/schemas/Route' + $ref: '#/components/schemas/Key' + '401': + $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - - Routes + - Keys parameters: + - $ref: '#/components/parameters/KeyId' - $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' + operationId: upsert-key + summary: Upsert a Key + description: Create or Update Key using ID or name. requestBody: - description: Description of the Route + description: Description of the Key required: true content: application/json: schema: - $ref: '#/components/schemas/RouteWithoutParents' + $ref: '#/components/schemas/Key' responses: '200': - description: Successfully upserted Route + description: Successfully upserted Key content: application/json: schema: - $ref: '#/components/schemas/Route' + $ref: '#/components/schemas/Key' + '401': + $ref: '#/components/responses/HTTP401Error' tags: - - Routes - /v2/control-planes/{controlPlaneId}/core-entities/snis: + - Keys + /v2/control-planes/{controlPlaneId}/core-entities/mtls-auths: get: - operationId: list-sni - summary: List all SNIs - description: List all SNIs + 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 SNIs + description: A successful response listing MTLS-auth credentials content: application/json: schema: @@ -3588,7 +3508,7 @@ paths: data: type: array items: - $ref: '#/components/schemas/SNI' + $ref: '#/components/schemas/MTLSAuth' next: $ref: '#/components/schemas/PaginationNextResponse' offset: @@ -3596,209 +3516,145 @@ paths: '401': $ref: '#/components/responses/HTTP401Error' tags: - - SNIs + - MTLS-auth credentials 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 + /v2/control-planes/{controlPlaneId}/core-entities/mtls-auths/{MTLSAuthId}: get: - operationId: get-sni - summary: Fetch an SNI - description: Get an SNI using ID or name. + operationId: get-mtls-auth + summary: Fetch a MTLS-auth credential + description: Get a MTLS-auth credential using ID. responses: '200': - description: Successfully fetched SNI + description: Successfully fetched MTLS-auth credential content: application/json: schema: - $ref: '#/components/schemas/SNI' + $ref: '#/components/schemas/MTLSAuth' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - - SNIs + - MTLS-auth credentials + parameters: + - $ref: '#/components/parameters/MTLSAuthId' + - $ref: '#/components/parameters/controlPlaneId' + /v2/control-planes/{controlPlaneId}/core-entities/plugin-schemas: parameters: - - $ref: '#/components/parameters/SNIId' - $ref: '#/components/parameters/controlPlaneId' - put: - operationId: upsert-sni - summary: Upsert a SNI - description: Create or Update SNI using ID or name. - requestBody: - description: Description of the SNI - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/SNI' - responses: - '200': - description: Successfully upserted SNI - content: - application/json: - schema: - $ref: '#/components/schemas/SNI' - '401': - $ref: '#/components/responses/HTTP401Error' - tags: - - SNIs - /v2/control-planes/{controlPlaneId}/core-entities/upstreams: get: - operationId: list-upstream - summary: List all Upstreams - description: List all Upstreams - parameters: - - $ref: '#/components/parameters/PaginationSize' - - $ref: '#/components/parameters/PaginationOffset' - - $ref: '#/components/parameters/PaginationTagsFilter' + summary: List custom plugin schemas associated with a control plane 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' + $ref: '#/components/responses/list-plugin-schemas' + '400': + $ref: '#/components/responses/BadRequest' '401': - $ref: '#/components/responses/HTTP401Error' + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + operationId: list-plugin-schemas + description: >- + Returns an array of custom plugins schemas associated with a control + plane. + parameters: + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageAfter' tags: - - Upstreams - parameters: - - $ref: '#/components/parameters/controlPlaneId' + - Custom Plugin Schemas 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' + x-speakeasy-entity-operation: GatewayCustomPluginSchema#create + summary: Upload custom plugin schema + operationId: create-plugin-schemas responses: '201': - description: Successfully created Upstream - content: - application/json: - schema: - $ref: '#/components/schemas/Upstream' + $ref: '#/components/responses/plugin-schemas' + '400': + $ref: '#/components/responses/BadRequest' '401': - $ref: '#/components/responses/HTTP401Error' + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '409': + $ref: '#/components/responses/Conflict' 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' + - Custom Plugin Schemas + description: Upload a custom plugin schema associated with a control plane. + requestBody: + $ref: '#/components/requestBodies/create-plugin-schemas' + /v2/control-planes/{controlPlaneId}/core-entities/plugin-schemas/{name}: + parameters: + - $ref: '#/components/parameters/controlPlaneId' + - schema: + type: string + example: myplugin + name: name + in: path + required: true + description: The custom plugin name + get: + x-speakeasy-entity-operation: GatewayCustomPluginSchema#read + summary: Fetch custom plugin schema responses: - '204': - description: Successfully deleted Upstream or the resource didn't exist + '200': + $ref: '#/components/responses/plugin-schemas' '401': - $ref: '#/components/responses/HTTP401Error' + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' + operationId: get-plugin-schema + description: Returns information about a custom plugin from a given name. tags: - - Upstreams - get: - operationId: get-upstream - summary: Fetch an Upstream - description: Get an Upstream using ID or name. + - Custom Plugin Schemas + delete: + x-speakeasy-entity-operation: GatewayCustomPluginSchema#delete + summary: Delete custom plugin schema + operationId: delete-plugin-schemas responses: - '200': - description: Successfully fetched Upstream - content: - application/json: - schema: - $ref: '#/components/schemas/Upstream' + '204': + description: No Content '401': - $ref: '#/components/responses/HTTP401Error' + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' '404': - description: Resource does not exist + $ref: '#/components/responses/NotFound' + description: Delete an individual custom plugin schema. tags: - - Upstreams - parameters: - - $ref: '#/components/parameters/UpstreamId' - - $ref: '#/components/parameters/controlPlaneId' + - Custom Plugin Schemas 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' + x-speakeasy-entity-operation: GatewayCustomPluginSchema#update + summary: Create or update a custom plugin schema + operationId: update-plugin-schemas responses: '200': - description: Successfully upserted Upstream - content: - application/json: - schema: - $ref: '#/components/schemas/Upstream' + $ref: '#/components/responses/plugin-schemas' '401': - $ref: '#/components/responses/HTTP401Error' + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' + description: Create or update an individual custom plugin schema. tags: - - Upstreams - /v2/control-planes/{controlPlaneId}/core-entities/upstreams/{UpstreamIdForTarget}/targets: + - Custom Plugin Schemas + requestBody: + $ref: '#/components/requestBodies/create-plugin-schemas' + /v2/control-planes/{controlPlaneId}/core-entities/plugins: get: - operationId: list-target-with-upstream - summary: List all Targets associated with an Upstream - description: List all Targets associated with an Upstream + operationId: list-plugin + summary: List all Plugins + description: List all Plugins 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 + description: A successful response listing Plugins content: application/json: schema: @@ -3807,107 +3663,107 @@ paths: data: type: array items: - $ref: '#/components/schemas/Target' + $ref: '#/components/schemas/Plugin' next: $ref: '#/components/schemas/PaginationNextResponse' offset: $ref: '#/components/schemas/PaginationOffsetResponse' + '401': + $ref: '#/components/responses/HTTP401Error' tags: - - Targets + - Plugins 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' + operationId: create-plugin + summary: Create a new Plugin + description: Create a new Plugin requestBody: - description: Description of new Target for creation + description: Description of the new Plugin for creation required: true content: application/json: schema: - $ref: '#/components/schemas/TargetWithoutParents' + $ref: '#/components/schemas/Plugin' responses: '201': - description: Successfully created Target + description: Successfully created Plugin content: application/json: schema: - $ref: '#/components/schemas/Target' + $ref: '#/components/schemas/Plugin' + '401': + $ref: '#/components/responses/HTTP401Error' tags: - - Targets - /v2/control-planes/{controlPlaneId}/core-entities/upstreams/{UpstreamIdForTarget}/targets/{TargetId}: + - Plugins + /v2/control-planes/{controlPlaneId}/core-entities/plugins/{PluginId}: 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. + operationId: delete-plugin + summary: Delete a Plugin + description: Delete a Plugin parameters: - - $ref: '#/components/parameters/UpstreamIdForTarget' - - $ref: '#/components/parameters/TargetId' + - $ref: '#/components/parameters/PluginId' responses: '204': - description: Successfully deleted Target or the resource didn't exist + description: Successfully deleted Plugin or the resource didn't exist + '401': + $ref: '#/components/responses/HTTP401Error' tags: - - Targets + - Plugins get: - operationId: get-target-with-upstream - summary: Fetch a Target associated with an Upstream - description: Get a Target associated with an Upstream using ID or target. - parameters: - - $ref: '#/components/parameters/UpstreamIdForTarget' - - $ref: '#/components/parameters/TargetId' + operationId: get-plugin + summary: Fetch a Plugin + description: Get a Plugin using ID. responses: '200': - description: Successfully fetched Target + description: Successfully fetched Plugin content: application/json: schema: - $ref: '#/components/schemas/Target' + $ref: '#/components/schemas/Plugin' + '401': + $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - - Targets + - Plugins parameters: + - $ref: '#/components/parameters/PluginId' - $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' + operationId: upsert-plugin + summary: Upsert a Plugin + description: Create or Update Plugin using ID. requestBody: - description: Description of the Target + description: Description of the Plugin required: true content: application/json: schema: - $ref: '#/components/schemas/TargetWithoutParents' + $ref: '#/components/schemas/Plugin' responses: '200': - description: Successfully upserted Target + description: Successfully upserted Plugin content: application/json: schema: - $ref: '#/components/schemas/Target' + $ref: '#/components/schemas/Plugin' + '401': + $ref: '#/components/responses/HTTP401Error' tags: - - Targets - /v2/control-planes/{controlPlaneId}/core-entities/vaults: + - Plugins + /v2/control-planes/{controlPlaneId}/core-entities/routes: get: - operationId: list-vault - summary: List all Vaults - description: List all Vaults + operationId: list-route + summary: List all Routes + description: List all Routes parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': - description: A successful response listing Vaults + description: A successful response listing Routes content: application/json: schema: @@ -3916,7 +3772,7 @@ paths: data: type: array items: - $ref: '#/components/schemas/Vault' + $ref: '#/components/schemas/Route' next: $ref: '#/components/schemas/PaginationNextResponse' offset: @@ -3924,1882 +3780,2127 @@ paths: '401': $ref: '#/components/responses/HTTP401Error' tags: - - Vaults + - Routes parameters: - $ref: '#/components/parameters/controlPlaneId' post: - operationId: create-vault - summary: Create a new Vault - description: Create a new Vault + operationId: create-route + summary: Create a new Route + description: Create a new Route requestBody: - description: Description of the new Vault for creation + description: Description of the new Route for creation required: true content: application/json: schema: - $ref: '#/components/schemas/Vault' + $ref: '#/components/schemas/Route' responses: '201': - description: Successfully created Vault + description: Successfully created Route content: application/json: schema: - $ref: '#/components/schemas/Vault' + $ref: '#/components/schemas/Route' '401': $ref: '#/components/responses/HTTP401Error' tags: - - Vaults - /v2/control-planes/{controlPlaneId}/core-entities/vaults/{VaultId}: + - Routes + /v2/control-planes/{controlPlaneId}/core-entities/routes/{RouteId}: delete: - operationId: delete-vault - summary: Delete a Vault - description: Delete a Vault + operationId: delete-route + summary: Delete a Route + description: Delete a Route parameters: - - $ref: '#/components/parameters/VaultId' + - $ref: '#/components/parameters/RouteId' responses: '204': - description: Successfully deleted Vault or the resource didn't exist + description: Successfully deleted Route or the resource didn't exist '401': $ref: '#/components/responses/HTTP401Error' tags: - - Vaults + - Routes get: - operationId: get-vault - summary: Fetch a Vault - description: Get a Vault using ID or prefix. + operationId: get-route + summary: Fetch a Route + description: Get a Route using ID or name. responses: '200': - description: Successfully fetched Vault + description: Successfully fetched Route content: application/json: schema: - $ref: '#/components/schemas/Vault' + $ref: '#/components/schemas/Route' '401': $ref: '#/components/responses/HTTP401Error' '404': description: Resource does not exist tags: - - Vaults + - Routes parameters: - - $ref: '#/components/parameters/VaultId' + - $ref: '#/components/parameters/RouteId' - $ref: '#/components/parameters/controlPlaneId' put: - operationId: upsert-vault - summary: Upsert a Vault - description: Create or Update Vault using ID or prefix. + operationId: upsert-route + summary: Upsert a Route + description: Create or Update Route using ID or name. requestBody: - description: Description of the Vault + description: Description of the Route required: true content: application/json: schema: - $ref: '#/components/schemas/Vault' + $ref: '#/components/schemas/Route' responses: '200': - description: Successfully upserted Vault + description: Successfully upserted Route content: application/json: schema: - $ref: '#/components/schemas/Vault' + $ref: '#/components/schemas/Route' '401': $ref: '#/components/responses/HTTP401Error' tags: - - Vaults - /v2/control-planes/{controlPlaneId}/dp-client-certificates: - parameters: - - $ref: '#/components/parameters/controlPlaneId' + - Routes + /v2/control-planes/{controlPlaneId}/core-entities/routes/{RouteId}/plugins: get: - summary: List DP Client Certificates + 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': - $ref: '#/components/responses/ListDataPlaneCertificatesResponse' - operationId: list-dp-client-certificates + 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: - - DP Certificates - description: >- - Returns a list of pinned dataplane client certificates that are - associated to this control plane. A pinned dataplane certificate allows - dataplanes configured with the certificate and corresponding private key - to establish connection with this control plane. + - Plugins + parameters: + - $ref: '#/components/parameters/controlPlaneId' post: - x-speakeasy-entity-operation: GatewayDataPlaneClientCertificate#create - summary: Pin New DP Client Certificate - description: >- - Pin a new DP Client Certificate to this control plane. A pinned - dataplane certificate allows dataplanes configured with the certificate - and corresponding private key to establish connection with this control - plane. - operationId: create-dataplane-certificate + 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: - $ref: '#/components/requestBodies/DataPlaneClientCertificateRequest' + description: Description of new Plugin for creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PluginWithoutParents' responses: '201': - $ref: '#/components/responses/DataPlaneClientCertificateResponse' - 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: GatewayDataPlaneClientCertificate#read - summary: Fetch DP Client Certificate + description: Successfully created Plugin + content: + application/json: + schema: + $ref: '#/components/schemas/Plugin' tags: - - DP Certificates - responses: - '200': - $ref: '#/components/responses/DataPlaneClientCertificateResponse' - operationId: get-dataplane-certificate - description: >- - Retrieve a pinned dataplane client certificate associated to this - control plane. A pinned dataplane certificate allows dataplanes - configured with the certificate and corresponding private key to - establish connection with this control plane. + - Plugins + /v2/control-planes/{controlPlaneId}/core-entities/routes/{RouteId}/plugins/{PluginId}: delete: - x-speakeasy-entity-operation: GatewayDataPlaneClientCertificate#delete - summary: Delete DP Client Certificate - operationId: delete-dataplane-certificate + 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: No Content + description: Successfully deleted Plugin or the resource didn't exist tags: - - DP Certificates - description: >- - Remove a pinned dataplane client certificate associated to this control - plane. Removing a pinned dataplane certificate would invalidate any - dataplanes currently connected to this control plane using this - certificate. - /v2/control-planes/{controlPlaneId}/expected-config-hash: + - Plugins get: - summary: Fetch Expected Config Hash - tags: - - DP Nodes + operationId: get-plugin-with-route + summary: Fetch a Plugin associated with a Route + description: Get a Plugin associated with a Route using ID. + parameters: + - $ref: '#/components/parameters/RouteId' + - $ref: '#/components/parameters/PluginId' responses: '200': - $ref: '#/components/responses/GetExpectedConfigHashResponse' - operationId: get-expected-config-hash - description: >- - Retrieve the expected config hash for this control plane. The expected - config hash can be used to verify if the config hash of a data plane - node is up to date with the control plane. The config hash will be the - same if they are in sync. + 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' - /v2/control-planes/{controlPlaneId}/nodes: + 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/plugins/{pluginName}: get: - summary: List Data Plane Node Records + operationId: fetch-plugin-schema + summary: Fetch plugin schema + description: Get the schema for a plugin responses: '200': - $ref: '#/components/responses/list-nodes' - operationId: list-dataplane-nodes + description: The schema for the plugin + content: + application/json: + schema: + type: object + properties: + fields: + type: array + items: + additionalProperties: true + type: object tags: - - DP Nodes - description: >- - Returns a list of data plane node records that are associated to this - control plane. A data plane node record contains metadata information - for the data plane running Kong Gateway. - parameters: - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageAfter' - parameters: - - $ref: '#/components/parameters/controlPlaneId' - /v2/control-planes/{controlPlaneId}/nodes/{nodeId}: + - Plugins parameters: - - schema: - type: string - name: nodeId + - 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: - summary: Fetch Data Plane Node Record - responses: - '200': - $ref: '#/components/responses/get-node' - operationId: get-nodes-node_id - tags: - - DP Nodes - description: >- - Retrieve a specific data plane node record associated to this control - plane. A data plane node record contains all the metadata information of - the Kong Gateway dataplane. + operationId: list-service + summary: List all Services + description: List all Services parameters: - - $ref: '#/components/parameters/pagination-size' - - $ref: '#/components/parameters/pagination-tags-filter' - delete: - summary: Delete Data Plane Node Record - operationId: delete-nodes-node_id - responses: - '204': - description: No Content - tags: - - DP Nodes - description: >- - Remove a specific data plane node record associated to this control - plane. Deleting this record does not prevent the data plane node from - re-connecting to the control plane. - /v2/control-planes/{controlPlaneId}/nodes/eol: - get: - summary: List End-of-Life Data Plane Node Records + - $ref: '#/components/parameters/PaginationSize' + - $ref: '#/components/parameters/PaginationOffset' + - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': - $ref: '#/components/responses/list-nodes-eol' - operationId: get-nodes-eol - tags: - - DP Nodes - description: >- - Returns a list of records of data plane nodes, whose versions are - approaching End of Full Support/End of Life, that are associated with - this control plane. Each record contains a data plane node's id, - version, and corresponding resolution message to upgrade to the closest - Long Term Support version. - parameters: - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageAfter' - parameters: - - $ref: '#/components/parameters/controlPlaneId' - /v2/control-planes/{id}: - parameters: - - schema: - type: string - format: uuid - example: d32d905a-ed33-46a3-a093-d8f536af9a8a - name: id - in: path - required: true - description: The control plane ID - get: - x-speakeasy-entity-operation: GatewayControlPlane#read - summary: Fetch Control Plane - responses: - '200': - $ref: '#/components/responses/RetrieveControlPlaneResponse' - '400': - $ref: '#/components/responses/ControlPlanesBadRequest' + 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/ControlPlaneUnauthenticated' - '403': - $ref: '#/components/responses/ControlPlanePermissionDenied' - '404': - $ref: '#/components/responses/ControlPlaneNotFound' - '503': - $ref: '#/components/responses/ServiceUnavailable' - operationId: get-control-plane - description: Returns information about an individual control plane. + $ref: '#/components/responses/HTTP401Error' tags: - - Control Planes - patch: - x-speakeasy-entity-operation: GatewayControlPlane#update - summary: Update Control Plane - operationId: update-control-plane - responses: - '200': - $ref: '#/components/responses/UpdateControlPlaneResponse' - '400': - $ref: '#/components/responses/ControlPlanesBadRequest' - '401': - $ref: '#/components/responses/ControlPlaneUnauthenticated' - '403': - $ref: '#/components/responses/ControlPlanePermissionDenied' - '404': - $ref: '#/components/responses/ControlPlaneNotFound' - '500': - $ref: '#/components/responses/InternalServerError' - '503': - $ref: '#/components/responses/ServiceUnavailable' - description: Update an individual control plane. + - 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/UpdateControlPlaneRequest' + $ref: '#/components/schemas/Service' + responses: + '201': + description: Successfully created Service + content: + application/json: + schema: + $ref: '#/components/schemas/Service' + '401': + $ref: '#/components/responses/HTTP401Error' tags: - - Control Planes + - Services + /v2/control-planes/{controlPlaneId}/core-entities/services/{ServiceId}: delete: - x-speakeasy-entity-operation: GatewayControlPlane#delete - summary: Delete Control Plane - operationId: delete-control-plane + operationId: delete-service + summary: Delete a Service + description: Delete a Service + parameters: + - $ref: '#/components/parameters/ServiceId' responses: '204': - description: No Content - '400': - $ref: '#/components/responses/ControlPlanesBadRequest' + description: Successfully deleted Service or the resource didn't exist '401': - $ref: '#/components/responses/ControlPlaneUnauthenticated' - '403': - $ref: '#/components/responses/ControlPlanePermissionDenied' - '404': - $ref: '#/components/responses/ControlPlaneNotFound' - '500': - $ref: '#/components/responses/InternalServerError' - '503': - $ref: '#/components/responses/ServiceUnavailable' - description: Delete an individual control plane. + $ref: '#/components/responses/HTTP401Error' tags: - - Control Planes - /v2/control-planes/{id}/group-member-status: - parameters: - - schema: - type: string - name: id - in: path - required: true - description: ID of a control plane + - Services get: - summary: Control Plane Group Member Status - operationId: get-control-planes-id-group-member-status - tags: - - Control Plane Groups - description: Determines the group membership status of a control plane. + operationId: get-service + summary: Fetch a Service + description: Get a Service using ID or name. responses: '200': - $ref: '#/components/responses/GetGroupMemberStatus' - '400': - $ref: '#/components/responses/BadRequest' + description: Successfully fetched Service + content: + application/json: + schema: + $ref: '#/components/schemas/Service' '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' + $ref: '#/components/responses/HTTP401Error' '404': - $ref: '#/components/responses/NotFound' - '503': - $ref: '#/components/responses/ServiceUnavailable' - /v2/control-planes/{id}/group-memberships: + description: Resource does not exist + tags: + - Services parameters: - - schema: - type: string - name: id - in: path + - $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 - description: ID of a control plane group - get: - summary: List Control Plane Group Memberships - tags: - - Control Plane Groups + content: + application/json: + schema: + $ref: '#/components/schemas/Service' responses: '200': - $ref: '#/components/responses/ListGroupMemberships' - '400': - $ref: '#/components/responses/BadRequest' + description: Successfully upserted Service + content: + application/json: + schema: + $ref: '#/components/schemas/Service' '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - '503': - $ref: '#/components/responses/ServiceUnavailable' - operationId: get-control-planes-id-group-memberships - description: >- - Returns an array of control planes that are a member of this control - plane group. + $ref: '#/components/responses/HTTP401Error' + tags: + - Services + /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/PageSize' - - $ref: '#/components/parameters/PageAfter' - put: - summary: Upsert Control Plane Group Members - operationId: put-control-planes-id-group-memberships + - $ref: '#/components/parameters/ServiceId' + - $ref: '#/components/parameters/PaginationSize' + - $ref: '#/components/parameters/PaginationOffset' + - $ref: '#/components/parameters/PaginationTagsFilter' 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' - '503': - $ref: '#/components/responses/ServiceUnavailable' - requestBody: - $ref: '#/components/requestBodies/GroupMembershipUpsert' + '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: - - Control Plane Groups - description: Adds one or more control planes as a member of a control plane group. - /v2/control-planes/{id}/group-memberships/add: + - Plugins parameters: - - schema: - type: string - name: id - in: path - required: true - description: ID of a control plane group + - $ref: '#/components/parameters/controlPlaneId' post: - x-speakeasy-entity-operation: GatewayControlPlaneMembership#create - summary: Add Control Plane Group Members - operationId: post-control-planes-id-group-memberships-add - responses: - '204': - description: No Content - '400': - $ref: '#/components/responses/BadRequest' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - '503': - $ref: '#/components/responses/ServiceUnavailable' + 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: - $ref: '#/components/requestBodies/GroupMembershipAdd' - tags: - - Control Plane Groups - description: Adds one or more control planes as a member of a control plane group. - /v2/control-planes/{id}/group-memberships/remove: - parameters: - - schema: - type: string - name: id - in: path + description: Description of new Plugin for creation required: true - description: ID of a control plane group - post: - x-speakeasy-entity-operation: GatewayControlPlaneMembership#delete - summary: Remove Control Plane Group Members - operationId: post-control-planes-id-group-memberships-remove - requestBody: - $ref: '#/components/requestBodies/GroupMembershipRemove' + content: + application/json: + schema: + $ref: '#/components/schemas/PluginWithoutParents' + responses: + '201': + description: Successfully created Plugin + content: + application/json: + schema: + $ref: '#/components/schemas/Plugin' tags: - - Control Plane Groups - description: >- - Removes one or more control planes from the members of a control plane - group. + - 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: No Content - '400': - $ref: '#/components/responses/BadRequest' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - '503': - $ref: '#/components/responses/ServiceUnavailable' - /v2/control-planes/{id}/group-status: - parameters: - - schema: - type: string - name: id - in: path - required: true - description: ID of a control plane group - get: - summary: Get Control Plane Group Status + description: Successfully deleted Plugin or the resource didn't exist tags: - - Control Plane Groups + - Plugins + get: + operationId: get-plugin-with-service + summary: Fetch a Plugin associated with a Service + description: Get a Plugin associated with a Service using ID. + parameters: + - $ref: '#/components/parameters/ServiceId' + - $ref: '#/components/parameters/PluginId' responses: '200': - $ref: '#/components/responses/GetGroupStatus' - '400': - $ref: '#/components/responses/BadRequest' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' + description: Successfully fetched Plugin + content: + application/json: + schema: + $ref: '#/components/schemas/Plugin' '404': - $ref: '#/components/responses/NotFound' - '503': - $ref: '#/components/responses/ServiceUnavailable' - operationId: get-control-planes-id-group-status - description: >- - Returns the status of a control plane group, including existing - conflicts. - /v3/authenticate/{organizationLoginPath}: - get: - summary: SSO Callback - description: Callback for authenticating via an organization's IdP - operationId: authenticate-sso + description: Resource does not exist tags: - - Authentication + - 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: - - in: path - name: organizationLoginPath - description: The login path for the organization. - required: true - schema: - type: string - - in: query - name: return_to - description: Return destination for the callback. - schema: - type: string + - $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: - '302': - description: Found - '400': - $ref: '#/components/responses/IdentityBadRequest' - '401': - $ref: '#/components/responses/IdentityUnauthenticated' - servers: - - url: https://global.api.konghq.com/ - /v3/authentication-settings: - get: - summary: Get Auth Settings - description: >- - Returns authentication configuration, which determines how users can log - in and how they are assigned to teams. - operationId: get-authentication-settings + '200': + description: Successfully upserted Plugin + content: + application/json: + schema: + $ref: '#/components/schemas/Plugin' tags: - - Auth Settings + - 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': - $ref: '#/components/responses/AuthenticationSettings' - '401': - $ref: '#/components/responses/IdentityUnauthenticated' - servers: - - url: https://global.api.konghq.com/ - patch: - summary: Update Auth Settings - description: Updates authentication configuration. - operationId: update-authentication-settings + 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: - $ref: '#/components/requestBodies/UpdateAuthenticationSettings' + 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: - - Auth Settings + - 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: - '200': - $ref: '#/components/responses/AuthenticationSettings' - '400': - $ref: '#/components/responses/IdentityBadRequest' - '401': - $ref: '#/components/responses/IdentityUnauthenticated' - '403': - $ref: '#/components/responses/Unauthorized' - servers: - - url: https://global.api.konghq.com/ - /v3/identity-provider: + '204': + description: Successfully deleted Route or the resource didn't exist + tags: + - Routes get: - summary: Fetch IdP Configuration - operationId: get-idp-configuration + operationId: get-route-with-service + summary: Fetch a Route associated with a Service + description: Get a Route associated with a Service using ID or name. + parameters: + - $ref: '#/components/parameters/ServiceId' + - $ref: '#/components/parameters/RouteId' responses: '200': - $ref: '#/components/responses/IdPConfiguration' - '400': - $ref: '#/components/responses/IdentityBadRequest' - '401': - $ref: '#/components/responses/IdentityUnauthenticated' - '403': - $ref: '#/components/responses/IdentityPermissionDenied' + description: Successfully fetched Route + content: + application/json: + schema: + $ref: '#/components/schemas/Route' '404': - $ref: '#/components/responses/IdentityNotFound' + description: Resource does not exist tags: - - Auth Settings - description: Fetch the IdP configuration. - servers: - - url: https://global.api.konghq.com/ - parameters: [] - patch: - summary: Update IdP Configuration - operationId: update-idp-configuration + - 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': - $ref: '#/components/responses/IdPConfiguration' - '400': - $ref: '#/components/responses/IdentityBadRequest' - '401': - $ref: '#/components/responses/IdentityUnauthenticated' - '403': - $ref: '#/components/responses/Unauthorized' - description: Update the IdP configuration. - requestBody: - $ref: '#/components/requestBodies/UpdateIdPConfiguration' + description: Successfully upserted Route + content: + application/json: + schema: + $ref: '#/components/schemas/Route' tags: - - Auth Settings - servers: - - url: https://global.api.konghq.com/ - /v3/identity-provider/team-group-mappings: + - Routes + /v2/control-planes/{controlPlaneId}/core-entities/snis: get: - summary: Fetch Team Group Mappings - operationId: get-team-group-mappings + operationId: list-sni + summary: List all SNIs + description: List all SNIs parameters: - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageNumber' + - $ref: '#/components/parameters/PaginationSize' + - $ref: '#/components/parameters/PaginationOffset' + - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': - $ref: '#/components/responses/TeamGroupMappingCollection' - '400': - $ref: '#/components/responses/IdentityBadRequest' + 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/IdentityUnauthenticated' - '403': - $ref: '#/components/responses/IdentityPermissionDenied' + $ref: '#/components/responses/HTTP401Error' tags: - - Auth Settings - description: >- - Retrieves the mappings between Konnect Teams and Identity Provider - Groups. - - Returns a 400 error if an Identity Provider has not yet been configured. - servers: - - url: https://global.api.konghq.com/ - patch: - summary: Patch Mappings by Team ID - operationId: patch-team-group-mappings + - 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: - '200': - $ref: '#/components/responses/TeamGroupMappingCollection' - '400': - $ref: '#/components/responses/IdentityBadRequest' + '201': + description: Successfully created SNI + content: + application/json: + schema: + $ref: '#/components/schemas/SNI' '401': - $ref: '#/components/responses/IdentityUnauthenticated' - '403': - $ref: '#/components/responses/IdentityPermissionDenied' + $ref: '#/components/responses/HTTP401Error' tags: - - Auth Settings - description: >- - Allows partial updates to the mappings between Konnect Teams and - Identity Provider Groups. - - The request body must be keyed on team ID. For a given team ID, the - given group list is a - - complete replacement. To remove all mappings for a given team, provide - an empty group list. - - - Returns a 400 error if an Identity Provider has not yet been configured, - or if a team ID in - - the request body is not found or is not a UUID. - requestBody: - $ref: '#/components/requestBodies/PatchTeamGroupMappings' - servers: - - url: https://global.api.konghq.com/ - /v3/identity-provider/team-mappings: - put: - summary: Update Team Mappings - operationId: update-idp-team-mappings + - SNIs + /v2/control-planes/{controlPlaneId}/core-entities/snis/{SNIId}: + delete: + operationId: delete-sni + summary: Delete an SNI + description: Delete an SNI + parameters: + - $ref: '#/components/parameters/SNIId' + responses: + '204': + description: Successfully deleted SNI or the resource didn't exist + '401': + $ref: '#/components/responses/HTTP401Error' + tags: + - SNIs + get: + operationId: get-sni + summary: Fetch an SNI + description: Get an SNI using ID or name. responses: '200': - $ref: '#/components/responses/TeamMappingCollection' - '400': - $ref: '#/components/responses/IdentityBadRequest' + description: Successfully fetched SNI + content: + application/json: + schema: + $ref: '#/components/schemas/SNI' '401': - $ref: '#/components/responses/IdentityPermissionDenied' + $ref: '#/components/responses/HTTP401Error' '404': - $ref: '#/components/responses/IdentityNotFound' - '412': - $ref: '#/components/responses/PreconditionFailed' + description: Resource does not exist tags: - - Auth Settings - description: Updates the IdP group to Konnect team mapping. + - 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: - $ref: '#/components/requestBodies/UpdateTeamMappings' - servers: - - url: https://global.api.konghq.com/ - get: - summary: Fetch Team Mapping - operationId: get-idp-team-mappings - parameters: - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageNumber' + description: Description of the SNI + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SNI' responses: '200': - $ref: '#/components/responses/TeamMappingResponse' + description: Successfully upserted SNI + content: + application/json: + schema: + $ref: '#/components/schemas/SNI' '401': - $ref: '#/components/responses/IdentityUnauthenticated' - '403': - $ref: '#/components/responses/IdentityPermissionDenied' - '404': - $ref: '#/components/responses/IdentityNotFound' - '412': - $ref: '#/components/responses/PreconditionFailed' + $ref: '#/components/responses/HTTP401Error' tags: - - Auth Settings - description: Fetch the IdP group to Konnect team mapping. - servers: - - url: https://global.api.konghq.com/ - /v3/identity-providers: + - SNIs + /v2/control-planes/{controlPlaneId}/core-entities/upstreams: get: - summary: Retrieve Identity Providers - description: > - Retrieves the identity providers available within the organization. This - operation provides information about - - various identity providers for SAML or OIDC authentication integrations. - operationId: get-identity-providers + operationId: list-upstream + summary: List all Upstreams + description: List all Upstreams parameters: - - schema: - type: object - properties: - type: - $ref: '#/components/schemas/StringFieldEqualsFilter' - in: query - name: filter - description: Filter identity providers returned in the response. - required: false - style: deepObject + - $ref: '#/components/parameters/PaginationSize' + - $ref: '#/components/parameters/PaginationOffset' + - $ref: '#/components/parameters/PaginationTagsFilter' responses: '200': - $ref: '#/components/responses/IdentityProviders' - '401': - $ref: '#/components/responses/IdentityUnauthenticated' - '403': - $ref: '#/components/responses/IdentityPermissionDenied' + 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: - - Auth Settings - servers: - - url: https://global.api.konghq.com/ + - Upstreams + parameters: + - $ref: '#/components/parameters/controlPlaneId' post: - summary: Create Identity Provider - description: > - Creates a new identity provider. This operation allows the creation of a - new identity provider for - - authentication purposes. - operationId: create-identity-provider + operationId: create-upstream + summary: Create a new Upstream + description: Create a new Upstream requestBody: - $ref: '#/components/requestBodies/CreateIdentityProviderRequest' + description: Description of the new Upstream for creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Upstream' responses: '201': - $ref: '#/components/responses/IdentityProvider' - '400': - $ref: '#/components/responses/IdentityBadRequest' + description: Successfully created Upstream + content: + application/json: + schema: + $ref: '#/components/schemas/Upstream' '401': - $ref: '#/components/responses/IdentityUnauthenticated' - '403': - $ref: '#/components/responses/CreateIdentityProviderPermissionDenied' + $ref: '#/components/responses/HTTP401Error' tags: - - Auth Settings - servers: - - url: https://global.api.konghq.com/ - /v3/identity-providers/{id}: - parameters: - - schema: - type: string - format: uuid - example: d32d905a-ed33-46a3-a093-d8f536af9a8a - name: id - in: path - required: true - description: ID of the identity provider. + - 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: - summary: Get Identity Provider - description: > - Retrieves the configuration of a single identity provider. This - operation returns information about a - - specific identity provider's settings and authentication integration - details. - operationId: get-identity-provider + operationId: get-upstream + summary: Fetch an Upstream + description: Get an Upstream using ID or name. responses: '200': - $ref: '#/components/responses/IdentityProvider' - '400': - $ref: '#/components/responses/IdentityBadRequest' + description: Successfully fetched Upstream + content: + application/json: + schema: + $ref: '#/components/schemas/Upstream' '401': - $ref: '#/components/responses/IdentityUnauthenticated' - '403': - $ref: '#/components/responses/IdentityPermissionDenied' + $ref: '#/components/responses/HTTP401Error' '404': - $ref: '#/components/responses/IdentityNotFound' + description: Resource does not exist tags: - - Auth Settings - servers: - - url: https://global.api.konghq.com/ - patch: - summary: Update Identity Provider - description: > - Updates the configuration of an existing identity provider. This - operation allows modifications to be made - - to an existing identity provider's configuration. - operationId: update-identity-provider + - 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: - $ref: '#/components/requestBodies/UpdateIdentityProviderRequest' + description: Description of the Upstream + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Upstream' responses: '200': - $ref: '#/components/responses/IdentityProvider' - '400': - $ref: '#/components/responses/IdentityBadRequest' + description: Successfully upserted Upstream + content: + application/json: + schema: + $ref: '#/components/schemas/Upstream' '401': - $ref: '#/components/responses/IdentityUnauthenticated' - '403': - $ref: '#/components/responses/IdentityPermissionDenied' - '404': - $ref: '#/components/responses/IdentityNotFound' + $ref: '#/components/responses/HTTP401Error' tags: - - Auth Settings - servers: - - url: https://global.api.konghq.com/ - delete: - summary: Delete Identity Provider - description: > - Deletes an existing identity provider configuration. This operation - removes a specific identity provider - - from the organization. - operationId: delete-identity-provider + - 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: - '204': - description: No Content - '400': - $ref: '#/components/responses/IdentityBadRequest' - '401': - $ref: '#/components/responses/IdentityUnauthenticated' - '403': - $ref: '#/components/responses/IdentityPermissionDenied' - '404': - $ref: '#/components/responses/IdentityNotFound' + '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: - - Auth Settings - servers: - - url: https://global.api.konghq.com/ - /v3/invites: + - Targets + parameters: + - $ref: '#/components/parameters/controlPlaneId' post: - summary: Invite User - description: >- - Sends an invitation email to invite a user to the Konnect organization. - The email contains a link with a one time token to accept the - invitation. Upon accepting the invitation, the user is directed to - https://cloud.konghq.com/login to complete registration. - operationId: invite-user + 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: - $ref: '#/components/requestBodies/InviteUser' + description: Description of new Target for creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TargetWithoutParents' responses: '201': - description: Created - '400': - $ref: '#/components/responses/IdentityBadRequest' - '409': - $ref: '#/components/responses/IdentityConflict' - '429': - $ref: '#/components/responses/RateLimited' - tags: - - Invites - servers: - - url: https://global.api.konghq.com/ - /v3/organizations/impersonation: - get: - summary: Get Impersonation Settings - description: >- - Returns Impersonation Settings, which determines if user impersonation - is allowed for an organization. - operationId: get-impersonation-settings + description: Successfully created Target + content: + application/json: + schema: + $ref: '#/components/schemas/Target' tags: - - Impersonation Settings + - 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: - '200': - $ref: '#/components/responses/GetImpersonationSettingsResponse' - '401': - $ref: '#/components/responses/IdentityUnauthenticated' - '404': - $ref: '#/components/responses/IdentityNotFound' - servers: - - url: https://global.api.konghq.com/ - patch: - summary: Update Impersonation Settings - description: Updates Impersonation Settings. - operationId: update-impersonation-settings - requestBody: - $ref: '#/components/requestBodies/UpdateImpersonationSettingsRequest' + '204': + description: Successfully deleted Target or the resource didn't exist tags: - - Impersonation Settings + - Targets + get: + operationId: get-target-with-upstream + summary: Fetch a Target associated with an Upstream + description: Get a Target associated with an Upstream using ID or target. + parameters: + - $ref: '#/components/parameters/UpstreamIdForTarget' + - $ref: '#/components/parameters/TargetId' responses: '200': - $ref: '#/components/responses/UpdateImpersonationSettingsResponse' - '400': - $ref: '#/components/responses/IdentityBadRequest' - '401': - $ref: '#/components/responses/IdentityUnauthenticated' - '403': - $ref: '#/components/responses/Unauthorized' + description: Successfully fetched Target + content: + application/json: + schema: + $ref: '#/components/schemas/Target' '404': - $ref: '#/components/responses/IdentityNotFound' - servers: - - url: https://global.api.konghq.com/ - /v3/organizations/me: - get: - summary: Retrieve My Organization + description: Resource does not exist tags: - - Me - responses: - '200': - $ref: '#/components/responses/MeOrganization' - '401': - $ref: '#/components/responses/IdentityUnauthenticated' - operationId: get-organizations-me + - Targets + parameters: + - $ref: '#/components/parameters/controlPlaneId' + put: + operationId: upsert-target-with-upstream + summary: Upsert a Target associated with an Upstream description: >- - Returns the organization of the user identified in the token of the - request. - servers: - - url: https://global.api.konghq.com/ - /v3/roles: - get: - summary: Get Predefined Roles - description: Retrieves the predefined, or system managed, roles. - operationId: get-predefined-roles + 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': - $ref: '#/components/responses/Roles' - '400': - $ref: '#/components/responses/IdentityBadRequest' - '401': - $ref: '#/components/responses/IdentityUnauthenticated' + description: Successfully upserted Target + content: + application/json: + schema: + $ref: '#/components/schemas/Target' tags: - - Roles - servers: - - url: https://global.api.konghq.com/ - /v3/system-accounts: + - Targets + /v2/control-planes/{controlPlaneId}/core-entities/vaults: get: - summary: List System Accounts - tags: - - System Accounts + 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': - $ref: '#/components/responses/SystemAccountCollection' - '400': - $ref: '#/components/responses/IdentityBadRequest' + 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/IdentityUnauthenticated' - '403': - $ref: '#/components/responses/Unauthorized' - operationId: get-system-accounts - description: >- - Returns an array of system accounts (SA) in the organization. Returns - 400 if any filter parameters are invalid. - parameters: - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageNumber' - - schema: - type: object - properties: - name: - $ref: '#/components/schemas/StringFieldFilter' - description: - $ref: '#/components/schemas/StringFieldFilter' - konnect_managed: - $ref: '#/components/schemas/BooleanFieldFilter' - in: query - name: filter - description: Filter system accounts returned in the response. - required: false - style: deepObject - servers: - - url: https://global.api.konghq.com/ - post: - x-speakeasy-entity-operation: SystemAccount#create - summary: Create System Account - operationId: post-system-accounts + $ref: '#/components/responses/HTTP401Error' tags: - - System Accounts - description: >- - Creates a system account. Returns a 409 if a system account with the - same name already exists. + - Vaults + parameters: + - $ref: '#/components/parameters/controlPlaneId' + post: + operationId: create-vault + summary: Create a new Vault + description: Create a new Vault requestBody: - $ref: '#/components/requestBodies/CreateSystemAccount' + description: Description of the new Vault for creation + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Vault' responses: '201': - $ref: '#/components/responses/SystemAccountSingle' + description: Successfully created Vault + content: + application/json: + schema: + $ref: '#/components/schemas/Vault' '401': - $ref: '#/components/responses/IdentityUnauthenticated' - '403': - $ref: '#/components/responses/Unauthorized' - '409': - $ref: '#/components/responses/IdentityConflict' - servers: - - url: https://global.api.konghq.com/ - /v3/system-accounts/{accountId}: - get: - x-speakeasy-entity-operation: SystemAccount#read - summary: Fetch System Account + $ref: '#/components/responses/HTTP401Error' tags: - - System Accounts + - Vaults + /v2/control-planes/{controlPlaneId}/core-entities/vaults/{VaultId}: + delete: + operationId: delete-vault + summary: Delete a Vault + description: Delete a Vault + parameters: + - $ref: '#/components/parameters/VaultId' + responses: + '204': + description: Successfully deleted Vault or the resource didn't exist + '401': + $ref: '#/components/responses/HTTP401Error' + tags: + - Vaults + get: + operationId: get-vault + summary: Fetch a Vault + description: Get a Vault using ID or prefix. responses: '200': - $ref: '#/components/responses/SystemAccountSingle' + description: Successfully fetched Vault + content: + application/json: + schema: + $ref: '#/components/schemas/Vault' '401': - $ref: '#/components/responses/IdentityUnauthenticated' - '403': - $ref: '#/components/responses/Unauthorized' + $ref: '#/components/responses/HTTP401Error' '404': - $ref: '#/components/responses/IdentityNotFound' - operationId: get-system-accounts-id - description: >- - Returns the system account (SA) for the SA ID specified as a path - parameter. - servers: - - url: https://global.api.konghq.com/ + description: Resource does not exist + tags: + - Vaults parameters: - - schema: - type: string - name: accountId - in: path + - $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 - description: ID of the system account. - x-speakeasy-match: id - patch: - x-speakeasy-entity-operation: SystemAccount#update - summary: Update System Account - operationId: patch-system-accounts-id + content: + application/json: + schema: + $ref: '#/components/schemas/Vault' responses: '200': - $ref: '#/components/responses/SystemAccountSingle' + description: Successfully upserted Vault + content: + application/json: + schema: + $ref: '#/components/schemas/Vault' '401': - $ref: '#/components/responses/IdentityUnauthenticated' - '403': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/IdentityNotFound' - '409': - $ref: '#/components/responses/IdentityConflict' - description: >- - Updates the specified system account. Returns a 409 if the updated name - is the same as another system account in the organization. + $ref: '#/components/responses/HTTP401Error' tags: - - System Accounts + - Vaults + /v2/control-planes/{controlPlaneId}/dp-client-certificates: + parameters: + - $ref: '#/components/parameters/controlPlaneId' + get: + summary: List DP Client Certificates + responses: + '200': + $ref: '#/components/responses/ListDataPlaneCertificatesResponse' + operationId: list-dp-client-certificates + tags: + - DP Certificates + description: >- + Returns a list of pinned dataplane client certificates that are + associated to this control plane. A pinned dataplane certificate allows + dataplanes configured with the certificate and corresponding private key + to establish connection with this control plane. + post: + x-speakeasy-entity-operation: GatewayDataPlaneClientCertificate#create + summary: Pin New DP Client Certificate + description: >- + Pin a new DP Client Certificate to this control plane. A pinned + dataplane certificate allows dataplanes configured with the certificate + and corresponding private key to establish connection with this control + plane. + operationId: create-dataplane-certificate requestBody: - $ref: '#/components/requestBodies/UpdateSystemAccount' - servers: - - url: https://global.api.konghq.com/ + $ref: '#/components/requestBodies/DataPlaneClientCertificateRequest' + responses: + '201': + $ref: '#/components/responses/DataPlaneClientCertificateResponse' + 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: GatewayDataPlaneClientCertificate#read + summary: Fetch DP Client Certificate + tags: + - DP Certificates + responses: + '200': + $ref: '#/components/responses/DataPlaneClientCertificateResponse' + operationId: get-dataplane-certificate + description: >- + Retrieve a pinned dataplane client certificate associated to this + control plane. A pinned dataplane certificate allows dataplanes + configured with the certificate and corresponding private key to + establish connection with this control plane. delete: - x-speakeasy-entity-operation: SystemAccount#delete - summary: Delete System Account - operationId: delete-system-accounts-id + x-speakeasy-entity-operation: GatewayDataPlaneClientCertificate#delete + summary: Delete DP Client Certificate + operationId: delete-dataplane-certificate responses: '204': description: No Content - '401': - $ref: '#/components/responses/IdentityUnauthenticated' - '403': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/IdentityNotFound' - description: >- - Deletes the specified system account. Returns 404 if the requested - account was not found. tags: - - System Accounts - servers: - - url: https://global.api.konghq.com/ - /v3/system-accounts/{accountId}/access-tokens: + - DP Certificates + description: >- + Remove a pinned dataplane client certificate associated to this control + plane. Removing a pinned dataplane certificate would invalidate any + dataplanes currently connected to this control plane using this + certificate. + /v2/control-planes/{controlPlaneId}/expected-config-hash: get: - summary: List System Account Access Tokens + summary: Fetch Expected Config Hash tags: - - System Accounts - Access Tokens + - DP Nodes responses: '200': - $ref: '#/components/responses/SystemAccountAccessTokenCollection' - '400': - $ref: '#/components/responses/IdentityBadRequest' - '401': - $ref: '#/components/responses/IdentityUnauthenticated' - '403': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/IdentityNotFound' - operationId: get-system-account-id-access-tokens + $ref: '#/components/responses/GetExpectedConfigHashResponse' + operationId: get-expected-config-hash description: >- - Returns the access tokens for the specified system account. Returns 400 - if any filter parameters are invalid. + Retrieve the expected config hash for this control plane. The expected + config hash can be used to verify if the config hash of a data plane + node is up to date with the control plane. The config hash will be the + same if they are in sync. + parameters: + - $ref: '#/components/parameters/controlPlaneId' + /v2/control-planes/{controlPlaneId}/nodes: + get: + summary: List Data Plane Node Records + responses: + '200': + $ref: '#/components/responses/list-nodes' + operationId: list-dataplane-nodes + tags: + - DP Nodes + description: >- + Returns a list of data plane node records that are associated to this + control plane. A data plane node record contains metadata information + for the data plane running Kong Gateway. parameters: - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageNumber' - - schema: - type: object - properties: - name: - $ref: '#/components/schemas/StringFieldFilter' - in: query - name: filter - description: Filter access tokens returned in the response. - required: false - style: deepObject - servers: - - url: https://global.api.konghq.com/ + - $ref: '#/components/parameters/PageAfter' + parameters: + - $ref: '#/components/parameters/controlPlaneId' + /v2/control-planes/{controlPlaneId}/nodes/{nodeId}: parameters: - schema: type: string - name: accountId + name: nodeId in: path required: true - description: ID of the system account. - post: - x-speakeasy-entity-operation: SystemAccountAccessToken#create - summary: Create System Account Access Token - operationId: post-system-accounts-id-access-tokens + - $ref: '#/components/parameters/controlPlaneId' + get: + summary: Fetch Data Plane Node Record 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' + '200': + $ref: '#/components/responses/get-node' + operationId: get-nodes-node_id + tags: + - DP Nodes 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' + Retrieve a specific data plane node record associated to this control + plane. A data plane node record contains all the metadata information of + the Kong Gateway dataplane. + parameters: + - $ref: '#/components/parameters/pagination-size' + - $ref: '#/components/parameters/pagination-tags-filter' + delete: + summary: Delete Data Plane Node Record + operationId: delete-nodes-node_id + responses: + '204': + description: No Content tags: - - System Accounts - Access Tokens - servers: - - url: https://global.api.konghq.com/ - /v3/system-accounts/{accountId}/access-tokens/{tokenId}: + - DP Nodes + description: >- + Remove a specific data plane node record associated to this control + plane. Deleting this record does not prevent the data plane node from + re-connecting to the control plane. + /v2/control-planes/{controlPlaneId}/nodes/eol: get: - x-speakeasy-entity-operation: SystemAccountAccessToken#read - summary: Fetch System Account Access Token + summary: List End-of-Life Data Plane Node Records responses: '200': - $ref: '#/components/responses/SystemAccountAccessTokenSingle' - '401': - $ref: '#/components/responses/IdentityUnauthenticated' - '403': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/IdentityNotFound' - operationId: get-system-accounts-id-access-tokens-id - description: >- - Returns the system account (SA) access token for the SA Access Token ID - specified as a path parameter. - parameters: [] + $ref: '#/components/responses/list-nodes-eol' + operationId: get-nodes-eol tags: - - System Accounts - Access Tokens - servers: - - url: https://global.api.konghq.com/ + - DP Nodes + description: >- + Returns a list of records of data plane nodes, whose versions are + approaching End of Full Support/End of Life, that are associated with + this control plane. Each record contains a data plane node's id, + version, and corresponding resolution message to upgrade to the closest + Long Term Support version. + parameters: + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageAfter' + parameters: + - $ref: '#/components/parameters/controlPlaneId' + /v2/control-planes/{id}: parameters: - schema: type: string - name: accountId - in: path - required: true - description: ID of the system account. - - schema: - type: string - name: tokenId + format: uuid + example: d32d905a-ed33-46a3-a093-d8f536af9a8a + name: id in: path required: true - description: ID of the system account access token. - x-speakeasy-match: id - patch: - x-speakeasy-entity-operation: SystemAccountAccessToken#update - summary: Update System Account Access Token - operationId: patch-system-accounts-id-access-tokens-id + description: The control plane ID + get: + x-speakeasy-entity-operation: GatewayControlPlane#read + summary: Fetch Control Plane responses: '200': - $ref: '#/components/responses/SystemAccountAccessTokenSingle' + $ref: '#/components/responses/RetrieveControlPlaneResponse' + '400': + $ref: '#/components/responses/ControlPlanesBadRequest' '401': - $ref: '#/components/responses/IdentityUnauthenticated' + $ref: '#/components/responses/ControlPlaneUnauthenticated' '403': - $ref: '#/components/responses/Unauthorized' + $ref: '#/components/responses/ControlPlanePermissionDenied' '404': - $ref: '#/components/responses/IdentityNotFound' - '409': - $ref: '#/components/responses/IdentityConflict' - description: >- - Updates the specified access token. Returns a 409 if the updated name is - the same as another token belonging to the specified system user. + $ref: '#/components/responses/ControlPlaneNotFound' + '503': + $ref: '#/components/responses/ServiceUnavailable' + operationId: get-control-plane + description: Returns information about an individual control plane. + tags: + - Control Planes + patch: + x-speakeasy-entity-operation: GatewayControlPlane#update + summary: Update Control Plane + operationId: update-control-plane + responses: + '200': + $ref: '#/components/responses/UpdateControlPlaneResponse' + '400': + $ref: '#/components/responses/ControlPlanesBadRequest' + '401': + $ref: '#/components/responses/ControlPlaneUnauthenticated' + '403': + $ref: '#/components/responses/ControlPlanePermissionDenied' + '404': + $ref: '#/components/responses/ControlPlaneNotFound' + '500': + $ref: '#/components/responses/InternalServerError' + '503': + $ref: '#/components/responses/ServiceUnavailable' + description: Update an individual control plane. requestBody: - $ref: '#/components/requestBodies/UpdateSystemAccountAccessToken' + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateControlPlaneRequest' tags: - - System Accounts - Access Tokens - servers: - - url: https://global.api.konghq.com/ + - Control Planes delete: - x-speakeasy-entity-operation: SystemAccountAccessToken#delete - summary: Delete System Account Access Token - operationId: delete-system-accounts-id-access-tokens-id + x-speakeasy-entity-operation: GatewayControlPlane#delete + summary: Delete Control Plane + operationId: delete-control-plane responses: '204': description: No Content + '400': + $ref: '#/components/responses/ControlPlanesBadRequest' '401': - $ref: '#/components/responses/IdentityUnauthenticated' + $ref: '#/components/responses/ControlPlaneUnauthenticated' '403': - $ref: '#/components/responses/Unauthorized' + $ref: '#/components/responses/ControlPlanePermissionDenied' '404': - $ref: '#/components/responses/IdentityNotFound' - description: Deletes the specified token. Returns 404 if the token was not found. + $ref: '#/components/responses/ControlPlaneNotFound' + '500': + $ref: '#/components/responses/InternalServerError' + '503': + $ref: '#/components/responses/ServiceUnavailable' + description: Delete an individual control plane. tags: - - System Accounts - Access Tokens - servers: - - url: https://global.api.konghq.com/ - /v3/system-accounts/{accountId}/assigned-roles: + - Control Planes + /v2/control-planes/{id}/group-member-status: parameters: - schema: type: string - name: accountId + name: id in: path required: true - description: ID of the system account. + description: ID of a control plane get: - summary: Fetch Assigned Roles for System Account + summary: Control Plane Group Member Status + operationId: get-control-planes-id-group-member-status + tags: + - Control Plane Groups + description: Determines the group membership status of a control plane. responses: '200': - $ref: '#/components/responses/AssignedRoleCollection' + $ref: '#/components/responses/GetGroupMemberStatus' '400': - $ref: '#/components/responses/IdentityBadRequest' + $ref: '#/components/responses/BadRequest' '401': - $ref: '#/components/responses/IdentityUnauthenticated' + $ref: '#/components/responses/Unauthorized' '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' + '503': + $ref: '#/components/responses/ServiceUnavailable' + /v2/control-planes/{id}/group-memberships: + parameters: + - schema: + type: string + name: id + in: path + required: true + description: ID of a control plane group + get: + summary: List Control Plane Group Memberships + tags: + - Control Plane Groups + responses: + '200': + $ref: '#/components/responses/ListGroupMemberships' + '400': + $ref: '#/components/responses/BadRequest' + '401': $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' '404': - $ref: '#/components/responses/IdentityNotFound' - operationId: get-system-accounts-accountId-assigned-roles + $ref: '#/components/responses/NotFound' + '503': + $ref: '#/components/responses/ServiceUnavailable' + operationId: get-control-planes-id-group-memberships description: >- - Lists the roles belonging to a system account. Returns 400 if any filter - parameters are invalid. + Returns an array of control planes that are a member of this control + plane group. parameters: - - schema: - type: object - properties: - role_name: - $ref: '#/components/schemas/StringFieldEqualsFilter' - entity_type_name: - $ref: '#/components/schemas/StringFieldEqualsFilter' - in: query - name: filter - description: Filter roles returned in the response. - required: false - style: deepObject - tags: - - System Accounts - Roles - servers: - - url: https://global.api.konghq.com/ - post: - x-speakeasy-entity-operation: SystemAccountRole#create - summary: Create Assigned Role for System Account - operationId: post-system-accounts-accountId-assigned-roles + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageAfter' + put: + summary: Upsert Control Plane Group Members + operationId: put-control-planes-id-group-memberships responses: - '201': - $ref: '#/components/responses/AssignedRoleSingle' + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequest' '401': - $ref: '#/components/responses/IdentityUnauthenticated' - '403': $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' '404': - $ref: '#/components/responses/IdentityNotFound' - '409': - $ref: '#/components/responses/IdentityConflict' - description: >- - Assigns a role to a system account. Returns 409 if role is already - assigned. + $ref: '#/components/responses/NotFound' + '503': + $ref: '#/components/responses/ServiceUnavailable' requestBody: - $ref: '#/components/requestBodies/AssignRole' + $ref: '#/components/requestBodies/GroupMembershipUpsert' tags: - - System Accounts - Roles - servers: - - url: https://global.api.konghq.com/ - /v3/system-accounts/{accountId}/assigned-roles/{roleId}: + - Control Plane Groups + description: Adds one or more control planes as a member of a control plane group. + /v2/control-planes/{id}/group-memberships/add: parameters: - schema: type: string - name: accountId + name: id in: path required: true - description: ID of the system account. + description: ID of a control plane group + post: + x-speakeasy-entity-operation: GatewayControlPlaneMembership#create + summary: Add Control Plane Group Members + operationId: post-control-planes-id-group-memberships-add + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' + '503': + $ref: '#/components/responses/ServiceUnavailable' + requestBody: + $ref: '#/components/requestBodies/GroupMembershipAdd' + tags: + - Control Plane Groups + description: Adds one or more control planes as a member of a control plane group. + /v2/control-planes/{id}/group-memberships/remove: + parameters: - schema: type: string - name: roleId + name: id in: path required: true - description: ID of the role. - x-speakeasy-match: id - delete: - x-speakeasy-entity-operation: SystemAccountRole#delete - summary: Delete Assigned Role from System Account - operationId: delete-system-accounts-accountId-assigned-roles-roleId + description: ID of a control plane group + post: + x-speakeasy-entity-operation: GatewayControlPlaneMembership#delete + summary: Remove Control Plane Group Members + operationId: post-control-planes-id-group-memberships-remove + requestBody: + $ref: '#/components/requestBodies/GroupMembershipRemove' + tags: + - Control Plane Groups + description: >- + Removes one or more control planes from the members of a control plane + group. responses: '204': description: No Content + '400': + $ref: '#/components/responses/BadRequest' '401': - $ref: '#/components/responses/IdentityUnauthenticated' - '403': $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' '404': - $ref: '#/components/responses/IdentityNotFound' - description: >- - Removes an assigned role from a system account. Returns 404 if the - system account or assigned role were not found. - tags: - - System Accounts - Roles - servers: - - url: https://global.api.konghq.com/ - /v3/system-accounts/{accountId}/teams: + $ref: '#/components/responses/NotFound' + '503': + $ref: '#/components/responses/ServiceUnavailable' + /v2/control-planes/{id}/group-status: parameters: - schema: type: string - name: accountId + name: id in: path required: true - description: ID of the system account. + description: ID of a control plane group get: - summary: List Teams for a System Account + summary: Get Control Plane Group Status + tags: + - Control Plane Groups responses: '200': - $ref: '#/components/responses/TeamCollection' + $ref: '#/components/responses/GetGroupStatus' + '400': + $ref: '#/components/responses/BadRequest' '401': - $ref: '#/components/responses/IdentityUnauthenticated' - '403': $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' '404': - $ref: '#/components/responses/IdentityNotFound' - operationId: get-system-accounts-accountId-teams - description: Returns a paginated list of a teams that the system account belongs to. - parameters: - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageNumber' - - schema: - type: object - properties: - name: - $ref: '#/components/schemas/StringFieldFilter' - in: query - name: filter - description: Filter teams returned in the response. - required: false - style: deepObject - tags: - - System Accounts - Team Membership - servers: - - url: https://global.api.konghq.com/ - /v3/teams: + $ref: '#/components/responses/NotFound' + '503': + $ref: '#/components/responses/ServiceUnavailable' + operationId: get-control-planes-id-group-status + description: >- + Returns the status of a control plane group, including existing + conflicts. + /v3/authenticate/{organizationLoginPath}: get: - summary: List Teams + summary: SSO Callback + description: Callback for authenticating via an organization's IdP + operationId: authenticate-sso + tags: + - Authentication + parameters: + - in: path + name: organizationLoginPath + description: The login path for the organization. + required: true + schema: + type: string + - in: query + name: return_to + description: Return destination for the callback. + schema: + type: string responses: - '200': - $ref: '#/components/responses/TeamCollection' + '302': + description: Found '400': $ref: '#/components/responses/IdentityBadRequest' - '404': - $ref: '#/components/responses/IdentityNotFound' - operationId: list-teams + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + servers: + - url: https://global.api.konghq.com/ + /v3/authentication-settings: + get: + summary: Get Auth Settings description: >- - Returns an array of team objects containing information about the - Konnect Teams. - parameters: - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageNumber' - - schema: - type: object - properties: - name: - $ref: '#/components/schemas/StringFieldFilter' - in: query - name: filter - description: Filter teams returned in the response. - required: false - style: deepObject + Returns authentication configuration, which determines how users can log + in and how they are assigned to teams. + operationId: get-authentication-settings tags: - - Teams + - Auth Settings + responses: + '200': + $ref: '#/components/responses/AuthenticationSettings' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' servers: - url: https://global.api.konghq.com/ - parameters: [] - post: - x-speakeasy-entity-operation: Team#create - summary: Create Team - operationId: create-team + patch: + summary: Update Auth Settings + description: Updates authentication configuration. + operationId: update-authentication-settings + requestBody: + $ref: '#/components/requestBodies/UpdateAuthenticationSettings' + tags: + - Auth Settings responses: - '201': - $ref: '#/components/responses/TeamSingle' + '200': + $ref: '#/components/responses/AuthenticationSettings' '400': $ref: '#/components/responses/IdentityBadRequest' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' '403': - $ref: '#/components/responses/IdentityPermissionDenied' - tags: - - Teams - requestBody: - $ref: '#/components/requestBodies/CreateTeam' - description: 'Creates a team in the Konnect Organization. ' + $ref: '#/components/responses/Unauthorized' servers: - url: https://global.api.konghq.com/ - /v3/teams/{teamId}: - parameters: - - schema: - type: string - format: uuid - example: d32d905a-ed33-46a3-a093-d8f536af9a8a - name: teamId - in: path - required: true - description: The team ID - x-speakeasy-match: id + /v3/identity-provider: get: - x-speakeasy-entity-operation: Team#read - summary: Fetch Team + summary: Fetch IdP Configuration + operationId: get-idp-configuration responses: '200': - $ref: '#/components/responses/TeamSingle' + $ref: '#/components/responses/IdPConfiguration' '400': $ref: '#/components/responses/IdentityBadRequest' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/IdentityPermissionDenied' '404': $ref: '#/components/responses/IdentityNotFound' - operationId: get-team - description: Returns information about a team from a given team ID. tags: - - Teams + - Auth Settings + description: Fetch the IdP configuration. servers: - url: https://global.api.konghq.com/ + parameters: [] patch: - x-speakeasy-entity-operation: Team#update - summary: Update Team - operationId: update-team + summary: Update IdP Configuration + operationId: update-idp-configuration responses: '200': - $ref: '#/components/responses/TeamSingle' + $ref: '#/components/responses/IdPConfiguration' '400': $ref: '#/components/responses/IdentityBadRequest' - '404': - $ref: '#/components/responses/IdentityNotFound' - description: Updates an individual team. + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/Unauthorized' + description: Update the IdP configuration. requestBody: - $ref: '#/components/requestBodies/UpdateTeam' + $ref: '#/components/requestBodies/UpdateIdPConfiguration' tags: - - Teams + - Auth Settings servers: - url: https://global.api.konghq.com/ - delete: - x-speakeasy-entity-operation: Team#delete - summary: Delete Team - operationId: delete-team + /v3/identity-provider/team-group-mappings: + get: + summary: Fetch Team Group Mappings + operationId: get-team-group-mappings + parameters: + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' responses: - '204': - description: No Content + '200': + $ref: '#/components/responses/TeamGroupMappingCollection' '400': $ref: '#/components/responses/IdentityBadRequest' - '404': - $ref: '#/components/responses/IdentityNotFound' - description: Deletes an individual team. Returns 404 if the team is not found. + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/IdentityPermissionDenied' tags: - - Teams + - Auth Settings + description: >- + Retrieves the mappings between Konnect Teams and Identity Provider + Groups. + + Returns a 400 error if an Identity Provider has not yet been configured. servers: - url: https://global.api.konghq.com/ - /v3/teams/{teamId}/assigned-roles: - parameters: - - schema: - type: string - format: uuid - example: e81bc3e5-e9db-4764-b7dd-e81e39072cbe - name: teamId - in: path - required: true - description: The team ID - get: - summary: List Team Roles - tags: - - Roles + patch: + summary: Patch Mappings by Team ID + operationId: patch-team-group-mappings responses: '200': - $ref: '#/components/responses/AssignedRoleCollection' + $ref: '#/components/responses/TeamGroupMappingCollection' '400': $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/IdentityPermissionDenied' - '404': - $ref: '#/components/responses/IdentityNotFound' - operationId: list-team-roles + tags: + - Auth Settings description: >- - Lists the roles belonging to a team. Returns 400 if any filter - parameters are invalid. - parameters: - - schema: - type: object - properties: - role_name: - $ref: '#/components/schemas/StringFieldEqualsFilter' - entity_type_name: - $ref: '#/components/schemas/StringFieldEqualsFilter' - in: query - name: filter - description: Filter roles returned in the response. - required: false - style: deepObject + Allows partial updates to the mappings between Konnect Teams and + Identity Provider Groups. + + The request body must be keyed on team ID. For a given team ID, the + given group list is a + + complete replacement. To remove all mappings for a given team, provide + an empty group list. + + + Returns a 400 error if an Identity Provider has not yet been configured, + or if a team ID in + + the request body is not found or is not a UUID. + requestBody: + $ref: '#/components/requestBodies/PatchTeamGroupMappings' servers: - url: https://global.api.konghq.com/ - post: - x-speakeasy-entity-operation: TeamRole#create - summary: Assign Team Role - operationId: teams-assign-role + /v3/identity-provider/team-mappings: + put: + summary: Update Team Mappings + operationId: update-idp-team-mappings responses: - '201': - $ref: '#/components/responses/AssignedRoleSingle' + '200': + $ref: '#/components/responses/TeamMappingCollection' '400': $ref: '#/components/responses/IdentityBadRequest' '401': - $ref: '#/components/responses/IdentityUnauthenticated' - '403': $ref: '#/components/responses/IdentityPermissionDenied' '404': $ref: '#/components/responses/IdentityNotFound' - '409': - $ref: '#/components/responses/IdentityConflict' - description: Assigns a role to a team. Returns 409 if role is already assigned. - requestBody: - $ref: '#/components/requestBodies/AssignRole' + '412': + $ref: '#/components/responses/PreconditionFailed' tags: - - Roles + - Auth Settings + description: Updates the IdP group to Konnect team mapping. + requestBody: + $ref: '#/components/requestBodies/UpdateTeamMappings' servers: - url: https://global.api.konghq.com/ - /v3/teams/{teamId}/assigned-roles/{roleId}: - parameters: - - schema: - type: string - format: uuid - example: e81bc3e5-e9db-4764-b7dd-e81e39072cbe - name: teamId - in: path - required: true - description: The team ID. - - schema: - type: string - example: 8350205f-a305-4e39-abe9-bc082a80091a - format: uuid - name: roleId - in: path - required: true - description: The role ID. - x-speakeasy-match: id - delete: - x-speakeasy-entity-operation: TeamRole#delete - summary: Remove Team Role - operationId: teams-remove-role + get: + summary: Fetch Team Mapping + operationId: get-idp-team-mappings + parameters: + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' responses: - '204': - description: No Content - '400': - $ref: '#/components/responses/IdentityBadRequest' + '200': + $ref: '#/components/responses/TeamMappingResponse' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': $ref: '#/components/responses/IdentityPermissionDenied' '404': $ref: '#/components/responses/IdentityNotFound' + '412': + $ref: '#/components/responses/PreconditionFailed' tags: - - Roles - description: >- - Removes an assigned role from a team. Returns 404 if the requested team - or assigned role were not found. + - Auth Settings + description: Fetch the IdP group to Konnect team mapping. servers: - url: https://global.api.konghq.com/ - /v3/teams/{teamId}/system-accounts: - parameters: - - schema: - type: string - name: teamId - in: path - required: true - description: ID of the team. + /v3/identity-providers: get: - summary: List System Accounts on a Team - responses: - '200': - $ref: '#/components/responses/SystemAccountCollection' - '401': - $ref: '#/components/responses/IdentityUnauthenticated' - '403': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/IdentityNotFound' - operationId: get-teams-teamId-system-accounts - description: >- - Returns a paginated list of system accounts that belong to the team - specified in the path parameter. + summary: Retrieve Identity Providers + description: > + Retrieves the identity providers available within the organization. This + operation provides information about + + various identity providers for SAML or OIDC authentication integrations. + operationId: get-identity-providers parameters: - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageNumber' - schema: type: object properties: - name: - $ref: '#/components/schemas/StringFieldFilter' + type: + $ref: '#/components/schemas/StringFieldEqualsFilter' in: query name: filter - description: Filter system accounts returned in the response. + description: Filter identity providers returned in the response. required: false style: deepObject + responses: + '200': + $ref: '#/components/responses/IdentityProviders' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/IdentityPermissionDenied' tags: - - System Accounts - Team Membership + - Auth Settings servers: - url: https://global.api.konghq.com/ post: - x-speakeasy-entity-operation: SystemAccountTeam#create - summary: Add System Account to a Team - operationId: post-teams-teamId-system-accounts + summary: Create Identity Provider + description: > + Creates a new identity provider. This operation allows the creation of a + new identity provider for + + authentication purposes. + operationId: create-identity-provider + requestBody: + $ref: '#/components/requestBodies/CreateIdentityProviderRequest' responses: '201': - description: Created + $ref: '#/components/responses/IdentityProvider' + '400': + $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': - $ref: '#/components/responses/Unauthorized' - '404': - $ref: '#/components/responses/IdentityNotFound' - '409': - $ref: '#/components/responses/IdentityConflict' - description: >- - Adds a system account to a team. Returns a 409 if the system account is - already a member of the team. - requestBody: - $ref: '#/components/requestBodies/AddSystemAccountToTeam' + $ref: '#/components/responses/CreateIdentityProviderPermissionDenied' tags: - - System Accounts - Team Membership + - Auth Settings servers: - url: https://global.api.konghq.com/ - /v3/teams/{teamId}/system-accounts/{accountId}: + /v3/identity-providers/{id}: parameters: - schema: type: string - name: teamId - in: path - required: true - description: ID of the team. - - schema: - type: string - name: accountId + format: uuid + example: d32d905a-ed33-46a3-a093-d8f536af9a8a + name: id in: path required: true - description: ID of the system account. - delete: - x-speakeasy-entity-operation: SystemAccountTeam#delete - summary: Remove System Account From Team - operationId: delete-teams-teamId-system-accounts-accountId + description: ID of the identity provider. + get: + summary: Get Identity Provider + description: > + Retrieves the configuration of a single identity provider. This + operation returns information about a + + specific identity provider's settings and authentication integration + details. + operationId: get-identity-provider responses: - '204': - description: No Content + '200': + $ref: '#/components/responses/IdentityProvider' + '400': + $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': - $ref: '#/components/responses/Unauthorized' + $ref: '#/components/responses/IdentityPermissionDenied' '404': $ref: '#/components/responses/IdentityNotFound' - description: >- - Removes a system account from a team. Returns 404 if the team or system - account were not found. tags: - - System Accounts - Team Membership + - Auth Settings servers: - url: https://global.api.konghq.com/ - /v3/teams/{teamId}/users: - parameters: - - schema: - type: string - example: d32d905a-ed33-46a3-a093-d8f536af9a8a - format: uuid - name: teamId - in: path - required: true - description: ID of the team. - get: - summary: List Team Users + patch: + summary: Update Identity Provider + description: > + Updates the configuration of an existing identity provider. This + operation allows modifications to be made + + to an existing identity provider's configuration. + operationId: update-identity-provider + requestBody: + $ref: '#/components/requestBodies/UpdateIdentityProviderRequest' responses: '200': - $ref: '#/components/responses/UserCollection' + $ref: '#/components/responses/IdentityProvider' '400': $ref: '#/components/responses/IdentityBadRequest' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/IdentityPermissionDenied' '404': $ref: '#/components/responses/IdentityNotFound' - operationId: list-team-users - description: >- - Returns a paginated list of users that belong to the team specified in - the path parameter. - parameters: - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageNumber' - - schema: - type: object - properties: - id: - $ref: '#/components/schemas/StringFieldEqualsFilter' - email: - $ref: '#/components/schemas/StringFieldFilter' - full_name: - $ref: '#/components/schemas/StringFieldFilter' - active: - $ref: '#/components/schemas/BooleanFieldFilter' - in: query - name: filter - description: Filter users returned in the response. - required: false - style: deepObject tags: - - Team Membership + - Auth Settings servers: - url: https://global.api.konghq.com/ - post: - x-speakeasy-entity-operation: TeamUser#create - summary: Add User - operationId: add-user-to-team + delete: + summary: Delete Identity Provider + description: > + Deletes an existing identity provider configuration. This operation + removes a specific identity provider + + from the organization. + operationId: delete-identity-provider responses: - '201': - description: Created + '204': + description: No Content '400': $ref: '#/components/responses/IdentityBadRequest' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/IdentityPermissionDenied' '404': $ref: '#/components/responses/IdentityNotFound' - '409': - $ref: '#/components/responses/IdentityConflict' - description: Adds a user to a team. - requestBody: - $ref: '#/components/requestBodies/AddUserToTeam' tags: - - Team Membership + - Auth Settings servers: - url: https://global.api.konghq.com/ - /v3/teams/{teamId}/users/{userId}: - parameters: - - schema: - type: string - format: uuid - example: d32d905a-ed33-46a3-a093-d8f536af9a8a - name: userId - in: path - required: true - description: User ID - - schema: - type: string - example: d32d905a-ed33-46a3-a093-d8f536af9a8a - format: uuid - name: teamId - in: path - required: true - description: Team ID. - delete: - x-speakeasy-entity-operation: TeamUser#delete - summary: Remove User - operationId: remove-user-from-team + /v3/invites: + post: + summary: Invite User + description: >- + Sends an invitation email to invite a user to the Konnect organization. + The email contains a link with a one time token to accept the + invitation. Upon accepting the invitation, the user is directed to + https://cloud.konghq.com/login to complete registration. + operationId: invite-user + requestBody: + $ref: '#/components/requestBodies/InviteUser' responses: - '204': - description: No Content + '201': + description: Created + '400': + $ref: '#/components/responses/IdentityBadRequest' + '409': + $ref: '#/components/responses/IdentityConflict' + '429': + $ref: '#/components/responses/RateLimited' + tags: + - Invites + servers: + - url: https://global.api.konghq.com/ + /v3/organizations/impersonation: + get: + summary: Get Impersonation Settings + description: >- + Returns Impersonation Settings, which determines if user impersonation + is allowed for an organization. + operationId: get-impersonation-settings + tags: + - Impersonation Settings + responses: + '200': + $ref: '#/components/responses/GetImpersonationSettingsResponse' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '404': + $ref: '#/components/responses/IdentityNotFound' + servers: + - url: https://global.api.konghq.com/ + patch: + summary: Update Impersonation Settings + description: Updates Impersonation Settings. + operationId: update-impersonation-settings + requestBody: + $ref: '#/components/requestBodies/UpdateImpersonationSettingsRequest' + tags: + - Impersonation Settings + responses: + '200': + $ref: '#/components/responses/UpdateImpersonationSettingsResponse' '400': $ref: '#/components/responses/IdentityBadRequest' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/IdentityNotFound' + servers: + - url: https://global.api.konghq.com/ + /v3/organizations/me: + get: + summary: Retrieve My Organization + tags: + - Me + responses: + '200': + $ref: '#/components/responses/MeOrganization' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + operationId: get-organizations-me description: >- - 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. + Returns the organization of the user identified in the token of the + request. + servers: + - url: https://global.api.konghq.com/ + /v3/roles: + get: + summary: Get Predefined Roles + description: Retrieves the predefined, or system managed, roles. + operationId: get-predefined-roles + responses: + '200': + $ref: '#/components/responses/Roles' + '400': + $ref: '#/components/responses/IdentityBadRequest' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' tags: - - Team Membership + - Roles servers: - url: https://global.api.konghq.com/ - /v3/users: + /v3/system-accounts: get: - summary: List Users + summary: List System Accounts tags: - - Users + - System Accounts responses: '200': - $ref: '#/components/responses/UserCollection' + $ref: '#/components/responses/SystemAccountCollection' '400': $ref: '#/components/responses/IdentityBadRequest' - operationId: list-users - description: Returns a paginated list of user objects. + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/Unauthorized' + operationId: get-system-accounts + description: >- + Returns an array of system accounts (SA) in the organization. Returns + 400 if any filter parameters are invalid. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - schema: type: object properties: - id: - $ref: '#/components/schemas/StringFieldEqualsFilter' - email: + name: $ref: '#/components/schemas/StringFieldFilter' - full_name: + description: $ref: '#/components/schemas/StringFieldFilter' - active: + konnect_managed: $ref: '#/components/schemas/BooleanFieldFilter' in: query name: filter - description: Filter users returned in the response. + description: Filter system accounts returned in the response. required: false style: deepObject servers: - url: https://global.api.konghq.com/ - /v3/users/{userId}: - parameters: - - schema: - type: string - format: uuid - example: d32d905a-ed33-46a3-a093-d8f536af9a8a - name: userId - in: path - required: true - description: The ID of the user being deleted. + post: + x-speakeasy-entity-operation: SystemAccount#create + summary: Create System Account + operationId: post-system-accounts + tags: + - System Accounts + description: >- + Creates a system account. Returns a 409 if a system account with the + same name already exists. + requestBody: + $ref: '#/components/requestBodies/CreateSystemAccount' + responses: + '201': + $ref: '#/components/responses/SystemAccountSingle' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/Unauthorized' + '409': + $ref: '#/components/responses/IdentityConflict' + servers: + - url: https://global.api.konghq.com/ + /v3/system-accounts/{accountId}: get: - summary: Fetch User + x-speakeasy-entity-operation: SystemAccount#read + summary: Fetch System Account tags: - - Users + - System Accounts responses: '200': - $ref: '#/components/responses/UserSingle' - '400': - $ref: '#/components/responses/IdentityBadRequest' + $ref: '#/components/responses/SystemAccountSingle' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/IdentityNotFound' - operationId: get-user - description: Returns the user object for the user ID specified as a path parameter. + operationId: get-system-accounts-id + description: >- + Returns the system account (SA) for the SA ID specified as a path + parameter. servers: - url: https://global.api.konghq.com/ + parameters: + - schema: + type: string + name: accountId + in: path + required: true + description: ID of the system account. + x-speakeasy-match: id patch: - summary: Update User - operationId: update-user + x-speakeasy-entity-operation: SystemAccount#update + summary: Update System Account + operationId: patch-system-accounts-id responses: '200': - $ref: '#/components/responses/UserSingle' + $ref: '#/components/responses/SystemAccountSingle' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': - $ref: '#/components/responses/IdentityPermissionDenied' + $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/IdentityNotFound' - description: Update an individual user. - requestBody: - $ref: '#/components/requestBodies/UpdateUser' + '409': + $ref: '#/components/responses/IdentityConflict' + description: >- + Updates the specified system account. Returns a 409 if the updated name + is the same as another system account in the organization. tags: - - Users + - System Accounts + requestBody: + $ref: '#/components/requestBodies/UpdateSystemAccount' servers: - url: https://global.api.konghq.com/ delete: - summary: Delete User - operationId: delete-user + x-speakeasy-entity-operation: SystemAccount#delete + summary: Delete System Account + operationId: delete-system-accounts-id responses: '204': description: No Content + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/IdentityNotFound' description: >- - Deletes an individual user. Returns 404 if the requested user was not - found. + Deletes the specified system account. Returns 404 if the requested + account was not found. tags: - - Users + - System Accounts servers: - url: https://global.api.konghq.com/ - /v3/users/{userId}/assigned-roles: - parameters: - - schema: - type: string - format: uuid - example: e81bc3e5-e9db-4764-b7dd-e81e39072cbe - name: userId - in: path - required: true - description: The user ID + /v3/system-accounts/{accountId}/access-tokens: get: - summary: List User Roles + summary: List System Account Access Tokens tags: - - Roles + - System Accounts - Access Tokens responses: '200': - $ref: '#/components/responses/AssignedRoleCollection' + $ref: '#/components/responses/SystemAccountAccessTokenCollection' '400': $ref: '#/components/responses/IdentityBadRequest' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/IdentityNotFound' - operationId: list-user-roles + operationId: get-system-account-id-access-tokens description: >- - Lists the roles assigned to a user. Returns 400 if any filter + Returns the access tokens for the specified system account. Returns 400 + if any filter parameters are invalid. + parameters: + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + - schema: + type: object + properties: + name: + $ref: '#/components/schemas/StringFieldFilter' + in: query + name: filter + description: Filter access tokens returned in the response. + required: false + style: deepObject + servers: + - url: https://global.api.konghq.com/ + parameters: + - schema: + type: string + name: accountId + in: path + required: true + description: ID of the system account. + post: + x-speakeasy-entity-operation: SystemAccountAccessToken#create + summary: Create System Account Access Token + operationId: post-system-accounts-id-access-tokens + responses: + '201': + $ref: '#/components/responses/SystemAccountAccessTokenCreated' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/IdentityNotFound' + '409': + $ref: '#/components/responses/IdentityConflict' + description: >- + Creates an access token for the specified system account (SA). The + access token can be used for authenticating API and CLI requests. The + token will only be displayed once on creation. Returns a 409 if the + system account already has a token with the same name. + requestBody: + $ref: '#/components/requestBodies/CreateSystemAccountAccessToken' + tags: + - System Accounts - Access Tokens + servers: + - url: https://global.api.konghq.com/ + /v3/system-accounts/{accountId}/access-tokens/{tokenId}: + get: + x-speakeasy-entity-operation: SystemAccountAccessToken#read + summary: Fetch System Account Access Token + responses: + '200': + $ref: '#/components/responses/SystemAccountAccessTokenSingle' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/IdentityNotFound' + operationId: get-system-accounts-id-access-tokens-id + description: >- + Returns the system account (SA) access token for the SA Access Token ID + specified as a path parameter. + parameters: [] + tags: + - System Accounts - Access Tokens + servers: + - url: https://global.api.konghq.com/ + parameters: + - schema: + type: string + name: accountId + in: path + required: true + description: ID of the system account. + - schema: + type: string + name: tokenId + in: path + required: true + description: ID of the system account access token. + x-speakeasy-match: id + patch: + x-speakeasy-entity-operation: SystemAccountAccessToken#update + summary: Update System Account Access Token + operationId: patch-system-accounts-id-access-tokens-id + responses: + '200': + $ref: '#/components/responses/SystemAccountAccessTokenSingle' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/IdentityNotFound' + '409': + $ref: '#/components/responses/IdentityConflict' + description: >- + Updates the specified access token. Returns a 409 if the updated name is + the same as another token belonging to the specified system user. + requestBody: + $ref: '#/components/requestBodies/UpdateSystemAccountAccessToken' + tags: + - System Accounts - Access Tokens + servers: + - url: https://global.api.konghq.com/ + delete: + x-speakeasy-entity-operation: SystemAccountAccessToken#delete + summary: Delete System Account Access Token + operationId: delete-system-accounts-id-access-tokens-id + responses: + '204': + description: No Content + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/IdentityNotFound' + description: Deletes the specified token. Returns 404 if the token was not found. + tags: + - System Accounts - Access Tokens + servers: + - url: https://global.api.konghq.com/ + /v3/system-accounts/{accountId}/assigned-roles: + parameters: + - schema: + type: string + name: accountId + in: path + required: true + description: ID of the system account. + get: + summary: Fetch Assigned Roles for System Account + responses: + '200': + $ref: '#/components/responses/AssignedRoleCollection' + '400': + $ref: '#/components/responses/IdentityBadRequest' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/IdentityNotFound' + operationId: get-system-accounts-accountId-assigned-roles + description: >- + Lists the roles belonging to a system account. Returns 400 if any filter parameters are invalid. parameters: - schema: @@ -5814,87 +5915,90 @@ paths: description: Filter roles returned in the response. required: false style: deepObject + tags: + - System Accounts - Roles servers: - url: https://global.api.konghq.com/ post: - summary: Assign Role - operationId: users-assign-role + x-speakeasy-entity-operation: SystemAccountRole#create + summary: Create Assigned Role for System Account + operationId: post-system-accounts-accountId-assigned-roles responses: '201': $ref: '#/components/responses/AssignedRoleSingle' - '400': - $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' '403': - $ref: '#/components/responses/IdentityPermissionDenied' + $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/IdentityNotFound' '409': $ref: '#/components/responses/IdentityConflict' - description: Assigns a role to a user. Returns 409 if role is already assigned. + description: >- + Assigns a role to a system account. Returns 409 if role is already + assigned. requestBody: $ref: '#/components/requestBodies/AssignRole' tags: - - Roles + - System Accounts - Roles servers: - url: https://global.api.konghq.com/ - /v3/users/{userId}/assigned-roles/{roleId}: + /v3/system-accounts/{accountId}/assigned-roles/{roleId}: parameters: - schema: type: string - format: uuid - example: e81bc3e5-e9db-4764-b7dd-e81e39072cbe - name: userId + name: accountId in: path required: true - description: ID of the user. + description: ID of the system account. - schema: type: string - example: 8350205f-a305-4e39-abe9-bc082a80091a - format: uuid name: roleId in: path required: true description: ID of the role. + x-speakeasy-match: id delete: - summary: Remove Role - operationId: users-remove-role + x-speakeasy-entity-operation: SystemAccountRole#delete + summary: Delete Assigned Role from System Account + operationId: delete-system-accounts-accountId-assigned-roles-roleId responses: '204': description: No Content - '400': - $ref: '#/components/responses/IdentityBadRequest' '401': $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/IdentityNotFound' - tags: - - Roles description: >- - Removes an assigned role from a user. Returns 404 if the requested user - or assigned role were not found. + Removes an assigned role from a system account. Returns 404 if the + system account or assigned role were not found. + tags: + - System Accounts - Roles servers: - url: https://global.api.konghq.com/ - /v3/users/{userId}/teams: + /v3/system-accounts/{accountId}/teams: parameters: - schema: type: string - example: d32d905a-ed33-46a3-a093-d8f536af9a8a - format: uuid - name: userId + name: accountId in: path required: true - description: The user ID. + description: ID of the system account. get: - summary: List User Teams + summary: List Teams for a System Account responses: '200': $ref: '#/components/responses/TeamCollection' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/IdentityNotFound' - operationId: list-user-teams - description: Returns a paginated list of a teams that the user belongs to. + operationId: get-system-accounts-accountId-teams + description: Returns a paginated list of a teams that the system account belongs to. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' @@ -5909,723 +6013,1466 @@ paths: required: false style: deepObject tags: - - Team Membership + - System Accounts - Team Membership servers: - url: https://global.api.konghq.com/ - /v3/users/me: + /v3/teams: get: - summary: Retrieve My User Account - tags: - - Me + summary: List Teams responses: '200': - $ref: '#/components/responses/UserSingle' - '401': - $ref: '#/components/responses/IdentityUnauthenticated' - operationId: get-users-me - security: - - personalAccessToken: [] - - konnectAccessToken: [] + $ref: '#/components/responses/TeamCollection' + '400': + $ref: '#/components/responses/IdentityBadRequest' + '404': + $ref: '#/components/responses/IdentityNotFound' + operationId: list-teams description: >- - Returns the user account for the user identified in the token of the - request. - servers: - - url: https://global.api.konghq.com/ -components: - parameters: - ControlPlaneFilter: - name: filter - description: Filters a collection of control-planes. - required: false - in: query - schema: - $ref: '#/components/schemas/ControlPlaneFilterParameters' - style: deepObject - FilterByLabels: - name: labels - description: Filter control planes in the response by associated labels. - in: query - required: false - schema: - type: string - example: key:value,existCheck - ControlPlaneSort: - name: sort - description: | - Sorts a collection of control-planes. Supported sort attributes are: - - created_at - required: false - in: query - schema: - $ref: '#/components/schemas/SortQuery' - PageSize: - name: page[size] - description: >- - The maximum number of items to include per page. The last page of a - collection may include fewer items. - required: false - in: query - allowEmptyValue: true - schema: - type: integer - example: 10 - PageNumber: - name: page[number] - description: Determines which page of the entities to retrieve. - required: false - in: query - allowEmptyValue: true - schema: - type: integer - example: 1 - PageAfter: - name: page[after] + Returns an array of team objects containing information about the + Konnect Teams. + parameters: + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + - schema: + type: object + properties: + name: + $ref: '#/components/schemas/StringFieldFilter' + in: query + name: filter + description: Filter teams returned in the response. + required: false + style: deepObject + tags: + - Teams + servers: + - url: https://global.api.konghq.com/ + parameters: [] + post: + x-speakeasy-entity-operation: Team#create + summary: Create Team + operationId: create-team + responses: + '201': + $ref: '#/components/responses/TeamSingle' + '400': + $ref: '#/components/responses/IdentityBadRequest' + '403': + $ref: '#/components/responses/IdentityPermissionDenied' + tags: + - Teams + requestBody: + $ref: '#/components/requestBodies/CreateTeam' + description: 'Creates a team in the Konnect Organization. ' + servers: + - url: https://global.api.konghq.com/ + /v3/teams/{teamId}: + parameters: + - schema: + type: string + format: uuid + example: d32d905a-ed33-46a3-a093-d8f536af9a8a + name: teamId + in: path + required: true + description: The team ID + x-speakeasy-match: id + get: + x-speakeasy-entity-operation: Team#read + summary: Fetch Team + responses: + '200': + $ref: '#/components/responses/TeamSingle' + '400': + $ref: '#/components/responses/IdentityBadRequest' + '404': + $ref: '#/components/responses/IdentityNotFound' + operationId: get-team + description: Returns information about a team from a given team ID. + tags: + - Teams + servers: + - url: https://global.api.konghq.com/ + patch: + x-speakeasy-entity-operation: Team#update + summary: Update Team + operationId: update-team + responses: + '200': + $ref: '#/components/responses/TeamSingle' + '400': + $ref: '#/components/responses/IdentityBadRequest' + '404': + $ref: '#/components/responses/IdentityNotFound' + description: Updates an individual team. + requestBody: + $ref: '#/components/requestBodies/UpdateTeam' + tags: + - Teams + servers: + - url: https://global.api.konghq.com/ + delete: + x-speakeasy-entity-operation: Team#delete + summary: Delete Team + operationId: delete-team + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/IdentityBadRequest' + '404': + $ref: '#/components/responses/IdentityNotFound' + description: Deletes an individual team. Returns 404 if the team is not found. + tags: + - Teams + servers: + - url: https://global.api.konghq.com/ + /v3/teams/{teamId}/assigned-roles: + parameters: + - schema: + type: string + format: uuid + example: e81bc3e5-e9db-4764-b7dd-e81e39072cbe + name: teamId + in: path + required: true + description: The team ID + get: + summary: List Team Roles + tags: + - Roles + responses: + '200': + $ref: '#/components/responses/AssignedRoleCollection' + '400': + $ref: '#/components/responses/IdentityBadRequest' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/IdentityPermissionDenied' + '404': + $ref: '#/components/responses/IdentityNotFound' + operationId: list-team-roles description: >- - Request the next page of data, starting with the item after this - parameter. - required: false - in: query - allowEmptyValue: true - schema: - type: string - example: ewogICJpZCI6ICJoZWxsbyB3b3JsZCIKfQ - pagination-size: - description: Number of resources to be returned. - in: query - name: size - schema: - default: 100 - maximum: 1000 - minimum: 1 - type: integer - pagination-tags-filter: + Lists the roles belonging to a team. Returns 400 if any filter + parameters are invalid. + parameters: + - schema: + type: object + properties: + role_name: + $ref: '#/components/schemas/StringFieldEqualsFilter' + entity_type_name: + $ref: '#/components/schemas/StringFieldEqualsFilter' + in: query + name: filter + description: Filter roles returned in the response. + required: false + style: deepObject + servers: + - url: https://global.api.konghq.com/ + post: + x-speakeasy-entity-operation: TeamRole#create + summary: Assign Team Role + operationId: teams-assign-role + responses: + '201': + $ref: '#/components/responses/AssignedRoleSingle' + '400': + $ref: '#/components/responses/IdentityBadRequest' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/IdentityPermissionDenied' + '404': + $ref: '#/components/responses/IdentityNotFound' + '409': + $ref: '#/components/responses/IdentityConflict' + description: Assigns a role to a team. Returns 409 if role is already assigned. + requestBody: + $ref: '#/components/requestBodies/AssignRole' + tags: + - Roles + servers: + - url: https://global.api.konghq.com/ + /v3/teams/{teamId}/assigned-roles/{roleId}: + parameters: + - schema: + type: string + format: uuid + example: e81bc3e5-e9db-4764-b7dd-e81e39072cbe + name: teamId + in: path + required: true + description: The team ID. + - schema: + type: string + example: 8350205f-a305-4e39-abe9-bc082a80091a + format: uuid + name: roleId + in: path + required: true + description: The role ID. + x-speakeasy-match: id + delete: + x-speakeasy-entity-operation: TeamRole#delete + summary: Remove Team Role + operationId: teams-remove-role + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/IdentityBadRequest' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/IdentityPermissionDenied' + '404': + $ref: '#/components/responses/IdentityNotFound' + tags: + - Roles description: >- - A list of tags to filter the list of resources on. Multiple tags can be - concatenated using ',' to mean AND or using '/' to mean OR. - example: tag1,tag2 - in: query - name: tags - schema: - type: string - controlPlaneId: - x-speakeasy-param-force-new: true - name: controlPlaneId - in: path - required: true - schema: - type: string - format: uuid - example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 + Removes an assigned role from a team. Returns 404 if the requested team + or assigned role were not found. + servers: + - url: https://global.api.konghq.com/ + /v3/teams/{teamId}/system-accounts: + parameters: + - schema: + type: string + name: teamId + in: path + required: true + description: ID of the team. + get: + summary: List System Accounts on a Team + responses: + '200': + $ref: '#/components/responses/SystemAccountCollection' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/IdentityNotFound' + operationId: get-teams-teamId-system-accounts description: >- - The UUID of your control plane. This variable is available in the - Konnect manager. - DataPlaneCertificateId: - name: certificateId - in: path - schema: - type: string - required: true - x-speakeasy-match: id - configStoreId: - schema: - type: string - format: uuid - example: d32d905a-ed33-46a3-a093-d8f536af9a8a - name: configStoreId - in: path - required: true - description: Config Store identifier - ACLId: - description: ID of the ACL to lookup - example: f28acbfa-c866-4587-b688-0208ac24df21 - in: path - name: ACLId - required: true - schema: - type: string - BasicAuthId: - description: ID of the Basic-auth credential to lookup - example: 80db1b58-ca7c-4d21-b92a-64eb07725872 - in: path - name: BasicAuthId - required: true - schema: - type: string - CACertificateId: - description: ID of the CA Certificate to lookup - example: 3c31f18a-f27a-4f9b-8cd4-bf841554612f - in: path - name: CACertificateId - required: true - schema: - type: string - CertificateId: - description: ID of the Certificate to lookup - example: ddf3cdaa-3329-4961-822a-ce6dbd38eff7 - in: path - name: CertificateId - required: true - schema: - type: string - ConsumerGroupId: - description: ID of the Consumer Group to lookup - example: '' - in: path - name: ConsumerGroupId - required: true - schema: - type: string - ConsumerGroupIdManageConsumers: - in: path - name: ConsumerGroupId - required: true - schema: - type: string - x-speakeasy-name-override: consumer_group_id - ConsumerId: - description: ID of the Consumer to lookup - example: c1059869-6fa7-4329-a5f5-5946d14ca2c5 - in: path - name: ConsumerId - required: true - schema: - type: string - ConsumerIdForNestedEntities: - description: Consumer ID for nested entities - example: f28acbfa-c866-4587-b688-0208ac24df21 - in: path - name: ConsumerIdForNestedEntities - required: true - schema: - type: string - HMACAuthId: - description: ID of the HMAC-auth credential to lookup - example: 70e7b00b-72f2-471b-a5ce-9c4171775360 - in: path - name: HMACAuthId - required: true - schema: - type: string - JWTId: - description: ID of the JWT to lookup - example: 4a7f5faa-8c96-46d6-8214-c87573ef2ac4 - in: path - name: JWTId - required: true - schema: - type: string - KeyAuthId: - description: ID of the API-key to lookup - example: '' - in: path - name: KeyAuthId - required: true - schema: - type: string - KeyId: - description: ID of the Key to lookup - example: bba22c06-a632-42be-a018-1b9ff357b5b9 - in: path - name: KeyId - required: true - schema: - type: string - KeySetId: - description: ID of the KeySet to lookup - example: 6cc34248-50b4-4a81-9201-3bdf7a83f712 - in: path - name: KeySetId - required: true - schema: - type: string - MTLSAuthId: - description: ID of the MTLS-auth credential to lookup - example: '' - in: path - name: MTLSAuthId - required: true - schema: - type: string - PaginationOffset: + Returns a paginated list of system accounts that belong to the team + specified in the path parameter. + parameters: + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + - schema: + type: object + properties: + name: + $ref: '#/components/schemas/StringFieldFilter' + in: query + name: filter + description: Filter system accounts returned in the response. + required: false + style: deepObject + tags: + - System Accounts - Team Membership + servers: + - url: https://global.api.konghq.com/ + post: + x-speakeasy-entity-operation: SystemAccountTeam#create + summary: Add System Account to a Team + operationId: post-teams-teamId-system-accounts + responses: + '201': + description: Created + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/IdentityNotFound' + '409': + $ref: '#/components/responses/IdentityConflict' description: >- - 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: + Adds a system account to a team. Returns a 409 if the system account is + already a member of the team. + requestBody: + $ref: '#/components/requestBodies/AddSystemAccountToTeam' + tags: + - System Accounts - Team Membership + servers: + - url: https://global.api.konghq.com/ + /v3/teams/{teamId}/system-accounts/{accountId}: + parameters: + - schema: + type: string + name: teamId + in: path + required: true + description: ID of the team. + - schema: + type: string + name: accountId + in: path + required: true + description: ID of the system account. + delete: + x-speakeasy-entity-operation: SystemAccountTeam#delete + summary: Remove System Account From Team + operationId: delete-teams-teamId-system-accounts-accountId + responses: + '204': + description: No Content + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/Unauthorized' + '404': + $ref: '#/components/responses/IdentityNotFound' description: >- - 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 - PluginId: - description: ID of the Plugin to lookup - example: 3473c251-5b6c-4f45-b1ff-7ede735a366d - in: path - name: PluginId - required: true - schema: - type: string - RouteId: - description: ID of the Route to lookup - example: a4326a41-aa12-44e3-93e4-6b6e58bfb9d7 - in: path - name: RouteId - required: true - schema: - type: string - SNIId: - description: ID of the SNI to lookup - example: 64c17a1a-b7d7-4a65-a5a4-42e4a7016e7f - in: path - name: SNIId - required: true - schema: - type: string - ServiceId: - description: ID of the Service to lookup - example: 7fca84d6-7d37-4a74-a7b0-93e576089a41 - in: path - name: ServiceId - required: true - schema: - type: string - TargetId: - description: ID of the Target to lookup - example: 5a078780-5d4c-4aae-984a-bdc6f52113d8 - in: path - name: TargetId - required: true - schema: - type: string - UpstreamId: - description: ID of the Upstream to lookup - example: 426d620c-7058-4ae6-aacc-f85a3204a2c5 - in: path - name: UpstreamId - required: true - schema: - type: string - UpstreamIdForTarget: - description: ID or target of the Target to lookup - example: 5a078780-5d4c-4aae-984a-bdc6f52113d8 - in: path - name: UpstreamIdForTarget - required: true - schema: - type: string - VaultId: - description: ID of the Vault to lookup - example: 9d4d6d19-77c6-428e-a965-9bc9647633e9 - in: path - name: VaultId - required: true - schema: - type: string - responses: - RetrieveControlPlaneResponse: - description: A response to retrieving a single control plane. - content: - application/json: - schema: - $ref: '#/components/schemas/ControlPlane' - CreateControlPlaneResponse: - description: A response to creating a control plane. - content: - application/json: - schema: - $ref: '#/components/schemas/ControlPlane' - UpdateControlPlaneResponse: - description: A response to updating a control plane. - content: - application/json: - schema: - $ref: '#/components/schemas/ControlPlane' - ListControlPlanesResponse: - description: A paginated list response for a collection of control planes. - content: - application/json: - schema: - title: ListControlPlanesResponse - type: object - additionalProperties: false - properties: - meta: - $ref: '#/components/schemas/PaginatedMeta' - data: - type: array - items: - $ref: '#/components/schemas/ControlPlane' - required: - - meta - - data - ControlPlanesBadRequest: - description: Bad Request - content: - application/problem+json: - schema: - $ref: '#/components/schemas/BadRequestError' - ControlPlanePermissionDenied: - description: Permission denied - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ForbiddenError' - ControlPlaneUnauthenticated: - description: Unauthenticated - content: - application/problem+json: - schema: - $ref: '#/components/schemas/UnauthorizedError' - ControlPlaneNotFound: - description: Not Found - content: - application/problem+json: - schema: - $ref: '#/components/schemas/NotFoundError' - ControlPlaneConflict: - description: Conflict - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ConflictError' - InternalServerError: - description: Internal Server Error - content: - application/problem+json: - schema: - title: InternalServerError - type: object - description: The error response object. - properties: - status: - type: integer - description: The HTTP status code. - example: 500 - enum: - - 500 - title: - type: string - description: The error response code. - example: Internal Server Error - instance: - type: string - example: konnect:trace:2287285207635123011 - description: The Konnect traceback code - detail: - type: string - example: >- - Could not propagate control plane changes to control plane - cluster service. - description: Details about the error. - required: - - status - - title - - instance - ServiceUnavailable: - description: Service Unavailable - content: - application/problem+json: - schema: - title: ServiceUnavailableError - type: object - description: Error response for temporary service unavailability. - properties: - status: - type: integer - description: The HTTP status code. - example: 503 - enum: - - 503 - title: - type: string - description: The error response code. - example: Service Unavailable - instance: - type: string - example: konnect:trace:2287285207635123011 - description: The Konnect traceback code - detail: - type: string - example: >- - Could not retrieve permissions to check resource - accessibility. - description: Details about the error. - required: - - status - - title - - instance - ListGroupMemberships: + Removes a system account from a team. Returns 404 if the team or system + account were not found. + tags: + - System Accounts - Team Membership + servers: + - url: https://global.api.konghq.com/ + /v3/teams/{teamId}/users: + parameters: + - schema: + type: string + example: d32d905a-ed33-46a3-a093-d8f536af9a8a + format: uuid + name: teamId + in: path + required: true + description: ID of the team. + get: + summary: List Team Users + responses: + '200': + $ref: '#/components/responses/UserCollection' + '400': + $ref: '#/components/responses/IdentityBadRequest' + '404': + $ref: '#/components/responses/IdentityNotFound' + operationId: list-team-users description: >- - A paginated list response for a collection of control plane group - memberships. - content: - application/json: - schema: + Returns a paginated list of users that belong to the team specified in + the path parameter. + parameters: + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + - schema: type: object - required: - - meta - - data properties: - meta: - $ref: '#/components/schemas/CursorPaginatedMetaWithSizeAndTotal' - data: - type: array - description: >- - Array of control planes summary who are a child to this - control plane group. - items: - $ref: '#/components/schemas/ControlPlane' - GetGroupStatus: - description: Status of a control plane group, including existing conflicts. - content: - application/json: - schema: - type: object - properties: - item: - $ref: '#/components/schemas/GroupStatus' - GetGroupMemberStatus: - description: Determines the group membership status of a control plane. - content: - application/json: - schema: - $ref: '#/components/schemas/GroupMemberStatus' - BadRequest: - description: Bad Request - content: - application/problem+json: - schema: - $ref: '#/components/schemas/BadRequestError' - Unauthorized: - description: Unauthorized - content: - application/problem+json: - schema: - $ref: '#/components/schemas/UnauthorizedError' + id: + $ref: '#/components/schemas/StringFieldEqualsFilter' + email: + $ref: '#/components/schemas/StringFieldFilter' + full_name: + $ref: '#/components/schemas/StringFieldFilter' + active: + $ref: '#/components/schemas/BooleanFieldFilter' + in: query + name: filter + description: Filter users returned in the response. + required: false + style: deepObject + tags: + - Team Membership + servers: + - url: https://global.api.konghq.com/ + post: + x-speakeasy-entity-operation: TeamUser#create + summary: Add User + operationId: add-user-to-team + responses: + '201': + description: Created + '400': + $ref: '#/components/responses/IdentityBadRequest' + '404': + $ref: '#/components/responses/IdentityNotFound' + '409': + $ref: '#/components/responses/IdentityConflict' + description: Adds a user to a team. + requestBody: + $ref: '#/components/requestBodies/AddUserToTeam' + tags: + - Team Membership + servers: + - url: https://global.api.konghq.com/ + /v3/teams/{teamId}/users/{userId}: + parameters: + - schema: + type: string + format: uuid + example: d32d905a-ed33-46a3-a093-d8f536af9a8a + name: userId + in: path + required: true + description: User ID + - schema: + type: string + example: d32d905a-ed33-46a3-a093-d8f536af9a8a + format: uuid + name: teamId + in: path + required: true + description: Team ID. + delete: + x-speakeasy-entity-operation: TeamUser#delete + summary: Remove User + operationId: remove-user-from-team + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/IdentityBadRequest' + '404': + $ref: '#/components/responses/IdentityNotFound' + description: >- + Removes a user from a team. + + If the user was removed, returns a 204 empty response. Returns 404 if + the user or team were not found. + tags: + - Team Membership + servers: + - url: https://global.api.konghq.com/ + /v3/users: + get: + summary: List Users + tags: + - Users + responses: + '200': + $ref: '#/components/responses/UserCollection' + '400': + $ref: '#/components/responses/IdentityBadRequest' + operationId: list-users + description: Returns a paginated list of user objects. + parameters: + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + - schema: type: object - title: Unauthorized Response - description: The error response object. properties: - status: - type: integer - example: 403 - description: The HTTP status code. - title: - type: string - description: The Error Response. - example: Unauthorized - instance: - type: string - description: The Konnect traceback code. - example: konnect:trace:952172606039454040 - detail: - type: string - description: Details about the error response. - example: You do not have permission to perform this action - Forbidden: - description: Forbidden - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ForbiddenError' - NotFound: - description: Not Found - content: - application/problem+json: - schema: - $ref: '#/components/schemas/NotFoundError' - GetImpersonationSettingsResponse: - description: Response for Get Impersonation Settings endpoint - content: - application/json: - schema: + id: + $ref: '#/components/schemas/StringFieldEqualsFilter' + email: + $ref: '#/components/schemas/StringFieldFilter' + full_name: + $ref: '#/components/schemas/StringFieldFilter' + active: + $ref: '#/components/schemas/BooleanFieldFilter' + in: query + name: filter + description: Filter users returned in the response. + required: false + style: deepObject + servers: + - url: https://global.api.konghq.com/ + /v3/users/{userId}: + parameters: + - schema: + type: string + format: uuid + example: d32d905a-ed33-46a3-a093-d8f536af9a8a + name: userId + in: path + required: true + description: The ID of the user being deleted. + get: + summary: Fetch User + tags: + - Users + responses: + '200': + $ref: '#/components/responses/UserSingle' + '400': + $ref: '#/components/responses/IdentityBadRequest' + '404': + $ref: '#/components/responses/IdentityNotFound' + operationId: get-user + description: Returns the user object for the user ID specified as a path parameter. + servers: + - url: https://global.api.konghq.com/ + patch: + summary: Update User + operationId: update-user + responses: + '200': + $ref: '#/components/responses/UserSingle' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/IdentityPermissionDenied' + '404': + $ref: '#/components/responses/IdentityNotFound' + description: Update an individual user. + requestBody: + $ref: '#/components/requestBodies/UpdateUser' + tags: + - Users + servers: + - url: https://global.api.konghq.com/ + delete: + summary: Delete User + operationId: delete-user + responses: + '204': + description: No Content + '404': + $ref: '#/components/responses/IdentityNotFound' + description: >- + Deletes an individual user. Returns 404 if the requested user was not + found. + tags: + - Users + servers: + - url: https://global.api.konghq.com/ + /v3/users/{userId}/assigned-roles: + parameters: + - schema: + type: string + format: uuid + example: e81bc3e5-e9db-4764-b7dd-e81e39072cbe + name: userId + in: path + required: true + description: The user ID + get: + summary: List User Roles + tags: + - Roles + responses: + '200': + $ref: '#/components/responses/AssignedRoleCollection' + '400': + $ref: '#/components/responses/IdentityBadRequest' + '404': + $ref: '#/components/responses/IdentityNotFound' + operationId: list-user-roles + description: >- + Lists the roles assigned to a user. Returns 400 if any filter + parameters are invalid. + parameters: + - schema: type: object - title: Get Impersonation Settings Response properties: - enabled: - type: boolean - example: true - description: The organization has user impersonation enabled. - UpdateImpersonationSettingsResponse: - description: Response for Update Impersonation Settings endpoint - content: - application/json: - schema: - type: object - title: Update Impersonation Settings Response - properties: - enabled: - type: boolean - example: true - description: The organization has user impersonation enabled. - UserSingle: - description: A get action response of a single user. - content: - application/json: - schema: - $ref: '#/components/schemas/User' - UserCollection: - description: A paginated list response for a collection of users. - content: - application/json: - schema: - type: object - title: User Collection Response - properties: - meta: - $ref: '#/components/schemas/PaginatedMeta' - data: - type: array - items: - $ref: '#/components/schemas/User' - TeamSingle: - description: A response including a single team. - content: - application/json: - schema: - $ref: '#/components/schemas/Team' - TeamCollection: - description: A paginated list response for a collection of users. - content: - application/json: - schema: - type: object - title: Team Collection Response - properties: - meta: - $ref: '#/components/schemas/PaginatedMeta' - data: - type: array - items: - $ref: '#/components/schemas/Team' - TeamMappingCollection: - description: A paginated list response for a collection of team mappings. - content: - application/json: - schema: - type: object - title: Team Mapping Collection Response - properties: - data: - type: array - items: - $ref: '#/components/schemas/TeamMapping' - TeamGroupMappingCollection: - description: A paginated collection of mappings grouped by team_id. - content: - application/json: - schema: - type: object - title: Team Group Mapping Collection Response - properties: - meta: - $ref: '#/components/schemas/PaginatedMeta' - data: - type: array - items: - $ref: '#/components/schemas/TeamGroupMapping' - AssignedRoleSingle: - description: A get action response of a single assigned role. - content: - application/json: - schema: - $ref: '#/components/schemas/AssignedRole' - AssignedRoleCollection: - description: A paginated list response for a collection of assigned roles. - content: - application/json: - schema: - type: object - title: Assigned Role Collection Response - properties: - meta: - $ref: '#/components/schemas/PaginatedMeta' - data: - type: array - description: An Array - items: - $ref: '#/components/schemas/AssignedRole' - AuthenticationSettings: - description: Response for authentication settings endpoint - content: - application/json: - schema: - type: object - title: Authentication Settings Response - properties: - basic_auth_enabled: - type: boolean - example: true - description: The organization has basic auth enabled. - oidc_auth_enabled: - type: boolean - example: false - description: The organization has OIDC disabled. - saml_auth_enabled: - type: boolean - example: false - description: The organization has SAML disabled. - idp_mapping_enabled: - type: boolean - example: true - description: IdP groups determine the Konnect teams a user has. - konnect_mapping_enabled: - type: boolean - example: false - description: A Konnect Identity Admin assigns teams to a user. - 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: + role_name: + $ref: '#/components/schemas/StringFieldEqualsFilter' + entity_type_name: + $ref: '#/components/schemas/StringFieldEqualsFilter' + in: query + name: filter + description: Filter roles returned in the response. + required: false + style: deepObject + servers: + - url: https://global.api.konghq.com/ + post: + summary: Assign Role + operationId: users-assign-role + responses: + '201': + $ref: '#/components/responses/AssignedRoleSingle' + '400': + $ref: '#/components/responses/IdentityBadRequest' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '403': + $ref: '#/components/responses/IdentityPermissionDenied' + '404': + $ref: '#/components/responses/IdentityNotFound' + '409': + $ref: '#/components/responses/IdentityConflict' + description: Assigns a role to a user. Returns 409 if role is already assigned. + requestBody: + $ref: '#/components/requestBodies/AssignRole' + tags: + - Roles + servers: + - url: https://global.api.konghq.com/ + /v3/users/{userId}/assigned-roles/{roleId}: + parameters: + - schema: + type: string + format: uuid + example: e81bc3e5-e9db-4764-b7dd-e81e39072cbe + name: userId + in: path + required: true + description: ID of the user. + - schema: + type: string + example: 8350205f-a305-4e39-abe9-bc082a80091a + format: uuid + name: roleId + in: path + required: true + description: ID of the role. + delete: + summary: Remove Role + operationId: users-remove-role + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/IdentityBadRequest' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + '404': + $ref: '#/components/responses/IdentityNotFound' + tags: + - Roles + description: >- + Removes an assigned role from a user. Returns 404 if the requested user + or assigned role were not found. + servers: + - url: https://global.api.konghq.com/ + /v3/users/{userId}/teams: + parameters: + - schema: + type: string + example: d32d905a-ed33-46a3-a093-d8f536af9a8a + format: uuid + name: userId + in: path + required: true + description: The user ID. + get: + summary: List User Teams + responses: + '200': + $ref: '#/components/responses/TeamCollection' + '404': + $ref: '#/components/responses/IdentityNotFound' + operationId: list-user-teams + description: Returns a paginated list of a teams that the user belongs to. + parameters: + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + - schema: type: object - title: Precondition Failed Response - description: The error response object. properties: - status: - type: integer - description: The HTTP status code. - example: 412 + name: + $ref: '#/components/schemas/StringFieldFilter' + in: query + name: filter + description: Filter teams returned in the response. + required: false + style: deepObject + tags: + - Team Membership + servers: + - url: https://global.api.konghq.com/ + /v3/users/me: + get: + summary: Retrieve My User Account + tags: + - Me + responses: + '200': + $ref: '#/components/responses/UserSingle' + '401': + $ref: '#/components/responses/IdentityUnauthenticated' + operationId: get-users-me + security: + - personalAccessToken: [] + - konnectAccessToken: [] + description: >- + Returns the user account for the user identified in the token of the + request. + servers: + - url: https://global.api.konghq.com/ +components: + parameters: + ControlPlaneFilter: + name: filter + description: Filters a collection of control-planes. + required: false + in: query + schema: + $ref: '#/components/schemas/ControlPlaneFilterParameters' + style: deepObject + FilterByLabels: + name: labels + description: Filter control planes in the response by associated labels. + in: query + required: false + schema: + type: string + example: key:value,existCheck + ControlPlaneSort: + name: sort + description: | + Sorts a collection of control-planes. Supported sort attributes are: + - created_at + required: false + in: query + schema: + $ref: '#/components/schemas/SortQuery' + PageSize: + name: page[size] + description: >- + The maximum number of items to include per page. The last page of a + collection may include fewer items. + required: false + in: query + allowEmptyValue: true + schema: + type: integer + example: 10 + PageNumber: + name: page[number] + description: Determines which page of the entities to retrieve. + required: false + in: query + allowEmptyValue: true + schema: + type: integer + example: 1 + PageAfter: + name: page[after] + description: >- + Request the next page of data, starting with the item after this + parameter. + required: false + in: query + allowEmptyValue: true + schema: + type: string + example: ewogICJpZCI6ICJoZWxsbyB3b3JsZCIKfQ + NetworksFilter: + name: filter + description: Filters supported for networks. + required: false + in: query + schema: + $ref: '#/components/schemas/NetworksFilterParameters' + style: deepObject + ProviderAccountsFilter: + name: filter + description: Filters supported for provider accounts. + required: false + in: query + schema: + $ref: '#/components/schemas/ProviderAccountsFilterParameters' + style: deepObject + ConfigurationsFilter: + name: filter + description: Filters supported for configurations. + required: false + in: query + schema: + $ref: '#/components/schemas/ConfigurationsFilterParameters' + style: deepObject + TransitGatewaysFilter: + name: filter + description: Filters supported for transit gateways. + required: false + in: query + schema: + $ref: '#/components/schemas/TransitGatewaysFilterParameters' + style: deepObject + CustomDomainsFilter: + name: filter + description: Filters supported for custom domains on the global API. + required: false + in: query + schema: + $ref: '#/components/schemas/CustomDomainsFilterParameters' + style: deepObject + ConfigurationId: + name: configurationId + in: path + description: The ID of the configuration to operate on. + required: true + schema: + $ref: '#/components/schemas/ConfigurationId' + x-speakeasy-match: id + CustomDomainId: + name: customDomainId + description: ID of the custom domain to operate on. + required: true + in: path + schema: + $ref: '#/components/schemas/CustomDomainId' + x-speakeasy-match: id + NetworkId: + name: networkId + in: path + description: The network to operate on. + required: true + schema: + $ref: '#/components/schemas/NetworkId' + x-speakeasy-match: id + TransitGatewayId: + name: transitGatewayId + in: path + description: The ID of the transit gateway to operate on. + required: true + schema: + $ref: '#/components/schemas/TransitGatewayId' + x-speakeasy-match: id + ResourceQuotaId: + name: resourceQuotaId + in: path + description: The ID of the resource quota to operate on. + required: true + schema: + $ref: '#/components/schemas/ResourceQuotaId' + ResourceConfigurationId: + name: resourceConfigurationId + in: path + description: The ID of the resource configuration to operate on. + required: true + schema: + $ref: '#/components/schemas/ResourceConfigurationId' + ProviderAccountId: + name: providerAccountId + in: path + description: The ID of the provider account to operate on. + required: true + schema: + $ref: '#/components/schemas/ProviderAccountId' + pagination-size: + description: Number of resources to be returned. + in: query + name: size + schema: + default: 100 + maximum: 1000 + minimum: 1 + type: integer + pagination-tags-filter: + description: >- + A list of tags to filter the list of resources on. Multiple tags can be + concatenated using ',' to mean AND or using '/' to mean OR. + example: tag1,tag2 + in: query + name: tags + schema: + type: string + controlPlaneId: + x-speakeasy-param-force-new: true + name: controlPlaneId + in: path + required: true + schema: + type: string + format: uuid + example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 + description: >- + The UUID of your control plane. This variable is available in the + Konnect manager. + DataPlaneCertificateId: + name: certificateId + in: path + schema: + type: string + required: true + x-speakeasy-match: id + configStoreId: + schema: + type: string + format: uuid + example: d32d905a-ed33-46a3-a093-d8f536af9a8a + name: configStoreId + in: path + required: true + description: Config Store identifier + ACLId: + description: ID of the ACL to lookup + example: f28acbfa-c866-4587-b688-0208ac24df21 + in: path + name: ACLId + required: true + schema: + type: string + BasicAuthId: + description: ID of the Basic-auth credential to lookup + example: 80db1b58-ca7c-4d21-b92a-64eb07725872 + in: path + name: BasicAuthId + required: true + schema: + type: string + CACertificateId: + description: ID of the CA Certificate to lookup + example: 3c31f18a-f27a-4f9b-8cd4-bf841554612f + in: path + name: CACertificateId + required: true + schema: + type: string + CertificateId: + description: ID of the Certificate to lookup + example: ddf3cdaa-3329-4961-822a-ce6dbd38eff7 + in: path + name: CertificateId + required: true + schema: + type: string + ConsumerGroupId: + description: ID of the Consumer Group to lookup + example: '' + in: path + name: ConsumerGroupId + required: true + schema: + type: string + ConsumerGroupIdManageConsumers: + in: path + name: ConsumerGroupId + required: true + schema: + type: string + x-speakeasy-name-override: consumer_group_id + ConsumerId: + description: ID of the Consumer to lookup + example: c1059869-6fa7-4329-a5f5-5946d14ca2c5 + in: path + name: ConsumerId + required: true + schema: + type: string + ConsumerIdForNestedEntities: + description: Consumer ID for nested entities + example: f28acbfa-c866-4587-b688-0208ac24df21 + in: path + name: ConsumerIdForNestedEntities + required: true + schema: + type: string + HMACAuthId: + description: ID of the HMAC-auth credential to lookup + example: 70e7b00b-72f2-471b-a5ce-9c4171775360 + in: path + name: HMACAuthId + required: true + schema: + type: string + JWTId: + description: ID of the JWT to lookup + example: 4a7f5faa-8c96-46d6-8214-c87573ef2ac4 + in: path + name: JWTId + required: true + schema: + type: string + KeyAuthId: + description: ID of the API-key to lookup + example: '' + in: path + name: KeyAuthId + required: true + schema: + type: string + KeyId: + description: ID of the Key to lookup + example: bba22c06-a632-42be-a018-1b9ff357b5b9 + in: path + name: KeyId + required: true + schema: + type: string + KeySetId: + description: ID of the KeySet to lookup + example: 6cc34248-50b4-4a81-9201-3bdf7a83f712 + in: path + name: KeySetId + required: true + schema: + type: string + MTLSAuthId: + description: ID of the MTLS-auth credential to lookup + example: '' + in: path + name: MTLSAuthId + required: true + schema: + type: string + PaginationOffset: + 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: + 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 + PluginId: + description: ID of the Plugin to lookup + example: 3473c251-5b6c-4f45-b1ff-7ede735a366d + in: path + name: PluginId + required: true + schema: + type: string + RouteId: + description: ID of the Route to lookup + example: a4326a41-aa12-44e3-93e4-6b6e58bfb9d7 + in: path + name: RouteId + required: true + schema: + type: string + SNIId: + description: ID of the SNI to lookup + example: 64c17a1a-b7d7-4a65-a5a4-42e4a7016e7f + in: path + name: SNIId + required: true + schema: + type: string + ServiceId: + description: ID of the Service to lookup + example: 7fca84d6-7d37-4a74-a7b0-93e576089a41 + in: path + name: ServiceId + required: true + schema: + type: string + TargetId: + description: ID of the Target to lookup + example: 5a078780-5d4c-4aae-984a-bdc6f52113d8 + in: path + name: TargetId + required: true + schema: + type: string + UpstreamId: + description: ID of the Upstream to lookup + example: 426d620c-7058-4ae6-aacc-f85a3204a2c5 + in: path + name: UpstreamId + required: true + schema: + type: string + UpstreamIdForTarget: + description: ID or target of the Target to lookup + example: 5a078780-5d4c-4aae-984a-bdc6f52113d8 + in: path + name: UpstreamIdForTarget + required: true + schema: + type: string + VaultId: + description: ID of the Vault to lookup + example: 9d4d6d19-77c6-428e-a965-9bc9647633e9 + in: path + name: VaultId + required: true + schema: + type: string + responses: + RetrieveControlPlaneResponse: + description: A response to retrieving a single control plane. + content: + application/json: + schema: + $ref: '#/components/schemas/ControlPlane' + CreateControlPlaneResponse: + description: A response to creating a control plane. + content: + application/json: + schema: + $ref: '#/components/schemas/ControlPlane' + UpdateControlPlaneResponse: + description: A response to updating a control plane. + content: + application/json: + schema: + $ref: '#/components/schemas/ControlPlane' + ListControlPlanesResponse: + description: A paginated list response for a collection of control planes. + content: + application/json: + schema: + title: ListControlPlanesResponse + type: object + additionalProperties: false + properties: + meta: + $ref: '#/components/schemas/PaginatedMeta' + data: + type: array + items: + $ref: '#/components/schemas/ControlPlane' + required: + - meta + - data + ControlPlanesBadRequest: + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/BadRequestError' + ControlPlanePermissionDenied: + description: Permission denied + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ForbiddenError' + ControlPlaneUnauthenticated: + description: Unauthenticated + content: + application/problem+json: + schema: + $ref: '#/components/schemas/UnauthorizedError' + ControlPlaneNotFound: + description: Not Found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/NotFoundError' + ControlPlaneConflict: + description: Conflict + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ConflictError' + InternalServerError: + description: Internal Server Error + content: + application/problem+json: + schema: + title: InternalServerError + type: object + description: The error response object. + properties: + status: + type: integer + description: The HTTP status code. + example: 500 + enum: + - 500 + title: + type: string + description: The error response code. + example: Internal Server Error + instance: + type: string + example: konnect:trace:2287285207635123011 + description: The Konnect traceback code + detail: + type: string + example: >- + Could not propagate control plane changes to control plane + cluster service. + description: Details about the error. + required: + - status + - title + - instance + ServiceUnavailable: + description: Service Unavailable + content: + application/problem+json: + schema: + title: ServiceUnavailableError + type: object + description: Error response for temporary service unavailability. + properties: + status: + type: integer + description: The HTTP status code. + example: 503 + enum: + - 503 + title: + type: string + description: The error response code. + example: Service Unavailable + instance: + type: string + example: konnect:trace:2287285207635123011 + description: The Konnect traceback code + detail: + type: string + example: >- + Could not retrieve permissions to check resource + accessibility. + description: Details about the error. + required: + - status + - title + - instance + ListGroupMemberships: + description: >- + A paginated list response for a collection of control plane group + memberships. + content: + application/json: + schema: + type: object + required: + - meta + - data + properties: + meta: + $ref: '#/components/schemas/CursorPaginatedMetaWithSizeAndTotal' + data: + type: array + description: >- + Array of control planes summary who are a child to this + control plane group. + items: + $ref: '#/components/schemas/ControlPlane' + GetGroupStatus: + description: Status of a control plane group, including existing conflicts. + content: + application/json: + schema: + type: object + properties: + item: + $ref: '#/components/schemas/GroupStatus' + GetGroupMemberStatus: + description: Determines the group membership status of a control plane. + content: + application/json: + schema: + $ref: '#/components/schemas/GroupMemberStatus' + BadRequest: + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/BadRequestError' + Unauthorized: + description: Unauthorized + content: + application/problem+json: + schema: + $ref: '#/components/schemas/UnauthorizedError' + type: object + title: Unauthorized Response + description: The error response object. + properties: + status: + type: integer + example: 403 + description: The HTTP status code. + title: + type: string + description: The Error Response. + example: Unauthorized + instance: + type: string + description: The Konnect traceback code. + example: konnect:trace:952172606039454040 + detail: + type: string + description: Details about the error response. + example: You do not have permission to perform this action + Forbidden: + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ForbiddenError' + NotFound: + description: Not Found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/NotFoundError' + GetImpersonationSettingsResponse: + description: Response for Get Impersonation Settings endpoint + content: + application/json: + schema: + type: object + title: Get Impersonation Settings Response + properties: + enabled: + type: boolean + example: true + description: The organization has user impersonation enabled. + UpdateImpersonationSettingsResponse: + description: Response for Update Impersonation Settings endpoint + content: + application/json: + schema: + type: object + title: Update Impersonation Settings Response + properties: + enabled: + type: boolean + example: true + description: The organization has user impersonation enabled. + UserSingle: + description: A get action response of a single user. + content: + application/json: + schema: + $ref: '#/components/schemas/User' + UserCollection: + description: A paginated list response for a collection of users. + content: + application/json: + schema: + type: object + title: User Collection Response + properties: + meta: + $ref: '#/components/schemas/PaginatedMeta' + data: + type: array + items: + $ref: '#/components/schemas/User' + TeamSingle: + description: A response including a single team. + content: + application/json: + schema: + $ref: '#/components/schemas/Team' + TeamCollection: + description: A paginated list response for a collection of users. + content: + application/json: + schema: + type: object + title: Team Collection Response + properties: + meta: + $ref: '#/components/schemas/PaginatedMeta' + data: + type: array + items: + $ref: '#/components/schemas/Team' + TeamMappingCollection: + description: A paginated list response for a collection of team mappings. + content: + application/json: + schema: + type: object + title: Team Mapping Collection Response + properties: + data: + type: array + items: + $ref: '#/components/schemas/TeamMapping' + TeamGroupMappingCollection: + description: A paginated collection of mappings grouped by team_id. + content: + application/json: + schema: + type: object + title: Team Group Mapping Collection Response + properties: + meta: + $ref: '#/components/schemas/PaginatedMeta' + data: + type: array + items: + $ref: '#/components/schemas/TeamGroupMapping' + AssignedRoleSingle: + description: A get action response of a single assigned role. + content: + application/json: + schema: + $ref: '#/components/schemas/AssignedRole' + AssignedRoleCollection: + description: A paginated list response for a collection of assigned roles. + content: + application/json: + schema: + type: object + title: Assigned Role Collection Response + properties: + meta: + $ref: '#/components/schemas/PaginatedMeta' + data: + type: array + description: An Array + items: + $ref: '#/components/schemas/AssignedRole' + AuthenticationSettings: + description: Response for authentication settings endpoint + content: + application/json: + schema: + type: object + title: Authentication Settings Response + properties: + basic_auth_enabled: + type: boolean + example: true + description: The organization has basic auth enabled. + oidc_auth_enabled: + type: boolean + example: false + description: The organization has OIDC disabled. + saml_auth_enabled: + type: boolean + example: false + description: The organization has SAML disabled. + idp_mapping_enabled: + type: boolean + example: true + description: IdP groups determine the Konnect teams a user has. + konnect_mapping_enabled: + type: boolean + example: false + description: A Konnect Identity Admin assigns teams to a user. + IdentityBadRequest: + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/BadRequestError' + IdentityConflict: + description: Conflict + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ConflictError' + CreateIdentityProviderPermissionDenied: + description: Permission denied + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ForbiddenError' + IdentityPermissionDenied: + description: Permission denied + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ForbiddenError' + PreconditionFailed: + description: Precondition Failed + content: + application/problem+json: + schema: + type: object + title: Precondition Failed Response + description: The error response object. + properties: + status: + type: integer + description: The HTTP status code. + example: 412 title: type: string description: The error response code. @@ -7385,82 +8232,371 @@ components: application/json: schema: type: object - title: Me Organization Response - example: - id: d99c041a-c7cf-46a2-bf3a-44bb5f75400e - name: string - owner_id: 1c9c3848-5897-4f2c-beed-df6f3e3adb37 - created_at: '2023-01-23T17:22:52.150Z' - updated_at: '2023-01-23T17:22:52.150Z' - state: active - retention_period_days: 90 + title: Me Organization Response + example: + id: d99c041a-c7cf-46a2-bf3a-44bb5f75400e + name: string + owner_id: 1c9c3848-5897-4f2c-beed-df6f3e3adb37 + created_at: '2023-01-23T17:22:52.150Z' + updated_at: '2023-01-23T17:22:52.150Z' + state: active + retention_period_days: 90 + properties: + id: + type: string + description: UUID of the organization. + format: uuid + readOnly: true + name: + type: string + description: Name of the organization. + owner_id: + type: string + description: Owner ID of the organization. + login_path: + type: string + description: >- + Path to organization-specific login when single sign on (SSO) + is enabled. Blank otherwise. + created_at: + type: string + description: Date the organization was created. + format: date-time + readOnly: true + updated_at: + type: string + description: Date the organization was last updated. + format: date-time + readOnly: true + state: + type: string + description: State of the organization + enum: + - active + - inactive + - deleting + - deleted + retention_period_days: + type: integer + description: >- + The number of days an organization spends inactive before + being deleted. + IdentityProvider: + description: > + An identity provider configuration. This response represents the + configuration of a specific identity provider, which can be either OIDC + or SAML. + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityProvider' + IdentityProviders: + description: > + A collection of identity providers. This response contains a collection + of identity providers, which may include both OIDC and SAML identity + providers. + content: + application/json: + schema: + type: array + title: Identity Provider Collection Response + items: + $ref: '#/components/schemas/IdentityProvider' + IdPConfiguration: + description: A get action response of the IdP configuration. + content: + application/json: + schema: + $ref: '#/components/schemas/IdP' + RetrieveCloudGatewaysAvailabilityDocumentResponse: + description: >- + Response format for retrieving the cloud gateways availability JSON + document. + content: + application/json: + schema: + $ref: '#/components/schemas/AvailabilityDocument' + ListNetworkConfigurationReferencesResponse: + description: >- + A paginated list for a collection of configurations that reference a + network. + content: + application/json: + schema: + title: ListNetworkConfigurationReferencesResponse + type: object + properties: + meta: + $ref: '#/components/schemas/PaginatedMeta' + data: + type: array + items: + $ref: '#/components/schemas/NetworkConfigurationReference' + required: + - meta + - data + ListConfigurationsResponse: + description: A paginated list for a collection of configurations. + content: + application/json: + schema: + title: ListConfigurationsResponse + type: object + properties: + meta: + $ref: '#/components/schemas/PaginatedMeta' + data: + type: array + items: + $ref: '#/components/schemas/ConfigurationManifest' + required: + - meta + - data + RetrieveConfigurationResponse: + description: Response format for retrieving a configuration by ID. + content: + application/json: + schema: + $ref: '#/components/schemas/ConfigurationManifest' + CreateConfigurationResponse: + description: Response format for creating a configuration. + content: + application/json: + schema: + $ref: '#/components/schemas/ConfigurationManifest' + ListNetworksResponse: + description: A paginated list for a collection of networks. + content: + application/json: + schema: + title: ListNetworksResponse + type: object + properties: + meta: + $ref: '#/components/schemas/PaginatedMeta' + data: + type: array + items: + $ref: '#/components/schemas/Network' + required: + - meta + - data + RetrieveNetworkResponse: + description: Response format for retrieving a network. + content: + application/json: + schema: + $ref: '#/components/schemas/Network' + CreateNetworkResponse: + description: Response format for creating a network. + content: + application/json: + schema: + $ref: '#/components/schemas/Network' + PatchNetworkResponse: + description: Response format for patching a network. + content: + application/json: + schema: + $ref: '#/components/schemas/Network' + CreateTransitGatewayResponse: + description: Response format for creating a transit gateway. + content: + application/json: + schema: + $ref: '#/components/schemas/TransitGatewayResponse' + ListTransitGatewaysResponse: + description: A paginated list for a collection of transit gateways for a network. + content: + application/json: + schema: + title: ListTransitGatewaysResponse + type: object + properties: + meta: + $ref: '#/components/schemas/PaginatedMeta' + data: + type: array + items: + $ref: '#/components/schemas/TransitGatewayResponse' + required: + - meta + - data + RetrieveTransitGatewayResponse: + description: Response format for retrieving a transit gateway. + content: + application/json: + schema: + $ref: '#/components/schemas/TransitGatewayResponse' + ListProviderAccountsResponse: + description: A paginated list for a collection of provider accounts. + content: + application/json: + schema: + x-speakeasy-entity: CloudGatewayProviderAccountList + title: ListCloudGatewayProviderAccountsResponse + type: object + properties: + meta: + $ref: '#/components/schemas/PaginatedMeta' + data: + type: array + items: + $ref: '#/components/schemas/ProviderAccount' + required: + - meta + - data + RetrieveProviderAccountResponse: + description: Response format for retrieving a provider account. + content: + application/json: + schema: + $ref: '#/components/schemas/ProviderAccount' + CreateCustomDomainResponse: + description: >- + Response format for creating a custom domain for a control-plane in the + global API. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomDomain' + RetrieveCustomDomainResponse: + description: Response format for retrieving a custom domain for a control-plane. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomDomain' + ListCustomDomainsResponse: + description: A paginated list for a collection of custom domains. + content: + application/json: + schema: + title: ListGlobalCustomDomainsResponse + type: object + properties: + meta: + $ref: '#/components/schemas/PaginatedMeta' + data: + type: array + items: + $ref: '#/components/schemas/CustomDomain' + required: + - meta + - data + RetrieveCustomDomainOnlineStatusResponse: + description: >- + Response format for retrieving the CNAME and SSL status of a custom + domain. + content: + application/json: + schema: + $ref: '#/components/schemas/CustomDomainOnlineStatus' + RetrieveResourceQuotaResponse: + description: Response format for retrieving a resource quota for an organization. + content: + application/json: + schema: + $ref: '#/components/schemas/ResourceQuota' + ListResourceQuotasResponse: + description: A paginated list for a collection of resource quotas. + content: + application/json: + schema: + title: ListResourceQuotasResponse + type: object + properties: + meta: + $ref: '#/components/schemas/PaginatedMeta' + data: + type: array + items: + $ref: '#/components/schemas/ResourceQuota' + required: + - meta + - data + ListDefaultResourceQuotasResponse: + description: A paginated list for a collection of default resource quotas. + content: + application/json: + schema: + title: ListDefaultResourceQuotasResponse + type: object + properties: + meta: + $ref: '#/components/schemas/PaginatedMeta' + data: + type: array + items: + $ref: '#/components/schemas/DefaultResourceQuota' + required: + - meta + - data + CloudGatewaysBadRequest: + description: Bad Request + content: + application/problem+json: + schema: + $ref: '#/components/schemas/BadRequestError' + CloudGatewaysForbidden: + description: Forbidden + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ForbiddenError' + CloudGatewaysConflict: + description: Conflict + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ConflictError' + ListDefaultResourceConfigurationsResponse: + description: A paginated list for a collection of default resource configurations. + content: + application/json: + schema: + title: ListDefaultResourceConfigurationsResponse + type: object properties: - id: - type: string - description: UUID of the organization. - format: uuid - readOnly: true - name: - type: string - description: Name of the organization. - owner_id: - type: string - description: Owner ID of the organization. - login_path: - type: string - description: >- - Path to organization-specific login when single sign on (SSO) - is enabled. Blank otherwise. - created_at: - type: string - description: Date the organization was created. - format: date-time - readOnly: true - updated_at: - type: string - description: Date the organization was last updated. - format: date-time - readOnly: true - state: - type: string - description: State of the organization - enum: - - active - - inactive - - deleting - - deleted - retention_period_days: - type: integer - description: >- - The number of days an organization spends inactive before - being deleted. - IdentityProvider: - description: > - An identity provider configuration. This response represents the - configuration of a specific identity provider, which can be either OIDC - or SAML. + meta: + $ref: '#/components/schemas/PaginatedMeta' + data: + type: array + items: + $ref: '#/components/schemas/DefaultResourceConfiguration' + required: + - meta + - data + ListResourceConfigurationsResponse: + description: A paginated list for a collection of resource configurations. content: application/json: schema: - $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. + title: ListResourceConfigurationsResponse + type: object + properties: + meta: + $ref: '#/components/schemas/PaginatedMeta' + data: + type: array + items: + $ref: '#/components/schemas/ResourceConfiguration' + required: + - meta + - data + RetrieveResourceConfigurationResponse: + description: >- + Response format for retrieving a resource configuration for an + organization. content: application/json: schema: - type: array - title: Identity Provider Collection Response - items: - $ref: '#/components/schemas/IdentityProvider' - IdPConfiguration: - description: A get action response of the IdP configuration. + $ref: '#/components/schemas/ResourceConfiguration' + Conflict: + description: Conflict content: - application/json: + application/problem+json: schema: - $ref: '#/components/schemas/IdP' + $ref: '#/components/schemas/ConflictError' DataPlaneClientCertificateResponse: description: Response body for retrieving a dp-client-certificate. content: @@ -7751,12 +8887,6 @@ components: application/json: schema: $ref: '#/components/schemas/GatewayUnauthorizedError' - Conflict: - description: Conflict - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ConflictError' UnsupportedMediaType: description: Unsupported Media Type content: @@ -7768,1369 +8898,2940 @@ components: x-speakeasy-entity: GatewayControlPlaneMembership type: object required: - - members - properties: - members: - type: array - items: - type: object - required: - - id - properties: - id: - type: string - CreateControlPlaneRequest: - x-speakeasy-entity: GatewayControlPlane - title: CreateControlPlaneRequest - description: The request schema for the create control plane request. + - members + properties: + members: + type: array + items: + type: object + required: + - id + properties: + id: + type: string + CreateControlPlaneRequest: + x-speakeasy-entity: GatewayControlPlane + title: CreateControlPlaneRequest + description: The request schema for the create control plane request. + type: object + additionalProperties: false + properties: + name: + type: string + example: Test Control Plane + description: The name of the control plane. + description: + type: string + example: A test control plane for exploration. + description: The description of the control plane in Konnect. + cluster_type: + type: string + description: >- + The ClusterType value of the cluster associated with the Control + Plane. + example: CLUSTER_TYPE_CONTROL_PLANE + enum: + - CLUSTER_TYPE_CONTROL_PLANE + - CLUSTER_TYPE_K8S_INGRESS_CONTROLLER + - CLUSTER_TYPE_CONTROL_PLANE_GROUP + - CLUSTER_TYPE_SERVERLESS + auth_type: + type: string + description: >- + The auth type value of the cluster associated with the Runtime + Group. + example: pinned_client_certs + enum: + - pinned_client_certs + - pki_client_certs + cloud_gateway: + type: boolean + description: Whether this control-plane can be used for cloud-gateways. + example: false + proxy_urls: + $ref: '#/components/schemas/ProxyURLs' + labels: + $ref: '#/components/schemas/Labels' + required: + - name + UpdateControlPlaneRequest: + title: UpdateControlPlaneRequest + description: The request schema for the update control plane request. + type: object + additionalProperties: false + properties: + name: + type: string + example: Test Control Plane + description: The name of the control plane. + description: + type: string + example: A test control plane for exploration. + description: The description of the control plane in Konnect. + auth_type: + type: string + description: >- + The auth type value of the cluster associated with the Runtime + Group. + example: pinned_client_certs + enum: + - pinned_client_certs + - pki_client_certs + proxy_urls: + $ref: '#/components/schemas/ProxyURLs' + labels: + $ref: '#/components/schemas/Labels' + ControlPlane: + x-speakeasy-entity: GatewayControlPlane + type: object + description: >- + The control plane object contains information about a Kong control + plane. + additionalProperties: false + properties: + id: + x-speakeasy-param-suppress-computed-diff: true + type: string + format: uuid + example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 + description: The control plane ID. + readOnly: true + name: + type: string + example: Test Control Plane + description: The name of the control plane. + description: + type: string + example: A test control plane for exploration. + description: The description of the control plane in Konnect. + labels: + $ref: '#/components/schemas/Labels' + config: + type: object + description: CP configuration object for related access endpoints. + additionalProperties: false + properties: + control_plane_endpoint: + type: string + format: url + example: https://acfe5f253f.cp0.konghq.com + description: Control Plane Endpoint. + readOnly: true + telemetry_endpoint: + type: string + format: url + example: https://acfe5f253f.tp0.konghq.com + description: Telemetry Endpoint. + readOnly: true + cluster_type: + type: string + description: >- + The ClusterType value of the cluster associated with the Control + Plane. + example: CLUSTER_TYPE_CONTROL_PLANE + enum: + - CLUSTER_TYPE_CONTROL_PLANE + - CLUSTER_TYPE_K8S_INGRESS_CONTROLLER + - CLUSTER_TYPE_CONTROL_PLANE_GROUP + - CLUSTER_TYPE_SERVERLESS + readOnly: true + auth_type: + type: string + description: >- + The auth type value of the cluster associated with the Runtime + Group. + example: pinned_client_certs + enum: + - pinned_client_certs + - pki_client_certs + readOnly: true + cloud_gateway: + type: boolean + description: Whether the Control Plane can be used for cloud-gateways. + readOnly: true + proxy_urls: + $ref: '#/components/schemas/ProxyURLs' + required: + - control_plane_endpoint + - telemetry_endpoint + - cluster_type + - auth_type + - cloud_gateway + created_at: + x-speakeasy-terraform-ignore: true + type: string + format: date-time + example: '2022-11-04T20:10:06.927Z' + description: An ISO-8604 timestamp representation of control plane creation date. + readOnly: true + updated_at: + x-speakeasy-terraform-ignore: true + type: string + format: date-time + example: '2022-11-04T20:10:06.927Z' + description: An ISO-8604 timestamp representation of control plane update date. + readOnly: true + required: + - id + - name + - config + - created_at + - updated_at + GroupStatus: + title: GroupStatus + type: object + description: >- + The Group Status object contains information about the status of a + control plane group. + required: + - id + - created_at + - updated_at + - state + properties: + id: + type: string + format: uuid + example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 + description: The control plane group ID. + readOnly: true + created_at: + type: string + format: date-time + example: '2022-11-04T20:10:06.927Z' + description: >- + An ISO-8604 timestamp representation of control plane group status + creation date. + readOnly: true + updated_at: + type: string + format: date-time + example: '2022-11-04T20:10:06.927Z' + description: >- + An ISO-8604 timestamp representation of control plane group status + update date. + readOnly: true + conflicts: + type: array + maxItems: 256 + items: + $ref: '#/components/schemas/GroupConflict' + state: + type: string + description: The state of the control plane group. + example: CONFLICT + readOnly: true + enum: + - OK + - CONFLICT + - UNKNOWN + GroupConflict: + title: GroupConflict + type: object + description: >- + The Group Conflict object contains information about a conflict in a + control plane group. + required: + - cluster_id + - description + - resource + properties: + cluster_id: + type: string + format: uuid + example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 + description: The ID of a control plane member of a control plane group. + readOnly: true + description: + type: string + example: >- + conflicting entity found: ID=38d790ad-8b08-4ff5-a074-2e1e9e64d8bd, + Name=foo + description: The description of the conflict. + readOnly: true + resource: + $ref: '#/components/schemas/GroupConflictResource' + GroupConflictResource: + title: GroupConflictResource + type: object + description: A resource causing a conflict in a control plane group. + properties: + id: + type: string + format: uuid + example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 + description: The ID of the resource. + readOnly: true + type: + type: string + example: service + description: The type of the resource. + readOnly: true + required: + - id + - type + GroupMemberStatus: + title: GroupMemberStatus + type: object + description: >- + Object with information determining the group membership status of a + control plane. + properties: + is_member: + type: boolean + example: true + description: >- + Boolean indicating if a control plane is a member of a control plane + group. + readOnly: true + required: + - is_member + Labels: + title: Labels + type: object + example: + env: test + description: > + Labels store metadata of an entity that can be used for filtering an + entity list or for searching across entity types. + + + Keys must be of length 1-63 characters, and cannot start with "kong", + "konnect", "mesh", "kic", or "_". + additionalProperties: + type: string + pattern: ^[a-z0-9A-Z]{1}([a-z0-9A-Z-._]*[a-z0-9A-Z]+)?$ + minLength: 1 + maxLength: 63 + maxProperties: 50 + ProxyURL: + title: ProxyURL + description: >- + Proxy URL associated with reaching the data-planes connected to a + control-plane. + type: object + additionalProperties: false + properties: + host: + type: string + description: Hostname of the proxy URL. + port: + type: integer + description: Port of the proxy URL. + protocol: + type: string + description: Protocol of the proxy URL. + required: + - host + - port + - protocol + example: + host: example.com + port: 443 + protocol: https + ProxyURLs: + title: ProxyURLs + description: >- + Array of proxy URLs associated with reaching the data-planes connected + to a control-plane. + type: array + format: set + items: + $ref: '#/components/schemas/ProxyURL' + example: + - host: example.com + port: 443 + protocol: https + ControlPlaneFilterParameters: + title: ControlPlaneFilterParameters + type: object + additionalProperties: false + properties: + id: + oneOf: + - $ref: '#/components/schemas/StringFieldEqualsFilter' + - $ref: '#/components/schemas/StringFieldOEQFilter' + name: + oneOf: + - $ref: '#/components/schemas/StringFieldEqualsFilter' + - $ref: '#/components/schemas/StringFieldContainsFilter' + - $ref: '#/components/schemas/StringFieldNEQFilter' + cluster_type: + oneOf: + - $ref: '#/components/schemas/StringFieldEqualsFilter' + - $ref: '#/components/schemas/StringFieldNEQFilter' + cloud_gateway: + $ref: '#/components/schemas/BooleanFieldFilter' + StringFieldEqualsFilter: + title: StringFieldEqualsFilter + description: Filter a string value by exact match. + oneOf: + - type: string + - type: object + title: StringFieldEqualsComparison + additionalProperties: false + properties: + eq: + type: string + required: + - eq + type: string + StringFieldOEQFilter: + title: StringFieldOEQFilter + description: Filters on the given comma separated string by one or more exact match. + type: object + additionalProperties: false + properties: + oeq: + type: string + required: + - oeq + StringFieldContainsFilter: + title: StringFieldContainsFilter + description: Filter a string value field by partial contains. + type: object + additionalProperties: false + properties: + contains: + type: string + required: + - contains + StringFieldNEQFilter: + title: StringFieldNEQFilter + description: Filters on the given string field value by exact match inequality. + type: object + additionalProperties: false + properties: + neq: + type: string + oeq: + type: string + required: + - neq + BooleanFieldFilter: + title: BooleanFieldFilter + description: Filter by a boolean value (true/false). + type: boolean + example: true + SortQuery: + title: SortQuery + type: string + example: name,created_at desc + description: > + The `asc` suffix is optional as the default sort order is ascending. + + The `desc` suffix is used to specify a descending order. + + Multiple sort attributes may be provided via a comma separated list. + + JSONPath notation may be used to specify a sub-attribute (eg: 'foo.bar + desc'). + PageMeta: + type: object + description: >- + Contains pagination query parameters and the total number of objects + returned. + required: + - number + - size + - total + properties: + number: + type: number + example: 1 + size: + type: number + example: 10 + total: + type: number + example: 100 + PaginatedMeta: + type: object + title: PaginatedMeta + description: returns the pagination information + properties: + page: + $ref: '#/components/schemas/PageMeta' + required: + - page + BaseError: + type: object + title: Error + description: standard error + required: + - status + - title + - instance + - detail + properties: + status: + type: integer + description: > + The HTTP status code of the error. Useful when passing the response + + body to child properties in a frontend UI. Must be returned as an + integer. + readOnly: true + title: + type: string + description: | + A short, human-readable summary of the problem. It should not + change between occurences of a problem, except for localization. + Should be provided as "Sentence case" for direct use in the UI. + readOnly: true + type: + type: string + description: The error type. + readOnly: true + instance: + type: string + description: | + Used to return the correlation ID back to the user, in the format + kong:trace:. This helps us find the relevant logs + when a customer reports an issue. + readOnly: true + detail: + type: string + description: > + A human readable explanation specific to this occurence of the + problem. + + This field may contain request/entity data to help the user + understand + + what went wrong. Enclose variable values in square brackets. Should + be + + provided as "Sentence case" for direct use in the UI. + readOnly: true + InvalidRules: + description: invalid parameters rules + type: string + readOnly: true + nullable: true + enum: + - required + - is_array + - is_base64 + - is_boolean + - is_date_time + - is_integer + - is_null + - is_number + - is_object + - is_string + - is_uuid + - is_fqdn + - is_arn + - unknown_property + - missing_reference + - is_label + - matches_regex + - invalid + - is_supported_network_availability_zone_list + - is_supported_network_cidr_block + - is_supported_provider_region + InvalidParameterStandard: + type: object + additionalProperties: false + properties: + field: + type: string + example: name + readOnly: true + rule: + $ref: '#/components/schemas/InvalidRules' + source: + type: string + example: body + reason: + type: string + example: is a required field + readOnly: true + required: + - field + - reason + InvalidParameterMinimumLength: + type: object + additionalProperties: false + properties: + field: + type: string + example: name + readOnly: true + rule: + description: invalid parameters rules + type: string + readOnly: true + nullable: false + enum: + - min_length + - min_digits + - min_lowercase + - min_uppercase + - min_symbols + - min_items + - min + minimum: + type: integer + example: 8 + source: + type: string + example: body + reason: + type: string + example: must have at least 8 characters + readOnly: true + required: + - field + - reason + - rule + - minimum + InvalidParameterMaximumLength: + type: object + additionalProperties: false + properties: + field: + type: string + example: name + readOnly: true + rule: + description: invalid parameters rules + type: string + readOnly: true + nullable: false + enum: + - max_length + - max_items + - max + maximum: + type: integer + example: 8 + source: + type: string + example: body + reason: + type: string + example: must not have more than 8 characters + readOnly: true + required: + - field + - reason + - rule + - maximum + InvalidParameterChoiceItem: + type: object + additionalProperties: false + properties: + field: + type: string + example: name + readOnly: true + rule: + description: invalid parameters rules + type: string + readOnly: true + nullable: false + enum: + - enum + reason: + type: string + example: is a required field + readOnly: true + choices: + type: array + uniqueItems: true + readOnly: true + nullable: false + minItems: 1 + items: {} + source: + type: string + example: body + required: + - field + - reason + - rule + - choices + InvalidParameterDependentItem: type: object additionalProperties: false properties: - name: - type: string - example: Test Control Plane - description: The name of the control plane. - description: + field: type: string - example: A test control plane for exploration. - description: The description of the control plane in Konnect. - cluster_type: + example: name + readOnly: true + rule: + description: invalid parameters rules type: string - description: >- - The ClusterType value of the cluster associated with the Control - Plane. - example: CLUSTER_TYPE_CONTROL_PLANE + readOnly: true + nullable: true enum: - - CLUSTER_TYPE_CONTROL_PLANE - - CLUSTER_TYPE_K8S_INGRESS_CONTROLLER - - CLUSTER_TYPE_CONTROL_PLANE_GROUP - - CLUSTER_TYPE_SERVERLESS - auth_type: + - dependent_fields + reason: type: string - description: >- - The auth type value of the cluster associated with the Runtime - Group. - example: pinned_client_certs - enum: - - pinned_client_certs - - pki_client_certs - cloud_gateway: - type: boolean - description: Whether this control-plane can be used for cloud-gateways. - example: false - proxy_urls: - $ref: '#/components/schemas/ProxyURLs' - labels: - $ref: '#/components/schemas/Labels' + example: is a required field + readOnly: true + dependents: + type: array + uniqueItems: true + nullable: true + items: {} + readOnly: true + source: + type: string + example: body required: - - name - UpdateControlPlaneRequest: - title: UpdateControlPlaneRequest - description: The request schema for the update control plane request. + - field + - rule + - reason + - dependents + InvalidParameters: + type: array + nullable: false + uniqueItems: true + minItems: 1 + description: invalid parameters + items: + oneOf: + - $ref: '#/components/schemas/InvalidParameterStandard' + - $ref: '#/components/schemas/InvalidParameterMinimumLength' + - $ref: '#/components/schemas/InvalidParameterMaximumLength' + - $ref: '#/components/schemas/InvalidParameterChoiceItem' + - $ref: '#/components/schemas/InvalidParameterDependentItem' + BadRequestError: + allOf: + - $ref: '#/components/schemas/BaseError' + - type: object + required: + - invalid_parameters + properties: + invalid_parameters: + $ref: '#/components/schemas/InvalidParameters' + UnauthorizedError: + allOf: + - $ref: '#/components/schemas/BaseError' + - type: object + properties: + status: + example: 401 + title: + example: Unauthorized + type: + example: https://httpstatuses.com/401 + instance: + example: kong:trace:1234567890 + detail: + example: Invalid credentials + ForbiddenError: + allOf: + - $ref: '#/components/schemas/BaseError' + - type: object + properties: + status: + example: 403 + title: + example: Forbidden + type: + example: https://httpstatuses.com/403 + instance: + example: kong:trace:1234567890 + detail: + example: Forbidden + ConflictError: + allOf: + - $ref: '#/components/schemas/BaseError' + - type: object + properties: + status: + example: 409 + title: + example: Conflict + type: + example: https://httpstatuses.com/409 + instance: + example: kong:trace:1234567890 + detail: + example: Conflict + NotFoundError: + allOf: + - $ref: '#/components/schemas/BaseError' + - type: object + properties: + status: + example: 404 + title: + example: Not Found + type: + example: https://httpstatuses.com/404 + instance: + example: kong:trace:1234567890 + detail: + example: Not found + CursorMetaWithSizeAndTotal: type: object - additionalProperties: false + required: + - size + - next + - total properties: - name: - type: string - example: Test Control Plane - description: The name of the control plane. - description: - type: string - example: A test control plane for exploration. - description: The description of the control plane in Konnect. - auth_type: + next: + description: URI to the next page type: string + format: path + nullable: true + size: + description: Requested page size + type: number + example: 10 + total: description: >- - The auth type value of the cluster associated with the Runtime - Group. - example: pinned_client_certs - enum: - - pinned_client_certs - - pki_client_certs - proxy_urls: - $ref: '#/components/schemas/ProxyURLs' - labels: - $ref: '#/components/schemas/Labels' - ControlPlane: - x-speakeasy-entity: GatewayControlPlane + Total number of objects in the collection; will only be present on + the first page + type: number + example: 974 + nullable: true + CursorPaginatedMetaWithSizeAndTotal: + type: object + title: CursorPaginatedMetaWithSizeAndTotal + description: returns the pagination information + properties: + page: + $ref: '#/components/schemas/CursorMetaWithSizeAndTotal' + required: + - page + IdentityProviderEnabled: + title: Identity Provider Enabled Property + type: boolean + description: > + Indicates whether the identity provider is enabled. + + Only one identity provider can be active at a time, such as SAML or + OIDC. + default: false + example: true + IdentityProviderType: + type: string + enum: + - oidc + - saml + description: Specifies the type of identity provider. + example: oidc + IdentityProviderLoginPath: + title: Identity Provider Login Path Property + type: string + example: myapp + description: The path used for initiating login requests with the identity provider. + OIDCIdentityProviderIssuer: + title: OIDC Identity Provider Issuer Property + type: string + format: uri + description: >- + The issuer URI of the identity provider. This is the URL where the + provider's metadata can be obtained. + example: https://konghq.okta.com/oauth2/default + OIDCIdentityProviderClientId: + title: OIDC Identity Provider Login Client Id Property + type: string + example: YOUR_CLIENT_ID + description: The client ID assigned to your application by the identity provider. + OIDCIdentityProviderScopes: + title: OIDC Identity Provider Scopes Property + type: array + description: >- + The scopes requested by your application when authenticating with the + identity provider. + default: + - email + - openid + - profile + items: + type: string + OIDCIdentityProviderClaimMappings: + title: OIDC Claim Mappings type: object - description: >- - The control plane object contains information about a Kong control - plane. - additionalProperties: false + description: > + Defines the mappings between OpenID Connect (OIDC) claims and local + claims used by your application for + + authentication. properties: - id: - x-speakeasy-param-suppress-computed-diff: true - type: string - format: uuid - example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 - description: The control plane ID. - readOnly: true name: type: string - example: Test Control Plane - description: The name of the control plane. - description: + example: name + description: The claim mapping for the user's name. + email: type: string - example: A test control plane for exploration. - description: The description of the control plane in Konnect. - labels: - $ref: '#/components/schemas/Labels' + example: email + description: The claim mapping for the user's email address. + groups: + type: string + example: groups + description: The claim mapping for the user's group membership information. + SAMLIdentityProviderMetadataURL: + title: SAML Identity Provider Metadata URL + type: string + format: uri + description: >- + The identity provider's metadata URL where the identity provider's + metadata can be obtained. + example: https://mocksaml.com/api/saml/metadata + SAMLIdentityProviderMetadata: + title: SAML Identity Provider Metadata + type: string + description: > + The identity provider's SAML metadata. If the identity provider supports + a metadata URL, you can use the `idp_metadata_url` field instead. + example: | + + + + + CreateIdentityProvider: + title: Identity Provider + type: object + description: >- + The identity provider that contains configuration data for creating an + authentication integration. + properties: + type: + $ref: '#/components/schemas/IdentityProviderType' + login_path: + $ref: '#/components/schemas/IdentityProviderLoginPath' config: type: object - description: CP configuration object for related access endpoints. - additionalProperties: false - properties: - control_plane_endpoint: - type: string - format: url - example: https://acfe5f253f.cp0.konghq.com - description: Control Plane Endpoint. - readOnly: true - telemetry_endpoint: - type: string - format: url - example: https://acfe5f253f.tp0.konghq.com - description: Telemetry Endpoint. - readOnly: true - cluster_type: - type: string - description: >- - The ClusterType value of the cluster associated with the Control - Plane. - example: CLUSTER_TYPE_CONTROL_PLANE - enum: - - CLUSTER_TYPE_CONTROL_PLANE - - CLUSTER_TYPE_K8S_INGRESS_CONTROLLER - - CLUSTER_TYPE_CONTROL_PLANE_GROUP - - CLUSTER_TYPE_SERVERLESS - readOnly: true - auth_type: - type: string - description: >- - The auth type value of the cluster associated with the Runtime - Group. - example: pinned_client_certs - enum: - - pinned_client_certs - - pki_client_certs - readOnly: true - cloud_gateway: - type: boolean - description: Whether the Control Plane can be used for cloud-gateways. - readOnly: true - proxy_urls: - $ref: '#/components/schemas/ProxyURLs' - required: - - control_plane_endpoint - - telemetry_endpoint - - cluster_type - - auth_type - - cloud_gateway - created_at: - x-speakeasy-terraform-ignore: true - type: string - format: date-time - example: '2022-11-04T20:10:06.927Z' - description: An ISO-8604 timestamp representation of control plane creation date. - readOnly: true - updated_at: - x-speakeasy-terraform-ignore: true - type: string - format: date-time - example: '2022-11-04T20:10:06.927Z' - description: An ISO-8604 timestamp representation of control plane update date. - readOnly: true - required: - - id - - name - - config - - created_at - - updated_at - GroupStatus: - title: GroupStatus + oneOf: + - $ref: '#/components/schemas/OIDCIdentityProviderConfig' + - $ref: '#/components/schemas/SAMLIdentityProviderConfig' + UpdateIdentityProvider: + title: Identity Provider type: object description: >- - The Group Status object contains information about the status of a - control plane group. - required: - - id - - created_at - - updated_at - - state + The identity provider that contains configuration data for updating an + authentication integration. + properties: + enabled: + $ref: '#/components/schemas/IdentityProviderEnabled' + login_path: + $ref: '#/components/schemas/IdentityProviderLoginPath' + config: + type: object + oneOf: + - $ref: '#/components/schemas/OIDCIdentityProviderConfig' + - $ref: '#/components/schemas/SAMLIdentityProviderConfig' + IdentityProvider: + title: Identity Provider + type: object + description: >- + The identity provider that contains configuration data for + authentication integration. properties: id: - type: string - format: uuid - example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 - description: The control plane group ID. - readOnly: true + $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: - type: string - format: date-time - example: '2022-11-04T20:10:06.927Z' - description: >- - An ISO-8604 timestamp representation of control plane group status - creation date. - readOnly: true + $ref: '#/components/schemas/CreatedAt' updated_at: - type: string - format: date-time - example: '2022-11-04T20:10:06.927Z' - description: >- - An ISO-8604 timestamp representation of control plane group status - update date. - readOnly: true - conflicts: - type: array - maxItems: 256 - items: - $ref: '#/components/schemas/GroupConflict' - state: - type: string - description: The state of the control plane group. - example: CONFLICT - readOnly: true - enum: - - OK - - CONFLICT - - UNKNOWN - GroupConflict: - title: GroupConflict + $ref: '#/components/schemas/UpdatedAt' + OIDCIdentityProviderConfig: + title: OIDC Identity Provider Config type: object description: >- - The Group Conflict object contains information about a conflict in a - control plane group. + The identity provider that contains configuration data for the OIDC + authentication integration. + properties: + issuer_url: + $ref: '#/components/schemas/OIDCIdentityProviderIssuer' + client_id: + $ref: '#/components/schemas/OIDCIdentityProviderClientId' + scopes: + $ref: '#/components/schemas/OIDCIdentityProviderScopes' + claim_mappings: + $ref: '#/components/schemas/OIDCIdentityProviderClaimMappings' + additionalProperties: false required: - - cluster_id - - description - - resource + - issuer_url + - client_id + SAMLIdentityProviderConfig: + title: SAML Identity Provider Config + type: object + description: >- + The identity provider that contains configuration data for the SAML + authentication integration. properties: - cluster_id: - type: string - format: uuid - example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 - description: The ID of a control plane member of a control plane group. - readOnly: true - description: + idp_metadata_url: + $ref: '#/components/schemas/SAMLIdentityProviderMetadataURL' + idp_metadata_xml: + $ref: '#/components/schemas/SAMLIdentityProviderMetadata' + sp_metadata_url: type: string + format: uri example: >- - conflicting entity found: ID=38d790ad-8b08-4ff5-a074-2e1e9e64d8bd, - Name=foo - description: The description of the conflict. + https://cloud.konghq.com/v2/authenticate/the-saml-konnect-org/saml/metadata readOnly: true - resource: - $ref: '#/components/schemas/GroupConflictResource' - GroupConflictResource: - title: GroupConflictResource - type: object - description: A resource causing a conflict in a control plane group. - properties: - id: + sp_entity_id: type: string - format: uuid - example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 - description: The ID of the resource. + description: The entity ID of the service provider (SP). + example: https://cloud.konghq.com/sp/00000000-0000-0000-0000-000000000000 readOnly: true - type: + login_url: type: string - example: service - description: The type of the resource. + description: >- + The URL to redirect users to for initiating login with the identity + provider. + example: https://cloud.konghq.com/login/the-saml-konnect-org readOnly: true - required: - - id - - type - GroupMemberStatus: - title: GroupMemberStatus - type: object - description: >- - Object with information determining the group membership status of a - control plane. - properties: - is_member: - type: boolean - example: true + callback_url: + type: string description: >- - Boolean indicating if a control plane is a member of a control plane - group. + The URL where the SAML identity provider sends authentication + responses after successful login attempts. + format: uri + example: >- + https://cloud.konghq.com/v2/authenticate/the-saml-konnect-org/saml/acs readOnly: true - required: - - is_member - Labels: - title: Labels + additionalProperties: false + IdP: + title: IdP Configuration type: object - example: - env: test - description: > - Labels store metadata of an entity that can be used for filtering an - entity list or for searching across entity types. + description: >- + The IdP object contains the configuration data for the OIDC + authentication integration. - Keys must be of length 1-63 characters, and cannot start with "kong", - "konnect", "mesh", "kic", or "_". - additionalProperties: - type: string - pattern: ^[a-z0-9A-Z]{1}([a-z0-9A-Z-._]*[a-z0-9A-Z]+)?$ - minLength: 1 - maxLength: 63 - maxProperties: 50 - ProxyURL: - title: ProxyURL - description: >- - Proxy URL associated with reaching the data-planes connected to a - control-plane. - type: object - additionalProperties: false + NOTE: The `openid` scope is required. Removing it could break the OIDC + integration. properties: - host: + issuer: type: string - description: Hostname of the proxy URL. - port: - type: integer - description: Port of the proxy URL. - protocol: + format: uri + example: https://myidp.com/oauth2 + login_path: type: string - description: Protocol of the proxy URL. - required: - - host - - port - - protocol - example: - host: example.com - port: 443 - protocol: https - ProxyURLs: - title: ProxyURLs - description: >- - Array of proxy URLs associated with reaching the data-planes connected - to a control-plane. - type: array - format: set - items: - $ref: '#/components/schemas/ProxyURL' - example: - - host: example.com - port: 443 - protocol: https - ControlPlaneFilterParameters: - title: ControlPlaneFilterParameters - type: object - additionalProperties: false - properties: - id: - oneOf: - - $ref: '#/components/schemas/StringFieldEqualsFilter' - - $ref: '#/components/schemas/StringFieldOEQFilter' - name: - oneOf: - - $ref: '#/components/schemas/StringFieldEqualsFilter' - - $ref: '#/components/schemas/StringFieldContainsFilter' - - $ref: '#/components/schemas/StringFieldNEQFilter' - cluster_type: - oneOf: - - $ref: '#/components/schemas/StringFieldEqualsFilter' - - $ref: '#/components/schemas/StringFieldNEQFilter' - cloud_gateway: - $ref: '#/components/schemas/BooleanFieldFilter' - StringFieldEqualsFilter: - title: StringFieldEqualsFilter - description: Filter a string value by exact match. - oneOf: - - type: string - - type: object - title: StringFieldEqualsComparison - additionalProperties: false + example: myapp + client_id: + type: string + example: YOUR_CLIENT_ID + scopes: + type: array + items: + type: string + claim_mappings: + type: object + minProperties: 3 properties: - eq: + name: type: string - required: - - eq - type: string - StringFieldOEQFilter: - title: StringFieldOEQFilter - description: >- - Returns entities that exact match any of the comma-delimited phrases in - the filter string. - type: object - additionalProperties: false - properties: - oeq: - type: string - required: - - oeq - StringFieldContainsFilter: - title: StringFieldContainsFilter - description: Filter a string value field by partial contains. - type: object - additionalProperties: false - properties: - contains: - type: string - required: - - contains - StringFieldNEQFilter: - title: StringFieldNEQFilter - description: Filters on the given string field value by exact match inequality. - type: object - additionalProperties: false - properties: - neq: - type: string - required: - - neq - BooleanFieldFilter: - title: BooleanFieldFilter - description: Filter by a boolean value (true/false). - type: boolean - example: true - SortQuery: - title: SortQuery - type: string - example: name,created_at desc - description: > - The `asc` suffix is optional as the default sort order is ascending. - - The `desc` suffix is used to specify a descending order. - - Multiple sort attributes may be provided via a comma separated list. - - JSONPath notation may be used to specify a sub-attribute (eg: 'foo.bar - desc'). - PageMeta: + example: name + email: + type: string + example: email + groups: + type: string + example: custom-groups-claim + User: + title: User type: object description: >- - Contains pagination query parameters and the total number of objects - returned. - required: - - number - - size - - total - properties: - number: - type: number - example: 1 - size: - type: number - example: 10 - total: - type: number - example: 100 - PaginatedMeta: - type: object - title: PaginatedMeta - description: returns the pagination information - properties: - page: - $ref: '#/components/schemas/PageMeta' - required: - - page - BaseError: - type: object - title: Error - description: standard error - required: - - status - - title - - instance - - detail + The user object contains information about an individual user who can + use the Konnect application and API. + example: + id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 + email: user@email.com + full_name: Test User + preferred_name: test + active: true + created_at: '2022-02-07T17:46:57.52Z' + updated_at: '2022-10-08T17:00:00.52Z' properties: - status: - type: integer - description: > - The HTTP status code of the error. Useful when passing the response - - body to child properties in a frontend UI. Must be returned as an - integer. - readOnly: true - title: + id: type: string - description: | - A short, human-readable summary of the problem. It should not - change between occurences of a problem, except for localization. - Should be provided as "Sentence case" for direct use in the UI. + format: uuid + example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 + description: The User ID. readOnly: true - type: + email: type: string - description: The error type. + format: email + example: user@email.com + maxLength: 250 + description: The email registered to the user. + full_name: + type: string + pattern: ^[\w \W]+$ + maxLength: 250 + description: The User's full name. + example: Jane Doe + preferred_name: + type: string + example: Jane + maxLength: 250 + description: The User's preferred name. + active: + type: boolean + description: Returns True if a user has verified their email address. readOnly: true - instance: + created_at: type: string - description: | - Used to return the correlation ID back to the user, in the format - kong:trace:. This helps us find the relevant logs - when a customer reports an issue. + format: date-time + example: '2022-02-07T17:46:57.52Z' + description: The time stamp for the date the account was registered. readOnly: true - detail: + updated_at: type: string - description: > - A human readable explanation specific to this occurence of the - problem. - - This field may contain request/entity data to help the user - understand - - what went wrong. Enclose variable values in square brackets. Should - be - - provided as "Sentence case" for direct use in the UI. + format: date-time + example: '2022-10-08T17:00:00.52Z' + description: >- + A Unix timestamp representation of the most recent change to the + User account. readOnly: true - InvalidRules: - description: invalid parameters rules - type: string - readOnly: true - nullable: true - enum: - - required - - is_array - - is_base64 - - is_boolean - - is_date_time - - is_integer - - is_null - - is_number - - is_object - - is_string - - is_uuid - - is_fqdn - - is_arn - - unknown_property - - missing_reference - - is_label - - matches_regex - - invalid - - is_supported_network_availability_zone_list - - is_supported_network_cidr_block - - is_supported_provider_region - InvalidParameterStandard: + Team: + x-speakeasy-entity: Team + title: Team type: object - additionalProperties: false + description: The team object contains information about a group of users. + example: + id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 + name: IDM - Developers + description: The developers for the IDM API. + system_team: false + labels: + env: test + created_at: '1992-02-07T17:46:57.52Z' + updated_at: '2022-08-31T17:00:00.52Z' properties: - field: + id: type: string - example: name + format: uuid + example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 + description: The team ID. readOnly: true - rule: - $ref: '#/components/schemas/InvalidRules' - source: + name: type: string - example: body - reason: + pattern: ^[\w \W]+$ + example: IDM - Developers + maxLength: 250 + description: The name of the team. + description: type: string - example: is a required field + example: The developers for the IDM API. + maxLength: 250 + description: The team description in Konnect. + system_team: + type: boolean + description: >- + Returns True if a user belongs to a `system_team`. System teams are + teams that can manage Konnect objects, like "Organization Admin", or + "Service" readOnly: true - required: - - field - - reason - InvalidParameterMinimumLength: - type: object - additionalProperties: false - properties: - field: + labels: + $ref: '#/components/schemas/Labels' + created_at: type: string - example: name + format: date-time + example: '1992-02-07T17:46:57.52Z' + description: A Unix timestamp representation of team creation. readOnly: true - rule: - description: invalid parameters rules + updated_at: type: string + format: date-time + example: '2022-02-07T17:00:00.52Z' + description: > + A Unix timestamp representation of the most recent change to the + team object in Konnect. readOnly: true - nullable: false - enum: - - min_length - - min_digits - - min_lowercase - - min_uppercase - - min_symbols - - min_items - - min - minimum: - type: integer - example: 8 - source: - type: string - example: body - reason: + TeamMapping: + title: TeamMapping + type: object + description: A team assignment is a mapping of an IdP group to a Konnect Team. + example: + group: Service Developers + team_ids: + - 6801e673-cc10-498a-94cd-4271de07a0d3 + properties: + group: type: string - example: must have at least 8 characters - readOnly: true - required: - - field - - reason - - rule - - minimum - InvalidParameterMaximumLength: + example: Service Developers + description: The IdP group. + team_ids: + type: array + uniqueItems: true + description: An array of ID's that are mapped to the specified group. + items: + type: string + format: uuid + example: 6801e673-cc10-498a-94cd-4271de07a0d3 + TeamGroupMapping: + title: TeamGroupMapping type: object - additionalProperties: false + description: A map of Konnect Team to IdP groups. + example: + team_id: 6801e673-cc10-498a-94cd-4271de07a0d3 + groups: + - Tech Leads + - API Engineers properties: - field: + team_id: type: string - example: name - readOnly: true - rule: - description: invalid parameters rules + format: uuid + example: 6801e673-cc10-498a-94cd-4271de07a0d3 + description: The Konnect team ID. + groups: + type: array + uniqueItems: true + description: The IdP groups that are mapped to the specified team. + items: + type: string + example: API Engineers + AssignedRole: + title: AssignedRole + type: object + description: An assigned role is a role that has been assigned to a user or team. + example: + id: 54cc6168-ebb1-4300-8168-d62a0dd08fc8 + role_name: Viewer + entity_id: 18ee2573-dec0-4b83-be99-fa7700bcdc61 + entity_type_name: Control Planes + entity_region: us + properties: + id: type: string - readOnly: true - nullable: false - enum: - - max_length - - max_items - - max - maximum: - type: integer - example: 8 - source: + format: uuid + example: eaf7adf1-32c8-4bbf-b960-d1f8456afe67 + description: The ID of the role assignment. + role_name: type: string - example: body - reason: + example: Viewer + description: Name of the role being assigned. + entity_id: type: string - example: must not have more than 8 characters - readOnly: true - required: - - field - - reason - - rule - - maximum - InvalidParameterChoiceItem: + format: uuid + example: 817d0422-45c9-4d88-8d64-45aef05c1ae7 + description: A RBAC entity ID. + entity_type_name: + type: string + example: Control Planes + description: Name of the entity type the role is being assigned to. + entity_region: + x-flatten-allOf: true + allOf: + - $ref: '#/components/schemas/EntityRegion' + - description: Region of the entity. + SystemAccount: + x-speakeasy-entity: SystemAccount + title: System Account type: object - additionalProperties: false + example: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + name: Example System Account + description: This is a sample system account description. + created_at: '2022-08-24T14:15:22Z' + updated_at: '2022-10-05T10:33:49Z' + konnect_managed: false + description: Schema of the system account. properties: - field: + id: type: string - example: name + format: uuid + description: ID of the system account. readOnly: true - rule: - description: invalid parameters rules + name: type: string - readOnly: true - nullable: false - enum: - - enum - reason: + description: Name of the system account. + description: type: string - example: is a required field - readOnly: true - choices: - type: array - uniqueItems: true + description: Description of the system account. + created_at: + type: string + format: date-time + description: Timestamp of when the system account was created. readOnly: true - nullable: false - minItems: 1 - items: {} - source: + updated_at: type: string - example: body - required: - - field - - reason - - rule - - choices - InvalidParameterDependentItem: + format: date-time + description: Timestamp of when the system account was last updated. + readOnly: true + konnect_managed: + type: boolean + description: The system account is managed by Konnect (true/false). + SystemAccountAccessToken: + x-speakeasy-entity: SystemAccountAccessToken + title: System Account Access Token + example: + id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + name: Sample Access Token + created_at: '2022-08-01T14:16:09Z' + updated_at: '2022-08-02T08:35:49Z' + expires_at: '2022-12-31T12:52:23Z' + last_used_at: '2022-10-24T13:05:42Z' + description: Schema of the system account access token. type: object - additionalProperties: false properties: - field: + id: type: string - example: name + format: uuid + description: ID of the system account access token. readOnly: true - rule: - description: invalid parameters rules + name: type: string - readOnly: true - nullable: true - enum: - - dependent_fields - reason: + description: Name of the system account access token. + created_at: type: string - example: is a required field + format: date-time + description: Timestamp of when the system account access token was created. readOnly: true - dependents: - type: array - uniqueItems: true - nullable: true - items: {} + updated_at: + type: string + format: date-time + description: Timestamp of when the system account access token was last updated. readOnly: true - source: + expires_at: type: string - example: body - required: - - field - - rule - - reason - - dependents - InvalidParameters: - type: array - nullable: false - uniqueItems: true - minItems: 1 - description: invalid parameters - items: - oneOf: - - $ref: '#/components/schemas/InvalidParameterStandard' - - $ref: '#/components/schemas/InvalidParameterMinimumLength' - - $ref: '#/components/schemas/InvalidParameterMaximumLength' - - $ref: '#/components/schemas/InvalidParameterChoiceItem' - - $ref: '#/components/schemas/InvalidParameterDependentItem' - BadRequestError: - allOf: - - $ref: '#/components/schemas/BaseError' - - type: object - required: - - invalid_parameters - properties: - invalid_parameters: - $ref: '#/components/schemas/InvalidParameters' - UnauthorizedError: - allOf: - - $ref: '#/components/schemas/BaseError' - - type: object - properties: - status: - example: 401 - title: - example: Unauthorized - type: - example: https://httpstatuses.com/401 - instance: - example: kong:trace:1234567890 - detail: - example: Invalid credentials - ForbiddenError: - allOf: - - $ref: '#/components/schemas/BaseError' - - type: object - properties: - status: - example: 403 - title: - example: Forbidden - type: - example: https://httpstatuses.com/403 - instance: - example: kong:trace:1234567890 - detail: - example: Forbidden - ConflictError: - allOf: - - $ref: '#/components/schemas/BaseError' - - type: object - properties: - status: - example: 409 - title: - example: Conflict - type: - example: https://httpstatuses.com/409 - instance: - example: kong:trace:1234567890 - detail: - example: Conflict - NotFoundError: - allOf: - - $ref: '#/components/schemas/BaseError' - - type: object - properties: - status: - example: 404 - title: - example: Not Found - type: - example: https://httpstatuses.com/404 - instance: - example: kong:trace:1234567890 - detail: - example: Not found - CursorMetaWithSizeAndTotal: - type: object - required: - - size - - next - - total - properties: - next: - description: URI to the next page + format: date-time + description: Timestamp of when the system account access token will expire. + last_used_at: type: string - format: path - nullable: true - size: - description: Requested page size - type: number - example: 10 - total: - description: >- - Total number of objects in the collection; will only be present on - the first page - type: number - example: 974 - nullable: true - CursorPaginatedMetaWithSizeAndTotal: + format: date-time + description: Timestamp of when the system account access token was last used. + readOnly: true + UUID: + type: string + format: uuid + example: 5f9fd312-a987-4628-b4c5-bb4f4fddd5f7 + description: Contains a unique identifier used by the API for this resource. + readOnly: true + CreatedAt: + type: string + format: date-time + example: '2022-11-04T20:10:06.927Z' + description: An ISO-8601 timestamp representation of entity creation date. + readOnly: true + UpdatedAt: + type: string + format: date-time + example: '2022-11-04T20:10:06.927Z' + description: An ISO-8601 timestamp representation of entity update date. + readOnly: true + StringFieldFilter: + title: StringFieldFilter + description: Filter a string value field either by exact match or partial contains. + oneOf: + - $ref: '#/components/schemas/StringFieldEqualsFilter' + - $ref: '#/components/schemas/StringFieldContainsFilter' + LabelsUpdate: type: object - title: CursorPaginatedMetaWithSizeAndTotal - description: returns the pagination information - properties: - page: - $ref: '#/components/schemas/CursorMetaWithSizeAndTotal' - required: - - page - IdentityProviderEnabled: - title: Identity Provider Enabled Property - type: boolean + nullable: true description: > - Indicates whether the identity provider is enabled. + Labels store metadata of an entity that can be used for filtering an + entity list or for searching across entity types. - Only one identity provider can be active at a time, such as SAML or - OIDC. - default: false - example: true - IdentityProviderType: + + Labels are intended to store **INTERNAL** metadata. + + + Keys must be of length 1-63 characters, and cannot start with "kong", + "konnect", "mesh", "kic", or "_". + example: + env: test + maxProperties: 50 + additionalProperties: + type: string + pattern: ^[a-z0-9A-Z]{1}([a-z0-9A-Z-._]*[a-z0-9A-Z]+)?$ + minLength: 1 + maxLength: 63 + nullable: true + writeOnly: true + EntityRegion: type: string enum: - - oidc - - saml - description: Specifies the type of identity provider. - example: oidc - IdentityProviderLoginPath: - title: Identity Provider Login Path Property + - us + - eu + - au + - me + - in + - '*' + example: eu + ControlPlaneId: type: string - example: myapp - description: The path used for initiating login requests with the identity provider. - OIDCIdentityProviderIssuer: - title: OIDC Identity Provider Issuer Property + format: uuid + example: 0949471e-b759-45ba-87ab-ee63fb781388 + ConfigurationId: type: string - format: uri + format: uuid + example: edaf40f9-9fb0-4ffe-bb74-4e763a6bd471 + readOnly: true + DataPlaneGroupId: + type: string + format: uuid description: >- - The issuer URI of the identity provider. This is the URL where the - provider's metadata can be obtained. - example: https://konghq.okta.com/oauth2/default - OIDCIdentityProviderClientId: - title: OIDC Identity Provider Login Client Id Property + ID of the data-plane group that represents a deployment target for a set + of data-planes. + example: cbb8872a-1f83-4806-bf69-fdf0b4783c7e + readOnly: true + CustomDomainId: type: string - example: YOUR_CLIENT_ID - description: The client ID assigned to your application by the identity provider. - OIDCIdentityProviderScopes: - title: OIDC Identity Provider Scopes Property - type: array + format: uuid + example: 39ed3790-085d-4605-9627-f96d86aaf425 + readOnly: true + NetworkId: + type: string + format: uuid + example: 36ae63d3-efd1-4bec-b246-62aa5d3f5695 + TransitGatewayId: + type: string + format: uuid + example: 0850820b-d153-4a2a-b9be-7d2204779139 + readOnly: true + ProviderAccountId: + type: string + format: uuid + example: 929b2449-c69f-44c4-b6ad-9ecec6f811ae + ResourceQuotaId: + type: string + format: uuid + example: 9678f205-49a1-47bb-82d9-d01cafa42a0d + readOnly: true + DefaultResourceQuotaId: + type: string + format: uuid + example: cc504063-f3bb-4e09-8e32-bbcdbc5cd618 + readOnly: true + ResourceConfigurationId: + type: string + format: uuid + example: 9678f205-49a1-47bb-82d9-d01cafa42a0d + readOnly: true + DefaultResourceConfigurationId: + type: string + format: uuid + example: cc504063-f3bb-4e09-8e32-bbcdbc5cd618 + readOnly: true + ControlPlaneGeo: + title: Control-Plane Geo description: >- - The scopes requested by your application when authenticating with the - identity provider. - default: - - email - - openid - - profile + Set of control-plane geos supported for deploying cloud-gateways + configurations. + type: string + enum: + - us + - eu + - au + - me + - in + GatewayVersion: + title: Gateway Version + description: Supported gateway version. + type: string + pattern: ^(\d)+(\.(\d)+)?$ + example: '3.2' + VersionList: + title: Version List + description: List of supported gateway versions for cloud gateways. + readOnly: true + type: array items: - type: string - OIDCIdentityProviderClaimMappings: - title: OIDC Claim Mappings + $ref: '#/components/schemas/GatewayVersion' + InstanceTypeName: + type: string + enum: + - small + - medium + - large + description: Instance type name to indicate capacity. + ApiAccess: + type: string + enum: + - private + - public + - private+public + description: Type of API access data-plane groups will support for a configuration. + default: private+public + InstanceType: + title: Instance Type + description: Resource parameters and pricing of a given supported instance type. + readOnly: true type: object - description: > - Defines the mappings between OpenID Connect (OIDC) claims and local - claims used by your application for - - authentication. + additionalProperties: false properties: name: + $ref: '#/components/schemas/InstanceTypeName' + hourly_cost: + description: >- + Hourly cost to run a single cloud gateway instance of this instance + type. type: string - example: name - description: The claim mapping for the user's name. - email: + 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 - example: email - description: The claim mapping for the user's email address. - groups: + format: ^(\d)+ + example: '2' + gb_memory: + description: >- + Number of gigabytes of memory available to a cloud gateway instance + of this instance type. type: string - example: groups - description: The claim mapping for the user's group membership information. - SAMLIdentityProviderMetadataURL: - title: SAML Identity Provider Metadata URL - type: string - format: uri + format: ^(\d)+ + example: '2' + required: + - name + - hourly_cost + - v_cpu + - gb_memory + InstanceTypes: + title: Instance Types description: >- - The identity provider's metadata URL where the identity provider's - metadata can be obtained. - example: https://mocksaml.com/api/saml/metadata - SAMLIdentityProviderMetadata: - title: SAML Identity Provider Metadata - type: string + List of supported instance types, along with their associated resource + parameters and pricing. + type: array + items: + $ref: '#/components/schemas/InstanceType' + ProviderRegionName: + title: Provider Region Name description: > - The identity provider's SAML metadata. If the identity provider supports - a metadata URL, you can use the `idp_metadata_url` field instead. - example: | - - - - - CreateIdentityProvider: - title: Identity Provider + Human-readable name for cloud provider region. The list of available + provider regions can be retrieved via the + + availability endpoint `/v2/cloud-gateways/availability.json`. + type: string + example: N. Virginia + ProviderRegionId: + title: Provider Region ID + description: Region ID for cloud provider region. + type: string + example: us-east-2 + ProviderRegion: + title: Provider Region + description: Region ID and human-readable name for a cloud provider region. type: object - description: >- - The identity provider that contains configuration data for creating an - authentication integration. + additionalProperties: false properties: - type: - $ref: '#/components/schemas/IdentityProviderType' - login_path: - $ref: '#/components/schemas/IdentityProviderLoginPath' - config: - type: object - oneOf: - - $ref: '#/components/schemas/OIDCIdentityProviderConfig' - - $ref: '#/components/schemas/SAMLIdentityProviderConfig' - UpdateIdentityProvider: - title: Identity Provider - type: object + region: + $ref: '#/components/schemas/ProviderRegionId' + name: + $ref: '#/components/schemas/ProviderRegionName' + availability_zones: + description: > + List of supported availability zones for cloud provider region, for + network AZ configuration. + type: array + items: + type: string + example: + - use2-az1 + - use2-az2 + - use2-az3 + cidr_blocks: + description: > + List of supported CIDR blocks for cloud provider region, for network + CIDR block configuration. + type: array + items: + type: string + example: + - 10.0.0.0/8 + - 100.64.0.0/10 + - 172.16.0.0/12 + - 192.168.0.0/16 + - 198.18.0.0/15 + reserved_cidr_blocks: + description: > + List of reserved CIDR blocks for cloud provider region, to restrict + allowed network CIDR block + + configuration. + type: array + items: + type: string + example: + - 10.100.0.0/16 + - 172.17.0.0/16 + required: + - region + - name + - availability_zones + - cidr_blocks + - reserved_cidr_blocks + ProviderRegions: + title: Provider Regions description: >- - The identity provider that contains configuration data for updating an - authentication integration. - properties: - enabled: - $ref: '#/components/schemas/IdentityProviderEnabled' - login_path: - $ref: '#/components/schemas/IdentityProviderLoginPath' - config: - type: object - oneOf: - - $ref: '#/components/schemas/OIDCIdentityProviderConfig' - - $ref: '#/components/schemas/SAMLIdentityProviderConfig' - IdentityProvider: - title: Identity Provider + List of available regions to run cloud gateway instances on for a given + cloud provider. + type: array + items: + $ref: '#/components/schemas/ProviderRegion' + ProviderName: + title: Provider Name + description: Name of cloud provider. + type: string + enum: + - aws + - azure + example: aws + Provider: + title: Provider + description: Description of cloud provider that runs cloud gateway instances. type: object - description: >- - The identity provider that contains configuration data for - authentication integration. + additionalProperties: false properties: - id: - $ref: '#/components/schemas/UUID' - type: - $ref: '#/components/schemas/IdentityProviderType' - enabled: - $ref: '#/components/schemas/IdentityProviderEnabled' - login_path: - $ref: '#/components/schemas/IdentityProviderLoginPath' - config: - type: object - oneOf: - - $ref: '#/components/schemas/OIDCIdentityProviderConfig' - - $ref: '#/components/schemas/SAMLIdentityProviderConfig' - created_at: - $ref: '#/components/schemas/CreatedAt' - updated_at: - $ref: '#/components/schemas/UpdatedAt' - OIDCIdentityProviderConfig: - title: OIDC Identity Provider Config + provider: + $ref: '#/components/schemas/ProviderName' + regions: + $ref: '#/components/schemas/ProviderRegions' + required: + - provider + - regions + Providers: + title: Providers + description: List of supported cloud providers that run cloud gateway instances. + type: array + items: + $ref: '#/components/schemas/Provider' + AvailabilityDocument: + title: Availability Document + description: Document containing availability information for configurations. type: object - description: >- - The identity provider that contains configuration data for the OIDC - authentication integration. - properties: - issuer_url: - $ref: '#/components/schemas/OIDCIdentityProviderIssuer' - client_id: - $ref: '#/components/schemas/OIDCIdentityProviderClientId' - scopes: - $ref: '#/components/schemas/OIDCIdentityProviderScopes' - claim_mappings: - $ref: '#/components/schemas/OIDCIdentityProviderClaimMappings' additionalProperties: false + properties: + versions: + $ref: '#/components/schemas/VersionList' + instance_types: + $ref: '#/components/schemas/InstanceTypes' + providers: + $ref: '#/components/schemas/Providers' required: - - issuer_url - - client_id - SAMLIdentityProviderConfig: - title: SAML Identity Provider Config + - versions + - instance_types + - providers + ConfigurationDataPlaneGroupAutoscale: + oneOf: + - $ref: '#/components/schemas/ConfigurationDataPlaneGroupAutoscaleStatic' + - $ref: '#/components/schemas/ConfigurationDataPlaneGroupAutoscaleAutopilot' + ConfigurationDataPlaneGroupAutoscaleStatic: + title: Configuration Autoscale Static + description: Object that describes the static autoscaling strategy. type: object - description: >- - The identity provider that contains configuration data for the SAML - authentication integration. properties: - idp_metadata_url: - $ref: '#/components/schemas/SAMLIdentityProviderMetadataURL' - idp_metadata_xml: - $ref: '#/components/schemas/SAMLIdentityProviderMetadata' - sp_metadata_url: - type: string - format: uri - example: >- - https://cloud.konghq.com/v2/authenticate/the-saml-konnect-org/saml/metadata - readOnly: true - sp_entity_id: + kind: type: string - description: The entity ID of the service provider (SP). - example: https://cloud.konghq.com/sp/00000000-0000-0000-0000-000000000000 - readOnly: true - login_url: + enum: + - static + instance_type: + $ref: '#/components/schemas/InstanceTypeName' + requested_instances: + type: integer + example: 3 + description: Number of data-planes the deployment target will contain. + required: + - kind + - instance_type + - requested_instances + additionalProperties: false + ConfigurationDataPlaneGroupAutoscaleAutopilot: + title: Configuration Autoscale Autopilot + description: Object that describes the autopilot autoscaling strategy. + type: object + properties: + kind: type: string + enum: + - autopilot + base_rps: + type: integer + example: 1 description: >- - The URL to redirect users to for initiating login with the identity - provider. - example: https://cloud.konghq.com/login/the-saml-konnect-org - readOnly: true - callback_url: - type: string + Base number of requests per second that the deployment target should + support. + max_rps: + type: integer + example: 1000 description: >- - The URL where the SAML identity provider sends authentication - responses after successful login attempts. - format: uri - example: >- - https://cloud.konghq.com/v2/authenticate/the-saml-konnect-org/saml/acs - readOnly: true + Max number of requests per second that the deployment target should + support. If not set, this defaults to 10x base_rps. + required: + - kind + - base_rps additionalProperties: false - IdP: - title: IdP Configuration + ConfigurationDataPlaneGroupEnvironment: + title: Configuration Data-Plane Group Environment + description: Array of environment variables to set for a data-plane group. + type: array + items: + $ref: '#/components/schemas/ConfigurationDataPlaneGroupEnvironmentField' + ConfigurationDataPlaneGroupEnvironmentField: + title: Configuration Data-Plane Group Environment Field + description: Environment variable name and value to set for a data-plane group. type: object - description: >- - The IdP object contains the configuration data for the OIDC - authentication integration. - - - NOTE: The `openid` scope is required. Removing it could break the OIDC - integration. properties: - issuer: + name: type: string - format: uri - example: https://myidp.com/oauth2 - login_path: + format: ^KONG_[a-zA-Z_]+[a-zA-Z0-9_]* + minLength: 6 + maxLength: 120 + example: KONG_LOG_LEVEL + description: > + Name of the environment variable field to set for the data-plane + group. Must be prefixed by KONG_. + value: type: string - example: myapp - client_id: + minLength: 1 + maxLength: 120 + example: INFO + description: >- + Value assigned to the environment variable field for the data-plane + group. + required: + - name + - value + ConfigurationDataPlaneGroupConfig: + title: Configuration Data-Plane Group Config Item + description: >- + Object that describes where a data-plane group will be deployed to, + along with how many instances. + type: object + properties: + provider: + $ref: '#/components/schemas/ProviderName' + region: + $ref: '#/components/schemas/ProviderRegionId' + cloud_gateway_network_id: + $ref: '#/components/schemas/NetworkId' + autoscale: + $ref: '#/components/schemas/ConfigurationDataPlaneGroupAutoscale' + environment: + $ref: '#/components/schemas/ConfigurationDataPlaneGroupEnvironment' + required: + - autoscale + - provider + - region + - cloud_gateway_network_id + additionalProperties: false + ConfigurationDataPlaneGroupConfigs: + title: Configuration Data-Plane Group Configs + description: >- + Object that describes where data-planes will be deployed to, along with + how many instances. + type: array + items: + $ref: '#/components/schemas/ConfigurationDataPlaneGroupConfig' + ConfigurationDataPlaneGroup: + title: Cloud Gateway Configuration Data-Plane Group + description: >- + Object that describes the set of data-plane groups currently pointed to + this configuration. + type: object + properties: + id: + $ref: '#/components/schemas/DataPlaneGroupId' + provider: + $ref: '#/components/schemas/ProviderName' + region: + $ref: '#/components/schemas/ProviderRegionId' + autoscale: + $ref: '#/components/schemas/ConfigurationDataPlaneGroupAutoscale' + environment: + $ref: '#/components/schemas/ConfigurationDataPlaneGroupEnvironment' + cloud_gateway_network_id: + $ref: '#/components/schemas/NetworkId' + state: type: string - example: YOUR_CLIENT_ID - scopes: + enum: + - created + - initializing + - ready + - terminating + - terminated + description: State of the data-plane group. + private_ip_addresses: type: array items: type: string - claim_mappings: - type: object - minProperties: 3 - properties: - name: - type: string - example: name - email: - type: string - example: email - groups: - type: string - example: custom-groups-claim - User: - title: User - type: object + description: > + List of private IP addresses of the internal load balancer that + proxies traffic to this data-plane group. + example: + - 192.168.248.132 + - 192.168.66.81 + - 192.168.137.135 + egress_ip_addresses: + type: array + items: + type: string + description: > + List of egress IP addresses for the network that this data-plane + group runs on. + example: + - 71.78.149.75 + - 91.149.112.244 + - 51.235.15.121 + created_at: + type: string + format: date-time + example: '2022-11-04T20:10:06.927Z' + description: >- + An RFC-3339 timestamp representation of data-plane group creation + date. + readOnly: true + updated_at: + type: string + format: date-time + example: '2022-11-04T20:10:06.927Z' + description: >- + An RFC-3339 timestamp representation of data-plane group update + date. + readOnly: true + required: + - id + - provider + - region + - autoscale + - cloud_gateway_network_id + - state + - created_at + - updated_at + NetworkConfigurationReference: + $ref: '#/components/schemas/ConfigurationManifest' + ConfigurationManifest: + x-speakeasy-entity: CloudGatewayConfiguration + title: Configuration description: >- - The user object contains information about an individual user who can - use the Konnect application and API. - example: - id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 - email: user@email.com - full_name: Test User - preferred_name: test - active: true - created_at: '2022-02-07T17:46:57.52Z' - updated_at: '2022-10-08T17:00:00.52Z' + Object containing information about a control-plane's cloud-gateways + configuration. + type: object properties: id: - type: string - format: uuid - example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 - description: The User ID. + $ref: '#/components/schemas/ConfigurationId' + version: + $ref: '#/components/schemas/GatewayVersion' + api_access: + $ref: '#/components/schemas/ApiAccess' + dataplane_group_config: + $ref: '#/components/schemas/ConfigurationDataPlaneGroupConfigs' + dataplane_groups: + type: array + format: set + description: > + List of data-plane groups that describe where data-planes will be + deployed to, along with how many + + instances. + items: + $ref: '#/components/schemas/ConfigurationDataPlaneGroup' + entity_version: + type: number + example: 1 + description: > + Positive, monotonically increasing version integer, to serialize + configuration changes. readOnly: true - email: + created_at: type: string - format: email - example: user@email.com - maxLength: 250 - description: The email registered to the user. - full_name: + format: date-time + example: '2022-11-04T20:10:06.927Z' + description: An RFC-3339 timestamp representation of configuration creation date. + readOnly: true + updated_at: type: string - pattern: ^[\w \W]+$ - maxLength: 250 - description: The User's full name. - example: Jane Doe - preferred_name: + format: date-time + example: '2022-11-04T20:10:06.927Z' + description: An RFC-3339 timestamp representation of configuration update date. + readOnly: true + control_plane_id: + $ref: '#/components/schemas/ControlPlaneId' + control_plane_geo: + $ref: '#/components/schemas/ControlPlaneGeo' + required: + - id + - control_plane_id + - control_plane_geo + - version + - dataplane_group_config + - dataplane_groups + - entity_version + - created_at + - updated_at + CreateConfigurationDataPlaneGroup: + title: CreateConfigurationDataPlaneGroup + description: >- + Object that describes where to deploy a data-plane group, along with how + many instances. + type: object + additionalProperties: false + properties: + provider: + $ref: '#/components/schemas/ProviderName' + region: + $ref: '#/components/schemas/ProviderRegionId' + cloud_gateway_network_id: + $ref: '#/components/schemas/NetworkId' + autoscale: + $ref: '#/components/schemas/ConfigurationDataPlaneGroupAutoscale' + environment: + $ref: '#/components/schemas/ConfigurationDataPlaneGroupEnvironment' + required: + - autoscale + - provider + - region + - cloud_gateway_network_id + ProviderAccount: + title: Cloud Gateway Provider Account + description: >- + Object containing mapping for organization and cloud provider to account + ID. + type: object + properties: + id: + $ref: '#/components/schemas/ProviderAccountId' + provider: + $ref: '#/components/schemas/ProviderName' + provider_account_id: type: string - example: Jane - maxLength: 250 - description: The User's preferred name. - active: - type: boolean - description: Returns True if a user has verified their email address. + description: ID of the cloud provider account. readOnly: true created_at: type: string format: date-time - example: '2022-02-07T17:46:57.52Z' - description: The time stamp for the date the account was registered. + example: '2022-11-04T20:10:06.927Z' + description: >- + An RFC-3339 timestamp representation of provider account creation + date. readOnly: true updated_at: type: string format: date-time - example: '2022-10-08T17:00:00.52Z' + example: '2022-11-04T20:10:06.927Z' description: >- - A Unix timestamp representation of the most recent change to the - User account. + An RFC-3339 timestamp representation of provider account update + date. readOnly: true - Team: - x-speakeasy-entity: Team - title: Team + required: + - id + - provider + - provider_account_id + - created_at + - updated_at + NetworkCreateState: + title: Network Create State + description: Initial state for creating a network. + type: string + default: initializing + enum: + - initializing + - offline + NetworkState: + title: Network State + description: State of the network. + enum: + - created + - initializing + - offline + - ready + - terminating + - terminated + readOnly: true + NetworkProviderMetadata: + title: Network Provider Metadata + description: >- + Metadata describing attributes returned by cloud-provider for the + network. type: object - description: The team object contains information about a group of users. + additionalProperties: false + properties: + vpc_id: + title: VPC ID + type: string + subnet_ids: + title: Subnet IDs + type: array + items: + type: string + readOnly: true + NetworkName: + title: Network Name + type: string + description: Human-readable name of the network. + example: us-east-2 network + NetworkCIDRBlock: + title: Network CIDR Block + description: CIDR block configuration for the network. + type: string + example: 10.0.0.0/8 + NetworkAvailabilityZones: + type: array + items: + type: string + description: List of availability zones that the network is attached to. example: - 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' + - use2-az1 + - use2-az2 + - use2-az3 + Network: + x-speakeasy-entity: CloudGatewayNetwork + title: Network + description: >- + Object containing information about a network to be used in + configurations. + type: object properties: id: - type: string - format: uuid - example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 - description: The team ID. - readOnly: true + $ref: '#/components/schemas/NetworkId' name: - type: string - pattern: ^[\w \W]+$ - example: IDM - Developers - maxLength: 250 - description: The name of the team. - description: - type: string - example: The developers for the IDM API. - maxLength: 250 - description: The team description in Konnect. - system_team: + $ref: '#/components/schemas/NetworkName' + default: type: boolean - 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" + description: > + Whether the network is a default network or not. Default networks + are Networks that are created + + automatically by Konnect when an organization is linked to a + provider account. + example: false + cloud_gateway_provider_account_id: + $ref: '#/components/schemas/ProviderAccountId' + region: + $ref: '#/components/schemas/ProviderRegionId' + availability_zones: + $ref: '#/components/schemas/NetworkAvailabilityZones' + cidr_block: + $ref: '#/components/schemas/NetworkCIDRBlock' + state: + $ref: '#/components/schemas/NetworkState' + provider_metadata: + $ref: '#/components/schemas/NetworkProviderMetadata' + transit_gateway_count: + type: integer + description: The number of transit gateways attached to this network. + readOnly: true + example: 0 + configuration_reference_count: + type: integer + description: The number of configurations that reference this network. readOnly: true - labels: - $ref: '#/components/schemas/Labels' + example: 0 + entity_version: + type: integer + description: > + Monotonically-increasing version count of the network, to indicate + the order of updates to the network. + readOnly: true + example: 1 created_at: type: string format: date-time - example: '1992-02-07T17:46:57.52Z' - description: A Unix timestamp representation of team creation. + example: '2022-11-04T20:10:06.927Z' + description: An RFC-3339 timestamp representation of network creation date. readOnly: true updated_at: type: string format: date-time - example: '2022-02-07T17:00:00.52Z' - description: > - A Unix timestamp representation of the most recent change to the - team object in Konnect. + example: '2022-11-04T20:10:06.927Z' + description: An RFC-3339 timestamp representation of network update date. readOnly: true - TeamMapping: - title: TeamMapping + required: + - id + - name + - default + - cloud_gateway_provider_account_id + - region + - availability_zones + - cidr_block + - provider_metadata + - state + - transit_gateway_count + - configuration_reference_count + - entity_version + - created_at + - updated_at + CreateNetworkRequest: + x-speakeasy-entity: CloudGatewayNetwork + title: CreateNetworkRequest + description: Request schema for creating a network. type: object - description: A team assignment is a mapping of an IdP group to a Konnect Team. - example: - group: Service Developers - team_ids: - - 6801e673-cc10-498a-94cd-4271de07a0d3 + additionalProperties: false properties: - group: - type: string - example: Service Developers - description: The IdP group. - team_ids: - type: array - uniqueItems: true - description: An array of ID's that are mapped to the specified group. - items: - type: string - format: uuid - example: 6801e673-cc10-498a-94cd-4271de07a0d3 - TeamGroupMapping: - title: TeamGroupMapping + name: + $ref: '#/components/schemas/NetworkName' + cloud_gateway_provider_account_id: + $ref: '#/components/schemas/ProviderAccountId' + region: + $ref: '#/components/schemas/ProviderRegionId' + availability_zones: + $ref: '#/components/schemas/NetworkAvailabilityZones' + cidr_block: + $ref: '#/components/schemas/NetworkCIDRBlock' + state: + $ref: '#/components/schemas/NetworkCreateState' + required: + - name + - cloud_gateway_provider_account_id + - region + - availability_zones + - cidr_block + PatchNetworkRequest: + x-speakeasy-entity: CloudGatewayNetwork + title: PatchNetworkRequest + description: Request schema for updating a network. type: object - description: A map of Konnect Team to IdP groups. - example: - team_id: 6801e673-cc10-498a-94cd-4271de07a0d3 - groups: - - Tech Leads - - API Engineers + additionalProperties: false properties: - team_id: + name: + $ref: '#/components/schemas/NetworkName' + TransitGatewayState: + title: Transit Gateway State + type: string + description: State of the transit gateway. + enum: + - created + - initializing + - ready + - terminating + - terminated + readOnly: true + AwsTransitGatewayAttachmentConfig: + title: AWS Transit Gateway Attachment Config + type: object + additionalProperties: false + properties: + kind: + title: AWS Transit Gateway Attachment Type + enum: + - aws-transit-gateway-attachment + transit_gateway_id: + title: Transit Gateway ID + description: AWS Transit Gateway ID to create attachment to. type: string - format: uuid - example: 6801e673-cc10-498a-94cd-4271de07a0d3 - description: The Konnect team ID. - groups: - type: array - uniqueItems: true - description: The IdP groups that are mapped to the specified team. - items: - type: string - example: API Engineers - AssignedRole: - title: AssignedRole + ram_share_arn: + title: RAM Share ARN + description: >- + Resource Share ARN to verify request to create transit gateway + attachment. + type: string + required: + - kind + - transit_gateway_id + - ram_share_arn + AzureVNETPeeringAttachmentConfig: + title: Azure VNET Peering Attachment Config type: object - description: An assigned role is a role that has been assigned to a user or team. - example: - id: 54cc6168-ebb1-4300-8168-d62a0dd08fc8 - role_name: Viewer - entity_id: 18ee2573-dec0-4b83-be99-fa7700bcdc61 - entity_type_name: Control Planes - entity_region: us + additionalProperties: false properties: - id: + kind: + title: Azure VNET Peering Attachment Type + enum: + - azure-vnet-peering-attachment + tenant_id: + title: Tenant ID + description: Tenant ID for the Azure VNET Peering attachment. type: string - format: uuid - example: eaf7adf1-32c8-4bbf-b960-d1f8456afe67 - description: The ID of the role assignment. - role_name: + subscription_id: + title: Subscription ID + description: Subscription ID for the Azure VNET Peering attachment. type: string - example: Viewer - description: Name of the role being assigned. - entity_id: + resource_group_name: + title: Resource Group Name + description: Resource Group Name for the Azure VNET Peering attachment. type: string - format: uuid - example: 817d0422-45c9-4d88-8d64-45aef05c1ae7 - description: A RBAC entity ID. - entity_type_name: + vnet_name: + title: VNET Name + description: VNET Name for the Azure VNET Peering attachment. type: string - example: Control Planes - description: Name of the entity type the role is being assigned to. - entity_region: - x-flatten-allOf: true - allOf: - - $ref: '#/components/schemas/EntityRegion' - - description: Region of the entity. - SystemAccount: - x-speakeasy-entity: SystemAccount - title: System Account - type: object + required: + - kind + - tenant_id + - subscription_id + - resource_group_name + - vnet_name + TransitGatewayDnsConfig: + title: Transit Gateway DNS Config + description: > + List of mappings from remote DNS server IP address sets to proxied + internal domains, for a transit gateway + + attachment. + type: array + items: + type: object + additionalProperties: false + properties: + remote_dns_server_ip_addresses: + title: Remote DNS Server IP Addresses + description: >- + Remote DNS Server IP Addresses to connect to for resolving + internal DNS via a transit gateway. + type: array + items: + type: string + example: + - 10.0.0.2 + domain_proxy_list: + title: Domain Proxy List + type: array + description: > + Internal domain names to proxy for DNS resolution from the listed + remote DNS server IP addresses, + + for a transit gateway. + items: + type: string + example: + - foobar.com + required: + - remote_dns_server_ip_addresses + - domain_proxy_list + TransitGatewayName: + title: Transit Gateway Name + type: string + description: Human-readable name of the transit gateway. + example: us-east-2 transit gateway + TransitGatewayCIDRBlocks: + title: Transit Gateway CIDR Blocks + type: array + items: + type: string + description: > + CIDR blocks for constructing a route table for the transit gateway, when + attaching to the owning + + network. example: - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 - name: Example System Account - description: This is a sample system account description. - created_at: '2022-08-24T14:15:22Z' - updated_at: '2022-10-05T10:33:49Z' - konnect_managed: false - description: Schema of the system account. + - 10.0.0.0/8 + - 100.64.0.0/10 + - 172.16.0.0/12 + BaseTransitGateway: + type: object + properties: + name: + $ref: '#/components/schemas/TransitGatewayName' + dns_config: + $ref: '#/components/schemas/TransitGatewayDnsConfig' + required: + - name + BaseTransitGatewayResponse: + type: object properties: id: + $ref: '#/components/schemas/TransitGatewayId' + state: + $ref: '#/components/schemas/TransitGatewayState' + entity_version: + type: integer + description: > + Monotonically-increasing version count of the transit gateway, to + indicate the order of updates to the + + transit gateway. + readOnly: true + example: 1 + created_at: type: string - format: uuid - description: ID of the system account. + format: date-time + example: '2022-11-04T20:10:06.927Z' + description: >- + An RFC-3339 timestamp representation of transit gateway creation + date. readOnly: true - name: + updated_at: type: string - description: Name of the system account. - description: + format: date-time + example: '2022-11-04T20:10:06.927Z' + description: An RFC-3339 timestamp representation of transit gateway update date. + readOnly: true + required: + - id + - dns_config + - state + - entity_version + - created_at + - updated_at + AwsTransitGateway: + x-flatten-allOf: true + allOf: + - $ref: '#/components/schemas/BaseTransitGateway' + - title: AWS Transit Gateway + type: object + properties: + cidr_blocks: + $ref: '#/components/schemas/TransitGatewayCIDRBlocks' + transit_gateway_attachment_config: + $ref: '#/components/schemas/AwsTransitGatewayAttachmentConfig' + required: + - cidr_blocks + - transit_gateway_attachment_config + AwsTransitGatewayResponse: + x-flatten-allOf: true + allOf: + - $ref: '#/components/schemas/AwsTransitGateway' + - required: + - dns_config + - $ref: '#/components/schemas/BaseTransitGatewayResponse' + AzureTransitGateway: + x-flatten-allOf: true + allOf: + - $ref: '#/components/schemas/BaseTransitGateway' + - title: Azure Transit Gateway + type: object + properties: + transit_gateway_attachment_config: + $ref: '#/components/schemas/AzureVNETPeeringAttachmentConfig' + required: + - transit_gateway_attachment_config + AzureTransitGatewayResponse: + x-flatten-allOf: true + allOf: + - $ref: '#/components/schemas/AzureTransitGateway' + - $ref: '#/components/schemas/BaseTransitGatewayResponse' + TransitGatewayResponse: + oneOf: + - $ref: '#/components/schemas/AwsTransitGatewayResponse' + - $ref: '#/components/schemas/AzureTransitGatewayResponse' + CreateAwsTransitGateway: + x-flatten-allOf: true + allOf: + - $ref: '#/components/schemas/AwsTransitGateway' + - required: + - name + CreateAzureTransitGateway: + x-flatten-allOf: true + allOf: + - $ref: '#/components/schemas/AzureTransitGateway' + - required: + - name + CreateTransitGatewayRequest: + title: CreateTransitGatewayRequest + description: Request schema for creating a transit gateway. + type: object + oneOf: + - $ref: '#/components/schemas/CreateAwsTransitGateway' + - $ref: '#/components/schemas/CreateAzureTransitGateway' + CustomDomainState: + title: Custom Domain State + type: string + description: State of the custom domain. + enum: + - created + - initializing + - ready + - terminating + - terminated + - error + readOnly: true + CustomDomainName: + title: Custom Domain Name + type: string + description: Domain name of the custom domain. + example: example.com + CustomDomain: + x-speakeasy-entity: CloudGatewayCustomDomain + title: Custom Domain + description: Object containing information about a custom domain for a control-plane. + type: object + properties: + id: + $ref: '#/components/schemas/CustomDomainId' + control_plane_id: + $ref: '#/components/schemas/ControlPlaneId' + control_plane_geo: + $ref: '#/components/schemas/ControlPlaneGeo' + domain: + $ref: '#/components/schemas/CustomDomainName' + certificate_id: type: string - description: Description of the system account. + format: uuid + nullable: true + description: > + Certificate ID for the certificate representing this domain and + stored on data-planes for this + + control-plane. Can be retrieved via the control-planes API for this + custom domain's control-plane. + readOnly: true + example: 3b7cbeee-fbec-440e-a5ef-89e7dec3b9d0 + sni_id: + type: string + format: uuid + nullable: true + description: > + Server Name Indication ID for this domain and stored on data-planes + for this control-plane. Can be retrieved + + via the control-planes API for this custom domain's control-plane. + readOnly: true + example: a8f11ea8-af09-4422-9735-5d4f8910aba1 + state: + $ref: '#/components/schemas/CustomDomainState' + state_metadata: + title: CustomDomainStateMetadata + type: object + description: > + Metadata describing the backing state of the custom domain and why + it may be in an erroneous state. + additionalProperties: false + properties: + reported_status: + type: string + description: >- + Reported status of the custom domain from backing + infrastructure. + example: INVALID + reason: + type: string + description: > + Reason why the custom domain may be in an erroneous state, + reported from backing infrastructure. + example: > + CNAME points to '_acme-challenge..gateways.konghq.tech.' + instead of '_acme-challenge..acme.gateways.konghq.tech.' + readOnly: true + entity_version: + type: integer + description: > + Monotonically-increasing version count of the custom domain, to + indicate the order of updates to the custom + + domain. + readOnly: true + example: 1 created_at: type: string format: date-time - description: Timestamp of when the system account was created. + example: '2022-11-04T20:10:06.927Z' + description: An RFC-3339 timestamp representation of custom domain creation date. readOnly: true updated_at: type: string format: date-time - description: Timestamp of when the system account was last updated. + example: '2022-11-04T20:10:06.927Z' + description: An RFC-3339 timestamp representation of custom domain update date. readOnly: true - konnect_managed: - type: boolean - description: The system account is managed by Konnect (true/false). - SystemAccountAccessToken: - x-speakeasy-entity: SystemAccountAccessToken - title: System Account Access Token - example: - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 - name: Sample Access Token - created_at: '2022-08-01T14:16:09Z' - updated_at: '2022-08-02T08:35:49Z' - expires_at: '2022-12-31T12:52:23Z' - last_used_at: '2022-10-24T13:05:42Z' - description: Schema of the system account access token. + required: + - id + - control_plane_id + - control_plane_geo + - domain + - state + - state_metadata + - entity_version + - created_at + - updated_at + CustomDomainOnlinePropertyStatus: + title: Custom Domain Online Property Status + description: Set of available statuses for the online properties of a custom domain. + type: string + readOnly: true + enum: + - verified + - unverified + CustomDomainOnlineStatus: + title: Custom Domain Online Status + type: object + properties: + cname: + $ref: '#/components/schemas/CustomDomainOnlinePropertyStatus' + ssl: + $ref: '#/components/schemas/CustomDomainOnlinePropertyStatus' + additionalProperties: false + required: + - cname + - ssl + CreateConfigurationRequest: + title: CreateConfigurationRequest + description: | + Request schema for creating a configuration. + type: object + additionalProperties: false + properties: + control_plane_id: + $ref: '#/components/schemas/ControlPlaneId' + control_plane_geo: + $ref: '#/components/schemas/ControlPlaneGeo' + version: + $ref: '#/components/schemas/GatewayVersion' + dataplane_groups: + type: array + format: set + description: >- + List of data-plane groups that describe where to deploy instances, + along with how many instances. + items: + $ref: '#/components/schemas/CreateConfigurationDataPlaneGroup' + api_access: + $ref: '#/components/schemas/ApiAccess' + required: + - control_plane_id + - control_plane_geo + - version + - dataplane_groups + CreateCustomDomainRequest: + title: CreateCustomDomainRequest + description: Request schema for creating a custom domain in the global API. + type: object + additionalProperties: false + properties: + control_plane_id: + $ref: '#/components/schemas/ControlPlaneId' + control_plane_geo: + $ref: '#/components/schemas/ControlPlaneGeo' + domain: + $ref: '#/components/schemas/CustomDomainName' + required: + - control_plane_id + - control_plane_geo + - domain + ResourceQuotaQualifier: + description: Enumeration of resources available for quota enforcement. + type: string + enum: + - count/provider-accounts.per-provider + - count/networks.not-offline + - count/data-planes-estimate + - count/serverless-data-planes-estimate + ResourceQuotaName: + type: string + description: The human-readable name of this resource quota. + readOnly: true + example: Active Networks + ResourceQuotaDescription: + type: string + description: A more verbose description of what this resource quota enforces. + readOnly: true + example: >- + Across the organization, the aggregate number of active networks cannot + exceed this value. + ResourceQuotaValue: + type: integer + minimum: 0 + description: > + The aggregate non-negative integer count of this resource that's allowed + for the organization. + example: 2 + ResourceQuota: + title: Resource Quota + description: >- + Object containing information about a resource quota for an + organization. type: object properties: id: - type: string - format: uuid - description: ID of the system account access token. - readOnly: true + $ref: '#/components/schemas/ResourceQuotaId' + resource: + $ref: '#/components/schemas/ResourceQuotaQualifier' name: - type: string - description: Name of the system account access token. + $ref: '#/components/schemas/ResourceQuotaName' + description: + $ref: '#/components/schemas/ResourceQuotaDescription' + value: + $ref: '#/components/schemas/ResourceQuotaValue' created_at: type: string format: date-time - description: Timestamp of when the system account access token was created. + example: '2022-11-04T20:10:06.927Z' + description: >- + An RFC-3339 timestamp representation of resource quota creation + date. readOnly: true updated_at: type: string format: date-time - description: Timestamp of when the system account access token was last updated. + example: '2022-11-04T20:10:06.927Z' + description: An RFC-3339 timestamp representation of resource quota update date. readOnly: true - expires_at: + required: + - id + - resource + - name + - description + - value + - created_at + - updated_at + DefaultResourceQuota: + title: Default Resource Quota + description: >- + Object containing information about a default resource quota, and any + organizational overrides. + type: object + properties: + id: + $ref: '#/components/schemas/DefaultResourceQuotaId' + resource: + $ref: '#/components/schemas/ResourceQuotaQualifier' + name: + $ref: '#/components/schemas/ResourceQuotaName' + description: + $ref: '#/components/schemas/ResourceQuotaDescription' + value: + $ref: '#/components/schemas/ResourceQuotaValue' + overrides: + type: array + description: Organizational overrides for this default resource quota. + items: + $ref: '#/components/schemas/ResourceQuota' + created_at: type: string format: date-time - description: Timestamp of when the system account access token will expire. - last_used_at: + example: '2022-11-04T20:10:06.927Z' + description: >- + An RFC-3339 timestamp representation of default resource quota + creation date. + readOnly: true + updated_at: type: string format: date-time - description: Timestamp of when the system account access token was last used. + example: '2022-11-04T20:10:06.927Z' + description: >- + An RFC-3339 timestamp representation of default resource quota + update date. readOnly: true - UUID: + required: + - id + - resource + - name + - description + - value + - overrides + - created_at + - updated_at + ResourceConfigurationQualifier: + description: >- + Enumeration of configuration qualifiers available for organization-wide + configuration. type: string - format: uuid - example: 5f9fd312-a987-4628-b4c5-bb4f4fddd5f7 - description: Contains a unique identifier used by the API for this resource. - readOnly: true - CreatedAt: + enum: + - data-plane-group-idle-timeout-minutes + ResourceConfigurationValue: + type: integer + description: The value of this resource configuration. + example: 45 + ResourceConfigurationName: type: string - format: date-time - example: '2022-11-04T20:10:06.927Z' - description: An ISO-8601 timestamp representation of entity creation date. + description: The human-readable name of this resource configuration. readOnly: true - UpdatedAt: + example: Data Plane Group Idle Timeout Minutes + ResourceConfigurationDescription: type: string - format: date-time - example: '2022-11-04T20:10:06.927Z' - description: An ISO-8601 timestamp representation of entity update date. + description: A more verbose description of what this resource configuration enforces. readOnly: true - StringFieldFilter: - title: StringFieldFilter - description: Filter a string value field either by exact match or partial contains. + example: >- + The number of minutes that a data plane group can be idle before it is + automatically scaled down to zero instances. + ConfigurationsFilterParameters: + title: ConfigurationsFilterParameters + type: object + additionalProperties: false + properties: + control_plane_id: + $ref: '#/components/schemas/IDFieldFilter' + control_plane_geo: + $ref: '#/components/schemas/ControlPlaneGeoFieldFilter' + CustomDomainsFilterParameters: + title: CustomDomainsFilterParameters + type: object + additionalProperties: false + properties: + control_plane_id: + $ref: '#/components/schemas/IDFieldFilter' + control_plane_geo: + $ref: '#/components/schemas/ControlPlaneGeoFieldFilter' + domain: + $ref: '#/components/schemas/CloudGatewaysStringFieldFilterOverride' + state: + $ref: '#/components/schemas/CustomDomainStateFieldFilter' + TransitGatewaysFilterParameters: + title: TransitGatewaysFilterParameters + type: object + additionalProperties: false + properties: + name: + $ref: '#/components/schemas/CloudGatewaysStringFieldFilterOverride' + state: + $ref: '#/components/schemas/TransitGatewayStateFieldFilter' + NetworksFilterParameters: + title: NetworksFilterParameters + type: object + additionalProperties: false + properties: + name: + $ref: '#/components/schemas/CloudGatewaysStringFieldFilterOverride' + state: + $ref: '#/components/schemas/NetworkStateFieldFilter' + ProviderAccountsFilterParameters: + title: ProviderAccountsFilterParameters + type: object + additionalProperties: false + properties: + provider: + $ref: '#/components/schemas/CloudGatewaysStringFieldFilterOverride' + CloudGatewaysStringFieldFilterOverride: + title: CloudGatewaysStringFieldFilterOverride oneOf: - - $ref: '#/components/schemas/StringFieldEqualsFilter' + - $ref: '#/components/schemas/CloudGatewaysStringFieldEqualsFilterOverride' - $ref: '#/components/schemas/StringFieldContainsFilter' - LabelsUpdate: + - $ref: '#/components/schemas/StringFieldNEQFilter' + - $ref: '#/components/schemas/StringFieldOEQFilter' + - $ref: '#/components/schemas/StringFieldOContainsFilter' + CloudGatewaysStringFieldEqualsFilterOverride: + title: StringFieldEqualsFilter + description: Filters on the given string field value by exact match. + oneOf: + - type: string + - type: object + title: StringFieldEqualsComparison + additionalProperties: false + properties: + eq: + type: string + required: + - eq + NetworkStateFieldFilter: + title: NetworkStateFieldFilter + oneOf: + - $ref: '#/components/schemas/NetworkStateFieldEqualsFilter' + - $ref: '#/components/schemas/NetworkStateFieldNotEqualsFilter' + - $ref: '#/components/schemas/NetworkStateFieldOrEqualityFilter' + NetworkStateFieldEqualsFilter: + title: NetworkStateFieldEqualsFilter + description: Filter a network state by exact match. + oneOf: + - $ref: '#/components/schemas/NetworkState' + - type: object + title: NetworkStateFieldEqualsComparison + properties: + eq: + $ref: '#/components/schemas/NetworkState' + required: + - eq + NetworkStateFieldNotEqualsFilter: + title: NetworkStateFieldNotEqualsFilter + description: Filter a network state by inequality match. type: object - nullable: true + properties: + neq: + $ref: '#/components/schemas/NetworkState' + required: + - neq + NetworkStateFieldOrEqualityFilter: + title: NetworkStateFieldOrEqualityFilter description: > - Labels store metadata of an entity that can be used for filtering an - entity list or for searching across entity types. + Filter a network state by determining if the value is equal to any in a + set of values, where the set is a + comma-delimited list. + type: object + properties: + oeq: + type: string + required: + - oeq + CustomDomainStateFieldFilter: + title: CustomDomainStateFieldFilter + oneOf: + - $ref: '#/components/schemas/CustomDomainStateFieldEqualsFilter' + - $ref: '#/components/schemas/CustomDomainStateFieldNotEqualsFilter' + - $ref: '#/components/schemas/CustomDomainStateFieldOrEqualityFilter' + CustomDomainStateFieldEqualsFilter: + title: CustomDomainStateFieldEqualsFilter + description: Filter custom domain state by exact match. + oneOf: + - $ref: '#/components/schemas/CustomDomainState' + - type: object + title: CustomDomainStateFieldEqualsComparison + properties: + eq: + $ref: '#/components/schemas/CustomDomainState' + required: + - eq + CustomDomainStateFieldNotEqualsFilter: + title: CustomDomainStateFieldNotEqualsFilter + description: Filter custom domain state by inequality match. + type: object + properties: + neq: + $ref: '#/components/schemas/CustomDomainState' + required: + - neq + CustomDomainStateFieldOrEqualityFilter: + title: CustomDomainStateFieldOrEqualityFilter + description: > + Filter custom domain state by determining if the value is equal to any + in a set of values, where the set is a - Labels are intended to store **INTERNAL** metadata. + comma-delimited list. + type: object + properties: + oeq: + type: string + required: + - oeq + TransitGatewayStateFieldFilter: + title: TransitGatewayStateFieldFilter + oneOf: + - $ref: '#/components/schemas/TransitGatewayStateFieldEqualsFilter' + - $ref: '#/components/schemas/TransitGatewayStateFieldNotEqualsFilter' + - $ref: '#/components/schemas/TransitGatewayStateFieldOrEqualityFilter' + TransitGatewayStateFieldEqualsFilter: + title: TransitGatewayStateFieldEqualsFilter + description: Filter transit-gateway state by exact match. + oneOf: + - $ref: '#/components/schemas/TransitGatewayState' + - type: object + title: TransitGatewayStateFieldEqualsComparison + properties: + eq: + $ref: '#/components/schemas/TransitGatewayState' + required: + - eq + TransitGatewayStateFieldNotEqualsFilter: + title: TransitGatewayStateFieldNotEqualsFilter + description: Filter transit-gateway state by inequality match. + type: object + properties: + neq: + $ref: '#/components/schemas/TransitGatewayState' + required: + - neq + TransitGatewayStateFieldOrEqualityFilter: + title: TransitGatewayStateFieldOrEqualityFilter + description: > + Filter transit-gateway state by determining if the value is equal to any + in a set of values, where the set is a + comma-delimited list. + type: object + properties: + oeq: + type: string + required: + - oeq + IDFieldFilter: + title: IDFieldFilter + oneOf: + - $ref: '#/components/schemas/StringFieldEqualsFilter' + - $ref: '#/components/schemas/StringFieldNEQFilter' + - $ref: '#/components/schemas/StringFieldOEQFilter' + ControlPlaneGeoFieldFilter: + title: ControlPlaneGeoFieldFilter + oneOf: + - $ref: '#/components/schemas/ControlPlaneGeoFieldEqualsFilter' + - $ref: '#/components/schemas/ControlPlaneGeoFieldNotEqualsFilter' + - $ref: '#/components/schemas/ControlPlaneGeoFieldOrEqualityFilter' + ControlPlaneGeoFieldEqualsFilter: + title: ControlPlaneGeoFieldEqualsFilter + description: Filter a control-plane geo by exact match. + oneOf: + - $ref: '#/components/schemas/ControlPlaneGeo' + - type: object + title: ControlPlaneGeoFieldEqualsComparison + properties: + eq: + $ref: '#/components/schemas/ControlPlaneGeo' + required: + - eq + ControlPlaneGeoFieldNotEqualsFilter: + title: ControlPlaneGeoFieldNotEqualsFilter + description: Filter a control-plane geo by inequality match. + type: object + properties: + neq: + $ref: '#/components/schemas/ControlPlaneGeo' + required: + - neq + ControlPlaneGeoFieldOrEqualityFilter: + title: ControlPlaneGeoFieldOrEqualityFilter + description: > + Filter a control-plane geo by determining if the value is equal to any + in a set of values, where the set is a - Keys must be of length 1-63 characters, and cannot start with "kong", - "konnect", "mesh", "kic", or "_". - example: - env: test - maxProperties: 50 - additionalProperties: - type: string - pattern: ^[a-z0-9A-Z]{1}([a-z0-9A-Z-._]*[a-z0-9A-Z]+)?$ - minLength: 1 - maxLength: 63 - nullable: true - writeOnly: true - EntityRegion: - type: string - enum: - - us - - eu - - au - - me - - in - - '*' - example: eu + comma-delimited list. + type: object + properties: + oeq: + type: string + required: + - oeq + ResourceConfiguration: + title: Resource Configuration + description: Object containing information about a resource configuration. + type: object + properties: + id: + $ref: '#/components/schemas/ResourceConfigurationId' + qualifier: + $ref: '#/components/schemas/ResourceConfigurationQualifier' + value: + $ref: '#/components/schemas/ResourceConfigurationValue' + required: + - id + - qualifier + - value + DefaultResourceConfiguration: + title: Default Resource Configuration + description: >- + Object containing information about a default resource configurations, + and any organizational overrides. + type: object + properties: + id: + $ref: '#/components/schemas/DefaultResourceConfigurationId' + qualifier: + $ref: '#/components/schemas/ResourceConfigurationQualifier' + name: + $ref: '#/components/schemas/ResourceConfigurationName' + description: + $ref: '#/components/schemas/ResourceConfigurationDescription' + value: + $ref: '#/components/schemas/ResourceConfigurationValue' + overrides: + type: array + description: Organizational overrides for this default resource configuration. + items: + $ref: '#/components/schemas/ResourceConfiguration' + created_at: + type: string + format: date-time + example: '2022-11-04T20:10:06.927Z' + description: >- + An RFC-3339 timestamp representation of default resource + configuration creation date. + readOnly: true + updated_at: + type: string + format: date-time + example: '2022-11-04T20:10:06.927Z' + description: >- + An RFC-3339 timestamp representation of default resource + configuration update date. + readOnly: true + required: + - id + - qualifier + - name + - description + - value + - overrides + - created_at + - updated_at + StringFieldOContainsFilter: + title: StringFieldOContainsFilter + description: Filters on the union of given string values by fuzzy match. + type: object + additionalProperties: false + properties: + ocontains: + type: string + required: + - ocontains DataPlaneClientCertificate: type: object properties: