components: parameters: ACLId: description: ID of the ACL to lookup example: f28acbfa-c866-4587-b688-0208ac24df21 in: path name: ACLId required: true schema: type: string x-speakeasy-match: id BasicAuthId: description: ID of the Basic-auth credential to lookup example: 80db1b58-ca7c-4d21-b92a-64eb07725872 in: path name: BasicAuthId required: true schema: type: string x-speakeasy-match: id CACertificateId: description: ID of the CA Certificate to lookup example: 3c31f18a-f27a-4f9b-8cd4-bf841554612f in: path name: CACertificateId required: true schema: type: string x-speakeasy-match: id CertificateId: description: ID of the Certificate to lookup example: ddf3cdaa-3329-4961-822a-ce6dbd38eff7 in: path name: CertificateId required: true schema: type: string x-speakeasy-match: id ConsumerGroupId: description: ID of the Consumer Group to lookup example: "" in: path name: ConsumerGroupId required: true schema: type: string x-speakeasy-match: id ConsumerIdForNestedEntities: description: Consumer ID for nested entities example: 5a078780-5d4c-4aae-984a-bdc6f52113d8 in: path name: ConsumerIdForNestedEntities required: true schema: type: string x-speakeasy-match: consumer_id ConsumerIdOrUsername: description: ID or username of the Consumer to lookup example: c1059869-6fa7-4329-a5f5-5946d14ca2c5 in: path name: ConsumerIdOrUsername required: true schema: type: string x-speakeasy-match: id 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 x-speakeasy-match: id JWTId: description: ID of the JWT to lookup example: 4a7f5faa-8c96-46d6-8214-c87573ef2ac4 in: path name: JWTId required: true schema: type: string x-speakeasy-match: id KeyAuthId: description: ID of the API-key to lookup example: "" in: path name: KeyAuthId required: true schema: type: string x-speakeasy-match: id KeyIdOrName: description: ID or name of the Key to lookup example: bba22c06-a632-42be-a018-1b9ff357b5b9 in: path name: KeyIdOrName required: true schema: type: string x-speakeasy-match: id KeySetIdOrName: description: ID or name of the KeySet to lookup example: 6cc34248-50b4-4a81-9201-3bdf7a83f712 in: path name: KeySetIdOrName required: true schema: type: string x-speakeasy-match: id 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: default: 100 maximum: 1000 minimum: 1 type: integer 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 x-speakeasy-match: id RouteIdOrName: description: ID or name of the Route to lookup example: a4326a41-aa12-44e3-93e4-6b6e58bfb9d7 in: path name: RouteIdOrName required: true schema: type: string x-speakeasy-match: id SNIIdOrName: description: ID or name of the SNI to lookup example: 64c17a1a-b7d7-4a65-a5a4-42e4a7016e7f in: path name: SNIIdOrName required: true schema: type: string x-speakeasy-match: id ServiceIdOrName: description: ID or name of the Service to lookup example: 7fca84d6-7d37-4a74-a7b0-93e576089a41 in: path name: ServiceIdOrName required: true schema: type: string x-speakeasy-match: id TargetIdOrTarget: description: ID or target of the Target to lookup example: 5a078780-5d4c-4aae-984a-bdc6f52113d8 in: path name: TargetIdOrTarget required: true schema: type: string x-speakeasy-match: id 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 x-speakeasy-match: upstream_id UpstreamIdOrName: description: ID or name of the Upstream to lookup example: 426d620c-7058-4ae6-aacc-f85a3204a2c5 in: path name: UpstreamIdOrName required: true schema: type: string x-speakeasy-match: id VaultIdOrPrefix: description: ID or prefix of the Vault to lookup example: 9d4d6d19-77c6-428e-a965-9bc9647633e9 in: path name: VaultIdOrPrefix required: true schema: type: string x-speakeasy-match: id responses: HTTP401Error: content: application/json: examples: DuplicateApiKey: summary: Duplicate API key found value: message: Duplicate API key found status: 401 InvalidAuthCred: summary: Invalid authentication credentials value: message: Unauthorized status: 401 NoAPIKey: summary: No API key found value: message: No API key found in request status: 401 schema: $ref: '#/components/schemas/GatewayUnauthorizedError' description: Unauthorized schemas: ACL: allOf: - $ref: '#/components/schemas/ACLWithoutParents' - properties: consumer: additionalProperties: false properties: id: type: string type: object x-foreign: true type: object x-speakeasy-entity: ACL ACLPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/ACLPluginConfig' x-speakeasy-entity: PluginACL ACLPluginConfig: properties: config: properties: allow: description: Arbitrary group names that are allowed to consume the service or route. One of `config.allow` or `config.deny` must be specified. items: type: string type: array deny: description: Arbitrary group names that are not allowed to consume the service or route. One of `config.allow` or `config.deny` must be specified. items: type: string type: array hide_groups_header: default: false description: If enabled (`true`), prevents the `X-Consumer-Groups` header from being sent in the request to the upstream service. type: boolean include_consumer_groups: default: false type: boolean type: object name: const: acl type: string ACLWithoutParents: properties: created_at: description: Unix epoch when the resource was created. readOnly: true type: integer group: type: string id: readOnly: true type: string tags: items: type: string type: array type: object x-speakeasy-entity: ACL AIPromptDecoratorPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/AIPromptDecoratorPluginConfig' x-speakeasy-entity: PluginAIPromptDecorator AIPromptDecoratorPluginConfig: properties: config: properties: prompts: properties: append: description: Insert chat messages at the end of the chat message array. This array preserves exact order when adding messages. items: properties: content: maxLength: 500 minLength: 1 type: string role: default: system enum: - system - assistant - user type: string required: - content type: object maxLength: 15 type: array prepend: description: Insert chat messages at the beginning of the chat message array. This array preserves exact order when adding messages. items: properties: content: maxLength: 500 minLength: 1 type: string role: default: system enum: - system - assistant - user type: string required: - content type: object maxLength: 15 type: array type: object type: object name: const: ai-prompt-decorator type: string AIPromptGuardPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/AIPromptGuardPluginConfig' x-speakeasy-entity: PluginAIPromptGuard AIPromptGuardPluginConfig: properties: config: properties: allow_all_conversation_history: default: false description: If true, will ignore all previous chat prompts from the conversation history. type: boolean allow_patterns: description: Array of valid regex patterns, or valid questions from the 'user' role in chat. items: maxLength: 500 minLength: 1 type: string maxLength: 10 type: array deny_patterns: description: Array of invalid regex patterns, or invalid questions from the 'user' role in chat. items: maxLength: 500 minLength: 1 type: string maxLength: 10 type: array type: object name: const: ai-prompt-guard type: string AIPromptTemplatePlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/AIPromptTemplatePluginConfig' x-speakeasy-entity: PluginAIPromptTemplate AIPromptTemplatePluginConfig: properties: config: properties: allow_untemplated_requests: default: true description: Set true to allow requests that don't call or match any template. type: boolean log_original_request: default: false description: Set true to add the original request to the Kong log plugin(s) output. type: boolean templates: description: Array of templates available to the request context. items: properties: name: description: Unique name for the template, can be called with `{template://NAME}` type: string template: description: Template string for this request, supports mustache-style `{{placeholders}}` type: string required: - name - template type: object type: array type: object name: const: ai-prompt-template type: string AIProxyPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/AIProxyPluginConfig' x-speakeasy-entity: PluginAIProxy AIProxyPluginConfig: properties: config: properties: auth: properties: azure_client_id: description: If azure_use_managed_identity is set to true, and you need to use a different user-assigned identity for this LLM instance, set the client ID. type: string azure_client_secret: description: If azure_use_managed_identity is set to true, and you need to use a different user-assigned identity for this LLM instance, set the client secret. type: string azure_tenant_id: description: If azure_use_managed_identity is set to true, and you need to use a different user-assigned identity for this LLM instance, set the tenant ID. type: string azure_use_managed_identity: default: false description: Set true to use the Azure Cloud Managed Identity (or user-assigned identity) to authenticate with Azure-provider models. type: boolean header_name: description: If AI model requires authentication via Authorization or API key header, specify its name here. type: string header_value: description: Specify the full auth header value for 'header_name', for example 'Bearer key' or just 'key'. type: string param_location: description: Specify whether the 'param_name' and 'param_value' options go in a query string, or the POST form/JSON body. enum: - query - body type: string param_name: description: If AI model requires authentication via query parameter, specify its name here. type: string param_value: description: Specify the full parameter value for 'param_name'. type: string type: object logging: properties: log_payloads: default: false description: If enabled, will log the request and response body into the Kong log plugin(s) output. type: boolean log_statistics: default: false description: If enabled and supported by the driver, will add model usage and token metrics into the Kong log plugin(s) output. type: boolean type: object model: properties: name: description: Model name to execute. type: string options: description: Key/value settings for the model properties: anthropic_version: description: Defines the schema/API version, if using Anthropic provider. type: string azure_api_version: default: "2023-05-15" description: '''api-version'' for Azure OpenAI instances.' type: string azure_deployment_id: description: Deployment ID for Azure OpenAI instances. type: string azure_instance: description: Instance name for Azure OpenAI hosted models. type: string llama2_format: description: If using llama2 provider, select the upstream message format. enum: - raw - openai - ollama type: string max_tokens: default: 256 description: Defines the max_tokens, if using chat or completion models. type: integer mistral_format: description: If using mistral provider, select the upstream message format. enum: - openai - ollama type: string temperature: description: Defines the matching temperature, if using chat or completion models. maximum: 5 minimum: 0 type: number top_k: description: Defines the top-k most likely tokens, if supported. maximum: 500 minimum: 0 type: integer top_p: description: Defines the top-p probability mass, if supported. maximum: 1 minimum: 0 type: number upstream_path: description: Manually specify or override the AI operation path, used when e.g. using the 'preserve' route_type. type: string upstream_url: description: Manually specify or override the full URL to the AI operation endpoints, when calling (self-)hosted models, or for running via a private endpoint. type: string type: object provider: description: AI provider request format - Kong translates requests to and from the specified backend compatible formats. enum: - openai - azure - anthropic - cohere - mistral - llama2 type: string type: object response_streaming: default: allow description: Whether to 'optionally allow', 'deny', or 'always' (force) the streaming of answers via server sent events. enum: - allow - deny - always type: string route_type: description: The model's operation implementation, for this provider. Set to `preserve` to pass through without transformation. enum: - llm/v1/chat - llm/v1/completions - preserve type: string type: object name: const: ai-proxy type: string AWSLambdaPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/AWSLambdaPluginConfig' x-speakeasy-entity: PluginAWSLambda AWSLambdaPluginConfig: properties: config: properties: aws_assume_role_arn: description: The target AWS IAM role ARN used to invoke the Lambda function. type: string aws_imds_protocol_version: default: v1 description: 'Identifier to select the IMDS protocol version to use: `v1` or `v2`.' enum: - v1 - v2 type: string aws_key: description: The AWS key credential to be used when invoking the function. type: string aws_region: description: A string representing a host name, such as example.com. type: string aws_role_session_name: default: kong description: The identifier of the assumed role session. type: string aws_secret: description: 'The AWS secret credential to be used when invoking the function. ' type: string awsgateway_compatible: default: false description: An optional value that defines whether the plugin should wrap requests into the Amazon API gateway. type: boolean base64_encode_body: default: true description: An optional value that Base64-encodes the request body. type: boolean disable_https: default: false type: boolean forward_request_body: default: false description: 'An optional value that defines whether the request body is sent in the request_body field of the JSON-encoded request. If the body arguments can be parsed, they are sent in the separate request_body_args field of the request. ' type: boolean forward_request_headers: default: false description: An optional value that defines whether the original HTTP request headers are sent as a map in the request_headers field of the JSON-encoded request. type: boolean forward_request_method: default: false description: An optional value that defines whether the original HTTP request method verb is sent in the request_method field of the JSON-encoded request. type: boolean forward_request_uri: default: false description: An optional value that defines whether the original HTTP request URI is sent in the request_uri field of the JSON-encoded request. type: boolean function_name: description: The AWS Lambda function to invoke. Both function name and function ARN (including partial) are supported. type: string host: description: A string representing a host name, such as example.com. type: string invocation_type: default: RequestResponse description: The InvocationType to use when invoking the function. Available types are RequestResponse, Event, DryRun. enum: - RequestResponse - Event - DryRun type: string is_proxy_integration: default: false description: An optional value that defines whether the response format to receive from the Lambda to this format. type: boolean keepalive: default: 60000 description: An optional value in milliseconds that defines how long an idle connection lives before being closed. type: number log_type: default: Tail description: The LogType to use when invoking the function. By default, None and Tail are supported. enum: - Tail - None type: string port: default: 443 description: An integer representing a port number between 0 and 65535, inclusive. maximum: 65535 minimum: 0 type: integer proxy_url: description: A string representing a URL, such as https://example.com/path/to/resource?q=search. type: string qualifier: description: The qualifier to use when invoking the function. type: string skip_large_bodies: default: true description: An optional value that defines whether Kong should send large bodies that are buffered to disk type: boolean timeout: default: 60000 description: An optional timeout in milliseconds when invoking the function. type: number unhandled_status: description: The response status code to use (instead of the default 200, 202, or 204) in the case of an Unhandled Function Error. maximum: 999 minimum: 100 type: integer type: object name: const: aws-lambda type: string BasicAuth: allOf: - $ref: '#/components/schemas/BasicAuthWithoutParents' - properties: consumer: additionalProperties: false properties: id: type: string type: object x-foreign: true type: object x-speakeasy-entity: BasicAuth BasicAuthPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/BasicAuthPluginConfig' x-speakeasy-entity: PluginBasicAuth BasicAuthPluginConfig: properties: config: properties: anonymous: description: An optional string (Consumer UUID or username) value to use as an “anonymous” consumer if authentication fails. If empty (default null), the request will fail with an authentication failure `4xx`. Please note that this value must refer to the Consumer `id` or `username` attribute, and **not** its `custom_id`. type: string hide_credentials: default: false description: An optional boolean value telling the plugin to show or hide the credential from the upstream service. If `true`, the plugin will strip the credential from the request (i.e. the `Authorization` header) before proxying it. type: boolean realm: default: service description: When authentication fails the plugin sends `WWW-Authenticate` header with `realm` attribute value. type: string type: object name: const: basic-auth type: string BasicAuthWithoutParents: properties: created_at: description: Unix epoch when the resource was created. readOnly: true type: integer id: readOnly: true type: string password: type: string tags: items: type: string type: array username: type: string type: object x-speakeasy-entity: BasicAuth CACertificate: properties: cert: description: PEM-encoded public certificate of the CA. type: string cert_digest: description: SHA256 hex digest of the public certificate. This field is read-only and it cannot be set by the caller, the value is automatically computed. type: string created_at: description: Unix epoch when the resource was created. readOnly: true type: integer id: readOnly: true type: string tags: description: An optional set of strings associated with the Certificate for grouping and filtering. items: type: string type: array updated_at: description: Unix epoch when the resource was last updated. readOnly: true type: integer type: object x-speakeasy-entity: CACertificate CORSPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/CORSPluginConfig' x-speakeasy-entity: PluginCORS CORSPluginConfig: properties: config: properties: credentials: default: false description: Flag to determine whether the `Access-Control-Allow-Credentials` header should be sent with `true` as the value. type: boolean exposed_headers: description: Value for the `Access-Control-Expose-Headers` header. If not specified, no custom headers are exposed. items: type: string type: array headers: description: Value for the `Access-Control-Allow-Headers` header. items: type: string type: array max_age: description: Indicates how long the results of the preflight request can be cached, in `seconds`. type: number methods: default: - GET - HEAD - PUT - PATCH - POST - DELETE - OPTIONS - TRACE - CONNECT description: '''Value for the `Access-Control-Allow-Methods` header. Available options include `GET`, `HEAD`, `PUT`, `PATCH`, `POST`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT`. By default, all options are allowed.''' items: enum: - GET - HEAD - PUT - PATCH - POST - DELETE - OPTIONS - TRACE - CONNECT type: string type: array origins: description: List of allowed domains for the `Access-Control-Allow-Origin` header. If you want to allow all origins, add `*` as a single value to this configuration field. The accepted values can either be flat strings or PCRE regexes. items: type: string type: array preflight_continue: default: false description: A boolean value that instructs the plugin to proxy the `OPTIONS` preflight request to the Upstream service. type: boolean private_network: default: false description: Flag to determine whether the `Access-Control-Allow-Private-Network` header should be sent with `true` as the value. type: boolean type: object name: const: cors type: string Certificate: properties: cert: description: PEM-encoded public certificate chain of the SSL key pair. This field is _referenceable_, which means it can be securely stored as a [secret](/gateway/latest/plan-and-deploy/security/secrets-management/getting-started) in a vault. References must follow a [specific format](/gateway/latest/plan-and-deploy/security/secrets-management/reference-format). type: string cert_alt: description: PEM-encoded public certificate chain of the alternate SSL key pair. This should only be set if you have both RSA and ECDSA types of certificate available and would like Kong to prefer serving using ECDSA certs when client advertises support for it. This field is _referenceable_, which means it can be securely stored as a [secret](/gateway/latest/plan-and-deploy/security/secrets-management/getting-started) in a vault. References must follow a [specific format](/gateway/latest/plan-and-deploy/security/secrets-management/reference-format). type: string created_at: description: Unix epoch when the resource was created. readOnly: true type: integer id: readOnly: true type: string key: description: PEM-encoded private key of the SSL key pair. This field is _referenceable_, which means it can be securely stored as a [secret](/gateway/latest/plan-and-deploy/security/secrets-management/getting-started) in a vault. References must follow a [specific format](/gateway/latest/plan-and-deploy/security/secrets-management/reference-format). type: string key_alt: description: PEM-encoded private key of the alternate SSL key pair. This should only be set if you have both RSA and ECDSA types of certificate available and would like Kong to prefer serving using ECDSA certs when client advertises support for it. This field is _referenceable_, which means it can be securely stored as a [secret](/gateway/latest/plan-and-deploy/security/secrets-management/getting-started) in a vault. References must follow a [specific format](/gateway/latest/plan-and-deploy/security/secrets-management/reference-format). type: string tags: description: An optional set of strings associated with the Certificate for grouping and filtering. items: type: string type: array updated_at: description: Unix epoch when the resource was last updated. readOnly: true type: integer type: object x-speakeasy-entity: Certificate Consumer: properties: created_at: description: Unix epoch when the resource was created. readOnly: true type: integer custom_id: description: Field for storing an existing unique ID for the Consumer - useful for mapping Kong with users in your existing database. You must send either this field or `username` with the request. type: string id: readOnly: true type: string tags: description: An optional set of strings associated with the Consumer for grouping and filtering. items: type: string type: array updated_at: description: Unix epoch when the resource was last updated. readOnly: true type: integer username: description: The unique username of the Consumer. You must send either this field or `custom_id` with the request. type: string type: object x-speakeasy-entity: Consumer ConsumerGroup: properties: created_at: description: Unix epoch when the resource was created. readOnly: true type: integer id: readOnly: true type: string name: type: string tags: items: type: string type: array updated_at: description: Unix epoch when the resource was last updated. readOnly: true type: integer type: object x-speakeasy-entity: ConsumerGroup CorrelationIdPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/CorrelationIdPluginConfig' x-speakeasy-entity: PluginCorrelationId CorrelationIdPluginConfig: properties: config: properties: echo_downstream: default: false description: Whether to echo the header back to downstream (the client). type: boolean generator: default: uuid#counter description: The generator to use for the correlation ID. Accepted values are `uuid`, `uuid#counter`, and `tracker`. See [Generators](#generators). enum: - uuid - uuid#counter - tracker type: string header_name: default: Kong-Request-ID description: The HTTP header name to use for the correlation ID. type: string type: object name: const: correlation-id type: string CreateACLPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/ACLPluginConfig' x-speakeasy-entity: PluginACL CreateAIPromptDecoratorPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/AIPromptDecoratorPluginConfig' x-speakeasy-entity: PluginAIPromptDecorator CreateAIPromptGuardPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/AIPromptGuardPluginConfig' x-speakeasy-entity: PluginAIPromptGuard CreateAIPromptTemplatePlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/AIPromptTemplatePluginConfig' x-speakeasy-entity: PluginAIPromptTemplate CreateAIProxyPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/AIProxyPluginConfig' x-speakeasy-entity: PluginAIProxy CreateAWSLambdaPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/AWSLambdaPluginConfig' x-speakeasy-entity: PluginAWSLambda CreateBasicAuthPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/BasicAuthPluginConfig' x-speakeasy-entity: PluginBasicAuth CreateCORSPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/CORSPluginConfig' x-speakeasy-entity: PluginCORS CreateCorrelationIdPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/CorrelationIdPluginConfig' x-speakeasy-entity: PluginCorrelationId CreateFileLogPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/FileLogPluginConfig' x-speakeasy-entity: PluginFileLog CreateIpRestrictionPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/IpRestrictionPluginConfig' x-speakeasy-entity: PluginIpRestriction CreateJQPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/JQPluginConfig' x-speakeasy-entity: PluginJQ CreateJWTPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/JWTPluginConfig' x-speakeasy-entity: PluginJWT CreateJWTSignerPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/JWTSignerPluginConfig' x-speakeasy-entity: PluginJWTSigner CreateKeyAuthPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/KeyAuthPluginConfig' x-speakeasy-entity: PluginKeyAuth CreateOauth2Plugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/Oauth2PluginConfig' x-speakeasy-entity: PluginOauth2 CreateOpenidConnectPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/OpenidConnectPluginConfig' x-speakeasy-entity: PluginOpenidConnect CreateOpentelemetryPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/OpentelemetryPluginConfig' x-speakeasy-entity: PluginOpentelemetry CreatePreFunctionPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/PreFunctionPluginConfig' x-speakeasy-entity: PluginPreFunction CreatePrometheusPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/PrometheusPluginConfig' x-speakeasy-entity: PluginPrometheus CreateProxyCachePlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/ProxyCachePluginConfig' x-speakeasy-entity: PluginProxyCache CreateRateLimitingAdvancedPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/RateLimitingAdvancedPluginConfig' x-speakeasy-entity: PluginRateLimitingAdvanced CreateRateLimitingPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/RateLimitingPluginConfig' x-speakeasy-entity: PluginRateLimiting CreateRequestTerminationPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/RequestTerminationPluginConfig' x-speakeasy-entity: PluginRequestTermination CreateRequestTransformerAdvancedPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/RequestTransformerAdvancedPluginConfig' x-speakeasy-entity: PluginRequestTransformerAdvanced CreateRequestTransformerPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/RequestTransformerPluginConfig' x-speakeasy-entity: PluginRequestTransformer CreateResponseTransformerAdvancedPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/ResponseTransformerAdvancedPluginConfig' x-speakeasy-entity: PluginResponseTransformerAdvanced CreateResponseTransformerPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/ResponseTransformerPluginConfig' x-speakeasy-entity: PluginResponseTransformer CreateSamlPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/SamlPluginConfig' x-speakeasy-entity: PluginSaml FileLogPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/FileLogPluginConfig' x-speakeasy-entity: PluginFileLog FileLogPluginConfig: properties: config: properties: custom_fields_by_lua: additionalProperties: true description: Lua code as a key-value map type: object path: description: The file path of the output log file. The plugin creates the log file if it doesn't exist yet. pattern: ^[^*&%%\`]+$ type: string reopen: default: false description: Determines whether the log file is closed and reopened on every request. type: boolean type: object name: const: file-log type: string GatewayUnauthorizedError: properties: message: type: string status: type: integer required: - message - status type: object HMACAuth: allOf: - $ref: '#/components/schemas/HMACAuthWithoutParents' - properties: consumer: additionalProperties: false properties: id: type: string type: object x-foreign: true type: object x-speakeasy-entity: HMACAuth HMACAuthWithoutParents: properties: created_at: description: Unix epoch when the resource was created. readOnly: true type: integer id: readOnly: true type: string secret: type: string tags: items: type: string type: array username: type: string type: object x-speakeasy-entity: HMACAuth IpRestrictionPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/IpRestrictionPluginConfig' x-speakeasy-entity: PluginIpRestriction IpRestrictionPluginConfig: properties: config: properties: allow: description: List of IPs or CIDR ranges to allow. One of `config.allow` or `config.deny` must be specified. items: description: A string representing an IP address or CIDR block, such as 192.168.1.1 or 192.168.0.0/16. type: string type: array deny: description: List of IPs or CIDR ranges to deny. One of `config.allow` or `config.deny` must be specified. items: description: A string representing an IP address or CIDR block, such as 192.168.1.1 or 192.168.0.0/16. type: string type: array message: description: The message to send as a response body to rejected requests. type: string status: description: The HTTP status of the requests that will be rejected by the plugin. type: number type: object name: const: ip-restriction type: string JQPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/JQPluginConfig' x-speakeasy-entity: PluginJQ JQPluginConfig: properties: config: properties: request_if_media_type: default: - application/json items: type: string type: array request_jq_program: type: string request_jq_program_options: properties: ascii_output: default: false type: boolean compact_output: default: true type: boolean join_output: default: false type: boolean raw_output: default: false type: boolean sort_keys: default: false type: boolean type: object response_if_media_type: default: - application/json items: type: string type: array response_if_status_code: default: - 200 items: maximum: 599 minimum: 100 type: integer type: array response_jq_program: type: string response_jq_program_options: properties: ascii_output: default: false type: boolean compact_output: default: true type: boolean join_output: default: false type: boolean raw_output: default: false type: boolean sort_keys: default: false type: boolean type: object type: object name: const: jq type: string JWT: allOf: - $ref: '#/components/schemas/JWTWithoutParents' - properties: consumer: additionalProperties: false properties: id: type: string type: object x-foreign: true type: object x-speakeasy-entity: JWT JWTPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/JWTPluginConfig' x-speakeasy-entity: PluginJWT JWTPluginConfig: properties: config: properties: anonymous: description: An optional string (consumer UUID or username) value to use as an “anonymous” consumer if authentication fails. type: string claims_to_verify: description: 'A list of registered claims (according to RFC 7519) that Kong can verify as well. Accepted values: one of exp or nbf.' items: enum: - exp - nbf type: string type: array cookie_names: default: [] description: A list of cookie names that Kong will inspect to retrieve JWTs. items: type: string type: array header_names: default: - authorization description: A list of HTTP header names that Kong will inspect to retrieve JWTs. items: type: string type: array key_claim_name: default: iss description: The name of the claim in which the key identifying the secret must be passed. The plugin will attempt to read this claim from the JWT payload and the header, in that order. type: string maximum_expiration: default: 0 description: A value between 0 and 31536000 (365 days) limiting the lifetime of the JWT to maximum_expiration seconds in the future. maximum: 3.1536e+07 minimum: 0 type: number run_on_preflight: default: true description: A boolean value that indicates whether the plugin should run (and try to authenticate) on OPTIONS preflight requests. If set to false, then OPTIONS requests will always be allowed. type: boolean secret_is_base64: default: false description: If true, the plugin assumes the credential’s secret to be base64 encoded. You will need to create a base64-encoded secret for your Consumer, and sign your JWT with the original secret. type: boolean uri_param_names: default: - jwt description: A list of querystring parameters that Kong will inspect to retrieve JWTs. items: type: string type: array type: object name: const: jwt type: string JWTSignerPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/JWTSignerPluginConfig' x-speakeasy-entity: PluginJWTSigner JWTSignerPluginConfig: properties: config: properties: access_token_consumer_by: default: - username - custom_id description: When the plugin tries to apply an access token to a Kong consumer mapping, it tries to find a matching Kong consumer from properties defined using this configuration parameter. The parameter can take an array of alues. Valid values are `id`, `username`, and `custom_id`. items: enum: - id - username - custom_id type: string type: array access_token_consumer_claim: description: When you set a value for this parameter, the plugin tries to map an arbitrary claim specified with this configuration parameter (for example, `sub` or `username`) in an access token to Kong consumer entity. items: type: string type: array access_token_introspection_authorization: description: If the introspection endpoint requires client authentication (client being the JWT Signer plugin), you can specify the `Authorization` header's value with this configuration parameter. type: string access_token_introspection_body_args: description: 'This parameter allows you to pass URL encoded request body arguments. For example: `resource=` or `a=1&b=&c`.' type: string access_token_introspection_consumer_by: default: - username - custom_id description: When the plugin tries to do access token introspection results to Kong consumer mapping, it tries to find a matching Kong consumer from properties defined using this configuration parameter. The parameter can take an array of values. items: enum: - id - username - custom_id type: string type: array access_token_introspection_consumer_claim: description: When you set a value for this parameter, the plugin tries to map an arbitrary claim specified with this configuration parameter (such as `sub` or `username`) in access token introspection results to the Kong consumer entity. items: type: string type: array access_token_introspection_endpoint: description: When you use `opaque` access tokens and you want to turn on access token introspection, you need to specify the OAuth 2.0 introspection endpoint URI with this configuration parameter. type: string access_token_introspection_hint: default: access_token description: If you need to give `hint` parameter when introspecting an access token, use this parameter to specify the value. By default, the plugin sends `hint=access_token`. type: string access_token_introspection_jwt_claim: description: If your introspection endpoint returns an access token in one of the keys (or claims) within the introspection results (`JSON`). If the key cannot be found, the plugin responds with `401 Unauthorized`. Also if the key is found but cannot be decoded as JWT, it also responds with `401 Unauthorized`. items: type: string type: array access_token_introspection_leeway: default: 0 description: Adjusts clock skew between the token issuer introspection results and Kong. The value is added to introspection results (`JSON`) `exp` claim/property before checking token expiry against Kong servers current time in seconds. You can disable access token introspection `expiry` verification altogether with `config.verify_access_token_introspection_expiry`. type: number access_token_introspection_scopes_claim: default: - scope description: Specify the claim/property in access token introspection results (`JSON`) to be verified against values of `config.access_token_introspection_scopes_required`. This supports nested claims. For example, with Keycloak you could use `[ "realm_access", "roles" ]`, hich can be given as `realm_access,roles` (form post). If the claim is not found in access token introspection results, and you have specified `config.access_token_introspection_scopes_required`, the plugin responds with `403 Forbidden`. items: type: string type: array access_token_introspection_scopes_required: description: Specify the required values (or scopes) that are checked by an introspection claim/property specified by `config.access_token_introspection_scopes_claim`. items: type: string type: array access_token_introspection_timeout: description: Timeout in milliseconds for an introspection request. The plugin tries to introspect twice if the first request fails for some reason. If both requests timeout, then the plugin runs two times the `config.access_token_introspection_timeout` on access token introspection. type: number access_token_issuer: default: kong description: The `iss` claim of a signed or re-signed access token is set to this value. Original `iss` claim of the incoming token (possibly introspected) is stored in `original_iss` claim of the newly signed access token. type: string access_token_jwks_uri: description: Specify the URI where the plugin can fetch the public keys (JWKS) to verify the signature of the access token. type: string access_token_jwks_uri_client_certificate: description: The client certificate that will be used to authenticate Kong if `access_token_jwks_uri` is an https uri that requires mTLS Auth. type: string access_token_jwks_uri_client_password: description: The client password that will be used to authenticate Kong if `access_token_jwks_uri` is a uri that requires Basic Auth. Should be configured together with `access_token_jwks_uri_client_username` type: string access_token_jwks_uri_client_username: description: The client username that will be used to authenticate Kong if `access_token_jwks_uri` is a uri that requires Basic Auth. Should be configured together with `access_token_jwks_uri_client_password` type: string access_token_jwks_uri_rotate_period: default: 0 description: Specify the period (in seconds) to auto-rotate the jwks for `access_token_jwks_uri`. The default value 0 means no auto-rotation. type: number access_token_keyset: default: kong description: The name of the keyset containing signing keys. type: string access_token_keyset_client_certificate: description: The client certificate that will be used to authenticate Kong if `access_token_keyset` is an https uri that requires mTLS Auth. type: string access_token_keyset_client_password: description: The client password that will be used to authenticate Kong if `access_token_keyset` is a uri that requires Basic Auth. Should be configured together with `access_token_keyset_client_username` type: string access_token_keyset_client_username: description: The client username that will be used to authenticate Kong if `access_token_keyset` is a uri that requires Basic Auth. Should be configured together with `access_token_keyset_client_password` type: string access_token_keyset_rotate_period: default: 0 description: Specify the period (in seconds) to auto-rotate the jwks for `access_token_keyset`. The default value 0 means no auto-rotation. type: number access_token_leeway: default: 0 description: Adjusts clock skew between the token issuer and Kong. The value is added to the token's `exp` claim before checking token expiry against Kong servers' current time in seconds. You can disable access token `expiry` verification altogether with `config.verify_access_token_expiry`. type: number access_token_optional: default: false description: If an access token is not provided or no `config.access_token_request_header` is specified, the plugin cannot verify the access token. In that case, the plugin normally responds with `401 Unauthorized` (client didn't send a token) or `500 Unexpected` (a configuration error). Use this parameter to allow the request to proceed even when there is no token to check. If the token is provided, then this parameter has no effect type: boolean access_token_request_header: default: Authorization description: This parameter tells the name of the header where to look for the access token. type: string access_token_scopes_claim: default: - scope description: Specify the claim in an access token to verify against values of `config.access_token_scopes_required`. items: type: string type: array access_token_scopes_required: description: Specify the required values (or scopes) that are checked by a claim specified by `config.access_token_scopes_claim`. items: type: string type: array access_token_signing_algorithm: default: RS256 description: When this plugin sets the upstream header as specified with `config.access_token_upstream_header`, re-signs the original access token using the private keys of the JWT Signer plugin. Specify the algorithm that is used to sign the token. The `config.access_token_issuer` specifies which `keyset` is used to sign the new token issued by Kong using the specified signing algorithm. enum: - HS256 - HS384 - HS512 - RS256 - RS512 - ES256 - ES384 - ES512 - PS256 - PS384 - PS512 - EdDSA type: string access_token_upstream_header: default: Authorization:Bearer description: Removes the `config.access_token_request_header` from the request after reading its value. With `config.access_token_upstream_header`, you can specify the upstream header where the plugin adds the Kong signed token. If you don't specify a value, such as use `null` or `""` (empty string), the plugin does not even try to sign or re-sign the token. type: string access_token_upstream_leeway: default: 0 description: If you want to add or subtract (using a negative value) expiry time (in seconds) of the original access token, you can specify a value that is added to the original access token's `exp` claim. type: number add_access_token_claims: additionalProperties: true description: Add customized claims if they are not present yet. Value can be a regular or JSON string; if JSON, decoded data is used as the claim's value. type: object add_channel_token_claims: additionalProperties: true description: Add customized claims if they are not present yet. Value can be a regular or JSON string; if JSON, decoded data is used as the claim's value. type: object add_claims: additionalProperties: true description: Add customized claims to both tokens if they are not present yet. Value can be a regular or JSON string; if JSON, decoded data is used as the claim's value. type: object cache_access_token_introspection: default: true description: Whether to cache access token introspection results. type: boolean cache_channel_token_introspection: default: true description: Whether to cache channel token introspection results. type: boolean channel_token_consumer_by: default: - username - custom_id description: 'When the plugin tries to do channel token to Kong consumer mapping, it tries to find a matching Kong consumer from properties defined using this configuration parameter. The parameter can take an array of valid values: `id`, `username`, and `custom_id`.' items: enum: - id - username - custom_id type: string type: array channel_token_consumer_claim: description: When you set a value for this parameter, the plugin tries to map an arbitrary claim specified with this configuration parameter. Kong consumers have an `id`, a `username`, and a `custom_id`. If this parameter is enabled but the mapping fails, such as when there's a non-existent Kong consumer, the plugin responds with `403 Forbidden`. items: type: string type: array channel_token_introspection_authorization: description: When using `opaque` channel tokens, and you want to turn on channel token introspection, you need to specify the OAuth 2.0 introspection endpoint URI with this configuration parameter. Otherwise the plugin will not try introspection, and instead returns `401 Unauthorized` when using opaque channel tokens. items: type: string type: string channel_token_introspection_body_args: description: 'If you need to pass additional body arguments to introspection endpoint when the plugin introspects the opaque channel token, you can use this config parameter to specify them. You should URL encode the value. For example: `resource=` or `a=1&b=&c`.' items: type: string type: string channel_token_introspection_consumer_by: default: - username - custom_id description: When the plugin tries to do channel token introspection results to Kong consumer mapping, it tries to find a matching Kong consumer from properties defined using this configuration parameter. The parameter can take an array of values. Valid values are `id`, `username` and `custom_id`. items: enum: - id - username - custom_id type: string type: array channel_token_introspection_consumer_claim: description: When you set a value for this parameter, the plugin tries to map an arbitrary claim specified with this configuration parameter (such as `sub` or `username`) in channel token introspection results to Kong consumer entity items: type: string type: array channel_token_introspection_endpoint: description: When you use `opaque` access tokens and you want to turn on access token introspection, you need to specify the OAuth 2.0 introspection endpoint URI with this configuration parameter. Otherwise, the plugin does not try introspection and returns `401 Unauthorized` instead. type: string channel_token_introspection_hint: description: If you need to give `hint` parameter when introspecting a channel token, you can use this parameter to specify the value of such parameter. By default, a `hint` isn't sent with channel token introspection. items: type: string type: string channel_token_introspection_jwt_claim: description: If your introspection endpoint returns a channel token in one of the keys (or claims) in the introspection results (`JSON`), the plugin can use that value instead of the introspection results when doing expiry verification and signing of the new token issued by Kong. items: type: string type: array channel_token_introspection_leeway: default: 0 description: You can use this parameter to adjust clock skew between the token issuer introspection results and Kong. The value will be added to introspection results (`JSON`) `exp` claim/property before checking token expiry against Kong servers current time (in seconds). You can disable channel token introspection `expiry` verification altogether with `config.verify_channel_token_introspection_expiry`. type: number channel_token_introspection_scopes_claim: default: - scope description: Use this parameter to specify the claim/property in channel token introspection results (`JSON`) to be verified against values of `config.channel_token_introspection_scopes_required`. This supports nested claims. items: type: string type: array channel_token_introspection_scopes_required: description: Use this parameter to specify the required values (or scopes) that are checked by an introspection claim/property specified by `config.channel_token_introspection_scopes_claim`. items: type: string type: array channel_token_introspection_timeout: description: Timeout in milliseconds for an introspection request. The plugin tries to introspect twice if the first request fails for some reason. If both requests timeout, then the plugin runs two times the `config.access_token_introspection_timeout` on channel token introspection. type: number channel_token_issuer: default: kong description: The `iss` claim of the re-signed channel token is set to this value, which is `kong` by default. The original `iss` claim of the incoming token (possibly introspected) is stored in the `original_iss` claim of the newly signed channel token. type: string channel_token_jwks_uri: description: If you want to use `config.verify_channel_token_signature`, you must specify the URI where the plugin can fetch the public keys (JWKS) to verify the signature of the channel token. If you don't specify a URI and you pass a JWT token to the plugin, then the plugin responds with `401 Unauthorized`. type: string channel_token_jwks_uri_client_certificate: description: The client certificate that will be used to authenticate Kong if `access_token_jwks_uri` is an https uri that requires mTLS Auth. type: string channel_token_jwks_uri_client_password: description: The client password that will be used to authenticate Kong if `channel_token_jwks_uri` is a uri that requires Basic Auth. Should be configured together with `channel_token_jwks_uri_client_username` type: string channel_token_jwks_uri_client_username: description: The client username that will be used to authenticate Kong if `channel_token_jwks_uri` is a uri that requires Basic Auth. Should be configured together with `channel_token_jwks_uri_client_password` type: string channel_token_jwks_uri_rotate_period: default: 0 description: Specify the period (in seconds) to auto-rotate the jwks for `channel_token_jwks_uri`. The default value 0 means no auto-rotation. type: number channel_token_keyset: default: kong description: The name of the keyset containing signing keys. type: string channel_token_keyset_client_certificate: description: The client certificate that will be used to authenticate Kong if `channel_token_keyset` is an https uri that requires mTLS Auth. type: string channel_token_keyset_client_password: description: The client password that will be used to authenticate Kong if `channel_token_keyset` is a uri that requires Basic Auth. Should be configured together with `channel_token_keyset_client_username` type: string channel_token_keyset_client_username: description: The client username that will be used to authenticate Kong if `channel_token_keyset` is a uri that requires Basic Auth. Should be configured together with `channel_token_keyset_client_password` type: string channel_token_keyset_rotate_period: default: 0 description: Specify the period (in seconds) to auto-rotate the jwks for `channel_token_keyset`. The default value 0 means no auto-rotation. type: number channel_token_leeway: default: 0 description: Adjusts clock skew between the token issuer and Kong. The value will be added to token's `exp` claim before checking token expiry against Kong servers current time in seconds. You can disable channel token `expiry` verification altogether with `config.verify_channel_token_expiry`. type: number channel_token_optional: default: false description: If a channel token is not provided or no `config.channel_token_request_header` is specified, the plugin cannot verify the channel token. In that case, the plugin normally responds with `401 Unauthorized` (client didn't send a token) or `500 Unexpected` (a configuration error). Enable this parameter to allow the request to proceed even when there is no channel token to check. If the channel token is provided, then this parameter has no effect type: boolean channel_token_request_header: description: This parameter tells the name of the header where to look for the channel token. If you don't want to do anything with the channel token, then you can set this to `null` or `""` (empty string). type: string channel_token_scopes_claim: default: - scope description: Specify the claim in a channel token to verify against values of `config.channel_token_scopes_required`. This supports nested claims. items: type: string type: array channel_token_scopes_required: description: Specify the required values (or scopes) that are checked by a claim specified by `config.channel_token_scopes_claim`. items: type: string type: array channel_token_signing_algorithm: default: RS256 description: When this plugin sets the upstream header as specified with `config.channel_token_upstream_header`, it also re-signs the original channel token using private keys of this plugin. Specify the algorithm that is used to sign the token. enum: - HS256 - HS384 - HS512 - RS256 - RS512 - ES256 - ES384 - ES512 - PS256 - PS384 - PS512 - EdDSA type: string channel_token_upstream_header: description: This plugin removes the `config.channel_token_request_header` from the request after reading its value. type: string channel_token_upstream_leeway: default: 0 description: If you want to add or perhaps subtract (using negative value) expiry time of the original channel token, you can specify a value that is added to the original channel token's `exp` claim. type: number enable_access_token_introspection: default: true description: If you don't want to support opaque access tokens, change this configuration parameter to `false` to disable introspection. type: boolean enable_channel_token_introspection: default: true description: If you don't want to support opaque channel tokens, disable introspection by changing this configuration parameter to `false`. type: boolean enable_hs_signatures: default: false description: Tokens signed with HMAC algorithms such as `HS256`, `HS384`, or `HS512` are not accepted by default. If you need to accept such tokens for verification, enable this setting. type: boolean enable_instrumentation: default: false description: Writes log entries with some added information using `ngx.CRIT` (CRITICAL) level. type: boolean original_access_token_upstream_header: description: The HTTP header name used to store the original access token. type: string original_channel_token_upstream_header: description: The HTTP header name used to store the original channel token. type: string realm: description: When authentication or authorization fails, or there is an unexpected error, the plugin sends an `WWW-Authenticate` header with the `realm` attribute value. type: string remove_access_token_claims: default: [] description: remove claims. It should be an array, and each element is a claim key string. items: type: string type: array remove_channel_token_claims: default: [] description: remove claims. It should be an array, and each element is a claim key string. items: type: string type: array set_access_token_claims: additionalProperties: true description: Set customized claims. If a claim is already present, it will be overwritten. Value can be a regular or JSON string; if JSON, decoded data is used as the claim's value. type: object set_channel_token_claims: additionalProperties: true description: Set customized claims. If a claim is already present, it will be overwritten. Value can be a regular or JSON string; if JSON, decoded data is used as the claim's value. type: object set_claims: additionalProperties: true description: Set customized claims to both tokens. If a claim is already present, it will be overwritten. Value can be a regular or JSON string; if JSON, decoded data is used as the claim's value. type: object trust_access_token_introspection: default: true description: Use this parameter to enable and disable further checks on a payload before the new token is signed. If you set this to `true`, the expiry or scopes are not checked on a payload. type: boolean trust_channel_token_introspection: default: true description: Providing an opaque channel token for plugin introspection, and verifying expiry and scopes on introspection results may make further payload checks unnecessary before the plugin signs a new token. This also applies when using a JWT token with introspection JSON as per config.channel_token_introspection_jwt_claim. Use this parameter to manage additional payload checks before signing a new token. With true (default), payload's expiry or scopes aren't checked. type: boolean verify_access_token_expiry: default: true description: Quickly turn access token expiry verification off and on as needed. type: boolean verify_access_token_introspection_expiry: default: true description: Quickly turn access token introspection expiry verification off and on as needed. type: boolean verify_access_token_introspection_scopes: default: true description: Quickly turn off and on the access token introspection scopes verification, specified with `config.access_token_introspection_scopes_required`. type: boolean verify_access_token_scopes: default: true description: Quickly turn off and on the access token required scopes verification, specified with `config.access_token_scopes_required`. type: boolean verify_access_token_signature: default: true description: Quickly turn access token signature verification off and on as needed. type: boolean verify_channel_token_expiry: default: true type: boolean verify_channel_token_introspection_expiry: default: true description: Quickly turn on/off the channel token introspection expiry verification. type: boolean verify_channel_token_introspection_scopes: default: true description: Quickly turn on/off the channel token introspection scopes verification specified with `config.channel_token_introspection_scopes_required`. type: boolean verify_channel_token_scopes: default: true description: Quickly turn on/off the channel token required scopes verification specified with `config.channel_token_scopes_required`. type: boolean verify_channel_token_signature: default: true description: Quickly turn on/off the channel token signature verification. type: boolean type: object name: const: jwt-signer type: string JWTWithoutParents: properties: algorithm: default: HS256 enum: - HS256 - HS384 - HS512 - RS256 - RS384 - RS512 - ES256 - ES384 - ES512 - PS256 - PS384 - PS512 - EdDSA type: string created_at: description: Unix epoch when the resource was created. readOnly: true type: integer id: readOnly: true type: string key: type: string rsa_public_key: type: string secret: type: string tags: items: type: string type: array type: object x-speakeasy-entity: JWT Key: properties: created_at: description: Unix epoch when the resource was created. readOnly: true type: integer id: readOnly: true type: string jwk: description: A JSON Web Key represented as a string. type: string kid: description: A unique identifier for a key. type: string name: description: The name to associate with the given keys. type: string pem: description: A keypair in PEM format. properties: private_key: type: string public_key: type: string type: object set: additionalProperties: false description: The id (an UUID) of the key-set with which to associate the key. properties: id: type: string type: object x-foreign: true tags: description: An optional set of strings associated with the Key for grouping and filtering. items: type: string type: array updated_at: description: Unix epoch when the resource was last updated. readOnly: true type: integer type: object x-speakeasy-entity: Key KeyAuth: allOf: - $ref: '#/components/schemas/KeyAuthWithoutParents' - properties: consumer: additionalProperties: false properties: id: type: string type: object x-foreign: true type: object x-speakeasy-entity: KeyAuth KeyAuthPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/KeyAuthPluginConfig' x-speakeasy-entity: PluginKeyAuth KeyAuthPluginConfig: properties: config: properties: anonymous: description: An optional string (consumer UUID or username) value to use as an “anonymous” consumer if authentication fails. If empty (default null), the request will fail with an authentication failure `4xx`. type: string hide_credentials: default: false description: An optional boolean value telling the plugin to show or hide the credential from the upstream service. If `true`, the plugin strips the credential from the request. type: boolean key_in_body: default: false description: 'If enabled, the plugin reads the request body. Supported MIME types: `application/www-form-urlencoded`, `application/json`, and `multipart/form-data`.' type: boolean key_in_header: default: true description: If enabled (default), the plugin reads the request header and tries to find the key in it. type: boolean key_in_query: default: true description: If enabled (default), the plugin reads the query parameter in the request and tries to find the key in it. type: boolean key_names: default: - apikey description: Describes an array of parameter names where the plugin will look for a key. The key names may only contain [a-z], [A-Z], [0-9], [_] underscore, and [-] hyphen. items: description: A string representing an HTTP header name. type: string type: array realm: description: When authentication fails the plugin sends `WWW-Authenticate` header with `realm` attribute value. type: string run_on_preflight: default: true description: A boolean value that indicates whether the plugin should run (and try to authenticate) on `OPTIONS` preflight requests. If set to `false`, then `OPTIONS` requests are always allowed. type: boolean type: object name: const: key-auth type: string KeyAuthWithoutParents: properties: created_at: description: Unix epoch when the resource was created. readOnly: true type: integer id: readOnly: true type: string key: type: string tags: items: type: string type: array type: object x-speakeasy-entity: KeyAuth KeySet: properties: created_at: description: Unix epoch when the resource was created. readOnly: true type: integer id: readOnly: true type: string name: type: string tags: items: type: string type: array updated_at: description: Unix epoch when the resource was last updated. readOnly: true type: integer type: object x-speakeasy-entity: KeySet Oauth2Plugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/Oauth2PluginConfig' x-speakeasy-entity: PluginOauth2 Oauth2PluginConfig: properties: config: properties: accept_http_if_already_terminated: default: false description: Accepts HTTPs requests that have already been terminated by a proxy or load balancer. type: boolean anonymous: description: An optional string (consumer UUID or username) value to use as an “anonymous” consumer if authentication fails. type: string auth_header_name: default: authorization description: The name of the header that is supposed to carry the access token. type: string enable_authorization_code: default: false description: An optional boolean value to enable the three-legged Authorization Code flow (RFC 6742 Section 4.1). type: boolean enable_client_credentials: default: false description: An optional boolean value to enable the Client Credentials Grant flow (RFC 6742 Section 4.4). type: boolean enable_implicit_grant: default: false description: An optional boolean value to enable the Implicit Grant flow which allows to provision a token as a result of the authorization process (RFC 6742 Section 4.2). type: boolean enable_password_grant: default: false description: An optional boolean value to enable the Resource Owner Password Credentials Grant flow (RFC 6742 Section 4.3). type: boolean global_credentials: default: false description: An optional boolean value that allows using the same OAuth credentials generated by the plugin with any other service whose OAuth 2.0 plugin configuration also has `config.global_credentials=true`. type: boolean hide_credentials: default: false description: An optional boolean value telling the plugin to show or hide the credential from the upstream service. type: boolean mandatory_scope: default: false description: An optional boolean value telling the plugin to require at least one `scope` to be authorized by the end user. type: boolean persistent_refresh_token: default: false type: boolean pkce: default: lax description: Specifies a mode of how the Proof Key for Code Exchange (PKCE) should be handled by the plugin. enum: - none - lax - strict type: string provision_key: description: The unique key the plugin has generated when it has been added to the Service. type: string refresh_token_ttl: default: 1.2096e+06 description: Time-to-live value for data maximum: 1e+08 minimum: 0 type: number reuse_refresh_token: default: false description: An optional boolean value that indicates whether an OAuth refresh token is reused when refreshing an access token. type: boolean scopes: description: Describes an array of scope names that will be available to the end user. If `mandatory_scope` is set to `true`, then `scopes` are required. items: type: string type: array token_expiration: default: 7200 description: An optional integer value telling the plugin how many seconds a token should last, after which the client will need to refresh the token. Set to `0` to disable the expiration. type: number type: object name: const: oauth2 type: string OpenidConnectPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/OpenidConnectPluginConfig' x-speakeasy-entity: PluginOpenidConnect OpenidConnectPluginConfig: properties: config: properties: anonymous: description: An optional string (consumer UUID or username) value that functions as an “anonymous” consumer if authentication fails. If empty (default null), requests that fail authentication will return a `4xx` HTTP status code. This value must refer to the consumer `id` or `username` attribute, and **not** its `custom_id`. type: string audience: description: The audience passed to the authorization endpoint. items: type: string type: array audience_claim: default: - aud description: The claim that contains the audience. If multiple values are set, it means the claim is inside a nested object of the token payload. items: type: string type: array audience_required: description: The audiences (`audience_claim` claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both **AND** / **OR** cases. items: type: string type: array auth_methods: default: - password - client_credentials - authorization_code - bearer - introspection - userinfo - kong_oauth2 - refresh_token - session description: Types of credentials/grants to enable. items: enum: - password - client_credentials - authorization_code - bearer - introspection - userinfo - kong_oauth2 - refresh_token - session type: string type: array authenticated_groups_claim: description: The claim that contains authenticated groups. This setting can be used together with ACL plugin, but it also enables IdP managed groups with other applications and integrations. If multiple values are set, it means the claim is inside a nested object of the token payload. items: type: string type: array authorization_cookie_domain: description: The authorization cookie Domain flag. type: string authorization_cookie_http_only: default: true description: Forbids JavaScript from accessing the cookie, for example, through the `Document.cookie` property. type: boolean authorization_cookie_name: default: authorization description: The authorization cookie name. type: string authorization_cookie_path: default: / description: The authorization cookie Path flag. type: string authorization_cookie_same_site: default: Default description: Controls whether a cookie is sent with cross-origin requests, providing some protection against cross-site request forgery attacks. enum: - Strict - Lax - None - Default type: string authorization_cookie_secure: description: 'Cookie is only sent to the server when a request is made with the https: scheme (except on localhost), and therefore is more resistant to man-in-the-middle attacks.' type: boolean authorization_endpoint: description: The authorization endpoint. If set it overrides the value in `authorization_endpoint` returned by the discovery endpoint. type: string authorization_query_args_client: description: Extra query arguments passed from the client to the authorization endpoint. items: type: string type: array authorization_query_args_names: description: Extra query argument names passed to the authorization endpoint. items: type: string type: array authorization_query_args_values: description: Extra query argument values passed to the authorization endpoint. items: type: string type: array authorization_rolling_timeout: default: 600 description: Specifies how long the session used for the authorization code flow can be used in seconds until it needs to be renewed. 0 disables the checks and rolling. type: number bearer_token_cookie_name: description: The name of the cookie in which the bearer token is passed. type: string bearer_token_param_type: default: - header - query - body description: 'Where to look for the bearer token: - `header`: search the HTTP headers - `query`: search the URL''s query string - `body`: search the HTTP request body - `cookie`: search the HTTP request cookies specified with `config.bearer_token_cookie_name`.' items: enum: - header - cookie - query - body type: string type: array by_username_ignore_case: default: false description: If `consumer_by` is set to `username`, specify whether `username` can match consumers case-insensitively. type: boolean cache_introspection: default: true description: Cache the introspection endpoint requests. type: boolean cache_token_exchange: default: true description: Cache the token exchange endpoint requests. type: boolean cache_tokens: default: true description: Cache the token endpoint requests. type: boolean cache_tokens_salt: description: Salt used for generating the cache key that is used for caching the token endpoint requests. type: string cache_ttl: default: 3600 description: The default cache ttl in seconds that is used in case the cached object does not specify the expiry. type: number cache_ttl_max: description: The maximum cache ttl in seconds (enforced). type: number cache_ttl_min: description: The minimum cache ttl in seconds (enforced). type: number cache_ttl_neg: description: The negative cache ttl in seconds. type: number cache_ttl_resurrect: description: The resurrection ttl in seconds. type: number cache_user_info: default: true description: Cache the user info requests. type: boolean client_alg: description: The algorithm to use for client_secret_jwt (only HS***) or private_key_jwt authentication. items: enum: - HS256 - HS384 - HS512 - RS256 - RS384 - RS512 - ES256 - ES384 - ES512 - PS256 - PS384 - PS512 - EdDSA type: string type: array client_arg: default: client_id description: The client to use for this request (the selection is made with a request parameter with the same name). type: string client_auth: description: 'The default OpenID Connect client authentication method is ''client_secret_basic'' (using ''Authorization: Basic'' header), ''client_secret_post'' (credentials in body), ''client_secret_jwt'' (signed client assertion in body), ''private_key_jwt'' (private key-signed assertion), ''tls_client_auth'' (client certificate), ''self_signed_tls_client_auth'' (self-signed client certificate), and ''none'' (no authentication).' items: enum: - client_secret_basic - client_secret_post - client_secret_jwt - private_key_jwt - tls_client_auth - self_signed_tls_client_auth - none type: string type: array client_credentials_param_type: default: - header - query - body description: 'Where to look for the client credentials: - `header`: search the HTTP headers - `query`: search the URL''s query string - `body`: search from the HTTP request body.' items: enum: - header - query - body type: string type: array client_id: description: The client id(s) that the plugin uses when it calls authenticated endpoints on the identity provider. items: type: string type: array client_jwk: description: The JWK used for the private_key_jwt authentication. items: properties: alg: type: string crv: type: string d: type: string dp: type: string dq: type: string e: type: string issuer: type: string k: type: string key_ops: items: type: string type: array kid: type: string kty: type: string "n": type: string oth: type: string p: type: string q: type: string qi: type: string r: type: string t: type: string use: type: string x: type: string x5c: items: type: string type: array x5t: type: string x5t#S256: type: string x5u: type: string "y": type: string type: object type: array client_secret: description: The client secret. items: type: string type: array consumer_by: default: - username - custom_id description: 'Consumer fields used for mapping: - `id`: try to find the matching Consumer by `id` - `username`: try to find the matching Consumer by `username` - `custom_id`: try to find the matching Consumer by `custom_id`.' items: enum: - id - username - custom_id type: string type: array consumer_claim: description: The claim used for consumer mapping. If multiple values are set, it means the claim is inside a nested object of the token payload. items: type: string type: array consumer_optional: default: false description: Do not terminate the request if consumer mapping fails. type: boolean credential_claim: default: - sub description: The claim used to derive virtual credentials (e.g. to be consumed by the rate-limiting plugin), in case the consumer mapping is not used. If multiple values are set, it means the claim is inside a nested object of the token payload. items: type: string type: array disable_session: description: Disable issuing the session cookie with the specified grants. items: enum: - password - client_credentials - authorization_code - bearer - introspection - userinfo - kong_oauth2 - refresh_token - session type: string type: array discovery_headers_names: description: Extra header names passed to the discovery endpoint. items: type: string type: array discovery_headers_values: description: Extra header values passed to the discovery endpoint. items: type: string type: array display_errors: default: false description: Display errors on failure responses. type: boolean domains: description: The allowed values for the `hd` claim. items: type: string type: array downstream_access_token_header: description: The downstream access token header. type: string downstream_access_token_jwk_header: description: The downstream access token JWK header. type: string downstream_headers_claims: description: The downstream header claims. If multiple values are set, it means the claim is inside a nested object of the token payload. items: type: string type: array downstream_headers_names: description: The downstream header names for the claim values. items: type: string type: array downstream_id_token_header: description: The downstream id token header. type: string downstream_id_token_jwk_header: description: The downstream id token JWK header. type: string downstream_introspection_header: description: The downstream introspection header. type: string downstream_introspection_jwt_header: description: The downstream introspection JWT header. type: string downstream_refresh_token_header: description: The downstream refresh token header. type: string downstream_session_id_header: description: The downstream session id header. type: string downstream_user_info_header: description: The downstream user info header. type: string downstream_user_info_jwt_header: description: The downstream user info JWT header (in case the user info returns a JWT response). type: string dpop_proof_lifetime: default: 300 description: Specifies the lifetime in seconds of the DPoP proof. It determines how long the same proof can be used after creation. The creation time is determined by the nonce creation time if a nonce is used, and the iat claim otherwise. type: number dpop_use_nonce: default: false description: Specifies whether to challenge the client with a nonce value for DPoP proof. When enabled it will also be used to calculate the DPoP proof lifetime. type: boolean enable_hs_signatures: default: false description: Enable shared secret, for example, HS256, signatures (when disabled they will not be accepted). type: boolean end_session_endpoint: description: The end session endpoint. If set it overrides the value in `end_session_endpoint` returned by the discovery endpoint. type: string expose_error_code: default: true description: Specifies whether to expose the error code header, as defined in RFC 6750. If an authorization request fails, this header is sent in the response. Set to `false` to disable. type: boolean extra_jwks_uris: description: JWKS URIs whose public keys are trusted (in addition to the keys found with the discovery). items: description: A string representing a URL, such as https://example.com/path/to/resource?q=search. type: string type: array forbidden_destroy_session: default: true description: Destroy any active session for the forbidden requests. type: boolean forbidden_error_message: default: Forbidden description: The error message for the forbidden requests (when not using the redirection). type: string forbidden_redirect_uri: description: Where to redirect the client on forbidden requests. items: description: A string representing a URL, such as https://example.com/path/to/resource?q=search. type: string type: array groups_claim: default: - groups description: The claim that contains the groups. If multiple values are set, it means the claim is inside a nested object of the token payload. items: type: string type: array groups_required: description: The groups (`groups_claim` claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both **AND** / **OR** cases. items: type: string type: array hide_credentials: default: false description: Remove the credentials used for authentication from the request. If multiple credentials are sent with the same request, the plugin will remove those that were used for successful authentication. type: boolean http_proxy: description: The HTTP proxy. type: string http_proxy_authorization: description: The HTTP proxy authorization. type: string http_version: default: 1.1 description: 'The HTTP version used for the requests by this plugin: - `1.1`: HTTP 1.1 (the default) - `1.0`: HTTP 1.0.' type: number https_proxy: description: The HTTPS proxy. type: string https_proxy_authorization: description: The HTTPS proxy authorization. type: string id_token_param_name: description: The name of the parameter used to pass the id token. type: string id_token_param_type: default: - header - query - body description: 'Where to look for the id token: - `header`: search the HTTP headers - `query`: search the URL''s query string - `body`: search the HTTP request body.' items: enum: - header - query - body type: string type: array ignore_signature: default: [] description: 'Skip the token signature verification on certain grants: - `password`: OAuth password grant - `client_credentials`: OAuth client credentials grant - `authorization_code`: authorization code flow - `refresh_token`: OAuth refresh token grant - `session`: session cookie authentication - `introspection`: OAuth introspection - `userinfo`: OpenID Connect user info endpoint authentication.' items: enum: - password - client_credentials - authorization_code - refresh_token - session - introspection - userinfo type: string type: array introspect_jwt_tokens: default: false description: Specifies whether to introspect the JWT access tokens (can be used to check for revocations). type: boolean introspection_accept: default: application/json description: 'The value of `Accept` header for introspection requests: - `application/json`: introspection response as JSON - `application/token-introspection+jwt`: introspection response as JWT (from the current IETF draft document) - `application/jwt`: introspection response as JWT (from the obsolete IETF draft document).' enum: - application/json - application/token-introspection+jwt - application/jwt type: string introspection_check_active: default: true description: Check that the introspection response has an `active` claim with a value of `true`. type: boolean introspection_endpoint: description: The introspection endpoint. If set it overrides the value in `introspection_endpoint` returned by the discovery endpoint. type: string introspection_endpoint_auth_method: description: 'The introspection endpoint authentication method: : `client_secret_basic`, `client_secret_post`, `client_secret_jwt`, `private_key_jwt`, `tls_client_auth`, `self_signed_tls_client_auth`, or `none`: do not authenticate' enum: - client_secret_basic - client_secret_post - client_secret_jwt - private_key_jwt - tls_client_auth - self_signed_tls_client_auth - none type: string introspection_headers_client: description: Extra headers passed from the client to the introspection endpoint. items: type: string type: array introspection_headers_names: description: Extra header names passed to the introspection endpoint. items: type: string type: array introspection_headers_values: description: Extra header values passed to the introspection endpoint. items: type: string type: array introspection_hint: default: access_token description: Introspection hint parameter value passed to the introspection endpoint. type: string introspection_post_args_client: description: Extra post arguments passed from the client to the introspection endpoint. items: type: string type: array introspection_post_args_names: description: Extra post argument names passed to the introspection endpoint. items: type: string type: array introspection_post_args_values: description: Extra post argument values passed to the introspection endpoint. items: type: string type: array introspection_token_param_name: default: token description: Designate token's parameter name for introspection. type: string issuer: description: The discovery endpoint (or the issuer identifier). When there is no discovery endpoint, please also configure `config.using_pseudo_issuer=true`. type: string issuers_allowed: description: The issuers allowed to be present in the tokens (`iss` claim). items: type: string type: array jwt_session_claim: default: sid description: The claim to match against the JWT session cookie. type: string jwt_session_cookie: description: The name of the JWT session cookie. type: string keepalive: default: true description: Use keepalive with the HTTP client. type: boolean leeway: default: 0 description: Defines leeway time (in seconds) for `auth_time`, `exp`, `iat`, and `nbf` claims type: number login_action: default: upstream description: 'What to do after successful login: - `upstream`: proxy request to upstream service - `response`: terminate request with a response - `redirect`: redirect to a different location.' enum: - upstream - response - redirect type: string login_methods: default: - authorization_code description: Enable login functionality with specified grants. items: enum: - password - client_credentials - authorization_code - bearer - introspection - userinfo - kong_oauth2 - refresh_token - session type: string type: array login_redirect_mode: default: fragment description: 'Where to place `login_tokens` when using `redirect` `login_action`: - `query`: place tokens in query string - `fragment`: place tokens in url fragment (not readable by servers).' enum: - query - fragment type: string login_redirect_uri: description: Where to redirect the client when `login_action` is set to `redirect`. items: description: A string representing a URL, such as https://example.com/path/to/resource?q=search. type: string type: array login_tokens: default: - id_token description: 'What tokens to include in `response` body or `redirect` query string or fragment: - `id_token`: include id token - `access_token`: include access token - `refresh_token`: include refresh token - `tokens`: include the full token endpoint response - `introspection`: include introspection response.' items: enum: - id_token - access_token - refresh_token - tokens - introspection type: string type: array logout_methods: default: - POST - DELETE description: 'The request methods that can activate the logout: - `POST`: HTTP POST method - `GET`: HTTP GET method - `DELETE`: HTTP DELETE method.' items: enum: - POST - GET - DELETE type: string type: array logout_post_arg: description: The request body argument that activates the logout. type: string logout_query_arg: description: The request query argument that activates the logout. type: string logout_redirect_uri: description: Where to redirect the client after the logout. items: description: A string representing a URL, such as https://example.com/path/to/resource?q=search. type: string type: array logout_revoke: default: false description: |- Revoke tokens as part of the logout. For more granular token revocation, you can also adjust the `logout_revoke_access_token` and `logout_revoke_refresh_token` parameters. type: boolean logout_revoke_access_token: default: true description: Revoke the access token as part of the logout. Requires `logout_revoke` to be set to `true`. type: boolean logout_revoke_refresh_token: default: true description: Revoke the refresh token as part of the logout. Requires `logout_revoke` to be set to `true`. type: boolean logout_uri_suffix: description: The request URI suffix that activates the logout. type: string max_age: description: The maximum age (in seconds) compared to the `auth_time` claim. type: number mtls_introspection_endpoint: description: Alias for the introspection endpoint to be used for mTLS client authentication. If set it overrides the value in `mtls_endpoint_aliases` returned by the discovery endpoint. type: string mtls_revocation_endpoint: description: Alias for the introspection endpoint to be used for mTLS client authentication. If set it overrides the value in `mtls_endpoint_aliases` returned by the discovery endpoint. type: string mtls_token_endpoint: description: Alias for the token endpoint to be used for mTLS client authentication. If set it overrides the value in `mtls_endpoint_aliases` returned by the discovery endpoint. type: string no_proxy: description: Do not use proxy with these hosts. type: string password_param_type: default: - header - query - body description: 'Where to look for the username and password: - `header`: search the HTTP headers - `query`: search the URL''s query string - `body`: search the HTTP request body.' items: enum: - header - query - body type: string type: array preserve_query_args: default: false description: With this parameter, you can preserve request query arguments even when doing authorization code flow. type: boolean proof_of_possession_auth_methods_validation: default: true description: If set to true, only the auth_methods that are compatible with Proof of Possession (PoP) can be configured when PoP is enabled. If set to false, all auth_methods will be configurable and PoP checks will be silently skipped for those auth_methods that are not compatible with PoP. type: boolean proof_of_possession_dpop: default: "off" description: Enable Demonstrating Proof-of-Possession (DPoP). If set to strict, all request are verified despite the presence of the DPoP key claim (cnf.jkt). If set to optional, only tokens bound with DPoP's key are verified with the proof. enum: - "off" - strict - optional type: string proof_of_possession_mtls: default: "off" description: 'Enable mtls proof of possession. If set to strict, all tokens (from supported auth_methods: bearer, introspection, and session granted with bearer or introspection) are verified, if set to optional, only tokens that contain the certificate hash claim are verified. If the verification fails, the request will be rejected with 401.' enum: - "off" - strict - optional type: string pushed_authorization_request_endpoint: description: The pushed authorization endpoint. If set it overrides the value in `pushed_authorization_request_endpoint` returned by the discovery endpoint. type: string pushed_authorization_request_endpoint_auth_method: description: 'The pushed authorization request endpoint authentication method: `client_secret_basic`, `client_secret_post`, `client_secret_jwt`, `private_key_jwt`, `tls_client_auth`, `self_signed_tls_client_auth`, or `none`: do not authenticate' enum: - client_secret_basic - client_secret_post - client_secret_jwt - private_key_jwt - tls_client_auth - self_signed_tls_client_auth - none type: string redirect_uri: description: The redirect URI passed to the authorization and token endpoints. items: description: A string representing a URL, such as https://example.com/path/to/resource?q=search. type: string type: array rediscovery_lifetime: default: 30 description: Specifies how long (in seconds) the plugin waits between discovery attempts. Discovery is still triggered on an as-needed basis. type: number refresh_token_param_name: description: The name of the parameter used to pass the refresh token. type: string refresh_token_param_type: default: - header - query - body description: 'Where to look for the refresh token: - `header`: search the HTTP headers - `query`: search the URL''s query string - `body`: search the HTTP request body.' items: enum: - header - query - body type: string type: array refresh_tokens: default: true description: Specifies whether the plugin should try to refresh (soon to be) expired access tokens if the plugin has a `refresh_token` available. type: boolean require_proof_key_for_code_exchange: description: Forcibly enable or disable the proof key for code exchange. When not set the value is determined through the discovery using the value of `code_challenge_methods_supported`, and enabled automatically (in case the `code_challenge_methods_supported` is missing, the PKCE will not be enabled). type: boolean require_pushed_authorization_requests: description: Forcibly enable or disable the pushed authorization requests. When not set the value is determined through the discovery using the value of `require_pushed_authorization_requests` (which defaults to `false`). type: boolean require_signed_request_object: description: Forcibly enable or disable the usage of signed request object on authorization or pushed authorization endpoint. When not set the value is determined through the discovery using the value of `require_signed_request_object`, and enabled automatically (in case the `require_signed_request_object` is missing, the feature will not be enabled). type: boolean resolve_distributed_claims: default: false description: Distributed claims are represented by the `_claim_names` and `_claim_sources` members of the JSON object containing the claims. If this parameter is set to `true`, the plugin explicitly resolves these distributed claims. type: boolean response_mode: default: query description: 'Response mode passed to the authorization endpoint: - `query`: for parameters in query string - `form_post`: for parameters in request body - `fragment`: for parameters in uri fragment (rarely useful as the plugin itself cannot read it) - `query.jwt`, `form_post.jwt`, `fragment.jwt`: similar to `query`, `form_post` and `fragment` but the parameters are encoded in a JWT - `jwt`: shortcut that indicates the default encoding for the requested response type.' enum: - query - form_post - fragment - query.jwt - form_post.jwt - fragment.jwt - jwt type: string response_type: default: - code description: The response type passed to the authorization endpoint. items: type: string type: array reverify: default: false description: Specifies whether to always verify tokens stored in the session. type: boolean revocation_endpoint: description: The revocation endpoint. If set it overrides the value in `revocation_endpoint` returned by the discovery endpoint. type: string revocation_endpoint_auth_method: description: 'The revocation endpoint authentication method: : `client_secret_basic`, `client_secret_post`, `client_secret_jwt`, `private_key_jwt`, `tls_client_auth`, `self_signed_tls_client_auth`, or `none`: do not authenticate' enum: - client_secret_basic - client_secret_post - client_secret_jwt - private_key_jwt - tls_client_auth - self_signed_tls_client_auth - none type: string revocation_token_param_name: default: token description: Designate token's parameter name for revocation. type: string roles_claim: default: - roles description: The claim that contains the roles. If multiple values are set, it means the claim is inside a nested object of the token payload. items: type: string type: array roles_required: description: The roles (`roles_claim` claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both **AND** / **OR** cases. items: type: string type: array run_on_preflight: default: true description: Specifies whether to run this plugin on pre-flight (`OPTIONS`) requests. type: boolean scopes: default: - openid description: The scopes passed to the authorization and token endpoints. items: type: string type: array scopes_claim: default: - scope description: The claim that contains the scopes. If multiple values are set, it means the claim is inside a nested object of the token payload. items: type: string type: array scopes_required: description: The scopes (`scopes_claim` claim) required to be present in the access token (or introspection results) for successful authorization. This config parameter works in both **AND** / **OR** cases. items: type: string type: array search_user_info: default: false description: Specify whether to use the user info endpoint to get additional claims for consumer mapping, credential mapping, authenticated groups, and upstream and downstream headers. type: boolean session_absolute_timeout: default: 86400 description: Limits how long the session can be renewed in seconds, until re-authentication is required. 0 disables the checks. type: number session_audience: default: default description: The session audience, which is the intended target application. For example `"my-application"`. type: string session_cookie_domain: description: The session cookie Domain flag. type: string session_cookie_http_only: default: true description: Forbids JavaScript from accessing the cookie, for example, through the `Document.cookie` property. type: boolean session_cookie_name: default: session description: The session cookie name. type: string session_cookie_path: default: / description: The session cookie Path flag. type: string session_cookie_same_site: default: Lax description: Controls whether a cookie is sent with cross-origin requests, providing some protection against cross-site request forgery attacks. enum: - Strict - Lax - None - Default type: string session_cookie_secure: description: 'Cookie is only sent to the server when a request is made with the https: scheme (except on localhost), and therefore is more resistant to man-in-the-middle attacks.' type: boolean session_enforce_same_subject: default: false description: When set to `true`, audiences are forced to share the same subject. type: boolean session_hash_storage_key: default: false description: When set to `true`, the storage key (session ID) is hashed for extra security. Hashing the storage key means it is impossible to decrypt data from the storage without a cookie. type: boolean session_hash_subject: default: false description: When set to `true`, the value of subject is hashed before being stored. Only applies when `session_store_metadata` is enabled. type: boolean session_idling_timeout: default: 900 description: Specifies how long the session can be inactive until it is considered invalid in seconds. 0 disables the checks and touching. type: number session_memcached_host: default: 127.0.0.1 description: The memcached host. type: string session_memcached_port: default: 11211 description: The memcached port. maximum: 65535 minimum: 0 type: integer session_memcached_prefix: description: The memcached session key prefix. type: string session_memcached_socket: description: The memcached unix socket path. type: string session_redis_cluster_max_redirections: description: The Redis cluster maximum redirects. type: integer session_redis_cluster_nodes: description: The Redis cluster node host. Takes an array of host records, with either `ip` or `host`, and `port` values. items: properties: ip: default: 127.0.0.1 description: A string representing a host name, such as example.com. type: string port: default: 6379 description: An integer representing a port number between 0 and 65535, inclusive. maximum: 65535 minimum: 0 type: integer type: object type: array session_redis_connect_timeout: description: Session redis connection timeout in milliseconds. type: integer session_redis_host: default: 127.0.0.1 description: The Redis host. type: string session_redis_password: description: Password to use for Redis connection when the `redis` session storage is defined. If undefined, no AUTH commands are sent to Redis. type: string session_redis_port: default: 6379 description: The Redis port. maximum: 65535 minimum: 0 type: integer session_redis_prefix: description: The Redis session key prefix. type: string session_redis_read_timeout: description: Session redis read timeout in milliseconds. type: integer session_redis_send_timeout: description: Session redis send timeout in milliseconds. type: integer session_redis_server_name: description: The SNI used for connecting the Redis server. type: string session_redis_socket: description: The Redis unix socket path. type: string session_redis_ssl: default: false description: Use SSL/TLS for Redis connection. type: boolean session_redis_ssl_verify: default: false description: Verify identity provider server certificate. type: boolean session_redis_username: description: Username to use for Redis connection when the `redis` session storage is defined and ACL authentication is desired. If undefined, ACL authentication will not be performed. This requires Redis v6.0.0+. To be compatible with Redis v5.x.y, you can set it to `default`. type: string session_remember: default: false description: Enables or disables persistent sessions. type: boolean session_remember_absolute_timeout: default: 2.592e+06 description: Limits how long the persistent session can be renewed in seconds, until re-authentication is required. 0 disables the checks. type: number session_remember_cookie_name: default: remember description: Persistent session cookie name. Use with the `remember` configuration parameter. type: string session_remember_rolling_timeout: default: 604800 description: Specifies how long the persistent session is considered valid in seconds. 0 disables the checks and rolling. type: number session_request_headers: description: Set of headers to send to upstream, use id, audience, subject, timeout, idling-timeout, rolling-timeout, absolute-timeout. E.g. `[ "id", "timeout" ]` will set Session-Id and Session-Timeout request headers. items: enum: - id - audience - subject - timeout - idling-timeout - rolling-timeout - absolute-timeout type: string type: array session_response_headers: description: Set of headers to send to downstream, use id, audience, subject, timeout, idling-timeout, rolling-timeout, absolute-timeout. E.g. `[ "id", "timeout" ]` will set Session-Id and Session-Timeout response headers. items: enum: - id - audience - subject - timeout - idling-timeout - rolling-timeout - absolute-timeout type: string type: array session_rolling_timeout: default: 3600 description: Specifies how long the session can be used in seconds until it needs to be renewed. 0 disables the checks and rolling. type: number session_secret: description: The session secret. type: string session_storage: default: cookie description: 'The session storage for session data: - `cookie`: stores session data with the session cookie (the session cannot be invalidated or revoked without changing session secret, but is stateless, and doesn''t require a database) - `memcache`: stores session data in memcached - `redis`: stores session data in Redis.' enum: - cookie - memcache - memcached - redis type: string session_store_metadata: default: false description: Configures whether or not session metadata should be stored. This metadata includes information about the active sessions for a specific audience belonging to a specific subject. type: boolean ssl_verify: default: false description: Verify identity provider server certificate. If set to `true`, the plugin uses the CA certificate set in the `kong.conf` config parameter `lua_ssl_trusted_certificate`. type: boolean timeout: default: 10000 description: Network IO timeout in milliseconds. type: number tls_client_auth_cert_id: description: ID of the Certificate entity representing the client certificate to use for mTLS client authentication for connections between Kong and the Auth Server. type: string uuid: true tls_client_auth_ssl_verify: default: true description: Verify identity provider server certificate during mTLS client authentication. type: boolean token_cache_key_include_scope: default: false description: Include the scope in the token cache key, so token with different scopes are considered diffrent tokens. type: boolean token_endpoint: description: The token endpoint. If set it overrides the value in `token_endpoint` returned by the discovery endpoint. type: string token_endpoint_auth_method: description: 'The token endpoint authentication method: `client_secret_basic`, `client_secret_post`, `client_secret_jwt`, `private_key_jwt`, `tls_client_auth`, `self_signed_tls_client_auth`, or `none`: do not authenticate' enum: - client_secret_basic - client_secret_post - client_secret_jwt - private_key_jwt - tls_client_auth - self_signed_tls_client_auth - none type: string token_exchange_endpoint: description: The token exchange endpoint. type: string token_headers_client: description: Extra headers passed from the client to the token endpoint. items: type: string type: array token_headers_grants: description: 'Enable the sending of the token endpoint response headers only with certain grants: - `password`: with OAuth password grant - `client_credentials`: with OAuth client credentials grant - `authorization_code`: with authorization code flow - `refresh_token` with refresh token grant.' items: enum: - password - client_credentials - authorization_code - refresh_token type: string type: array token_headers_names: description: Extra header names passed to the token endpoint. items: type: string type: array token_headers_prefix: description: Add a prefix to the token endpoint response headers before forwarding them to the downstream client. type: string token_headers_replay: description: The names of token endpoint response headers to forward to the downstream client. items: type: string type: array token_headers_values: description: Extra header values passed to the token endpoint. items: type: string type: array token_post_args_client: description: 'Pass extra arguments from the client to the OpenID-Connect plugin. If arguments exist, the client can pass them using: - Query parameters - Request Body - Request Header This parameter can be used with `scope` values, like this: `config.token_post_args_client=scope` In this case, the token would take the `scope` value from the query parameter or from the request body or from the header and send it to the token endpoint.' items: type: string type: array token_post_args_names: description: Extra post argument names passed to the token endpoint. items: type: string type: array token_post_args_values: description: Extra post argument values passed to the token endpoint. items: type: string type: array unauthorized_destroy_session: default: true description: Destroy any active session for the unauthorized requests. type: boolean unauthorized_error_message: default: Unauthorized description: The error message for the unauthorized requests (when not using the redirection). type: string unauthorized_redirect_uri: description: Where to redirect the client on unauthorized requests. items: description: A string representing a URL, such as https://example.com/path/to/resource?q=search. type: string type: array unexpected_redirect_uri: description: Where to redirect the client when unexpected errors happen with the requests. items: description: A string representing a URL, such as https://example.com/path/to/resource?q=search. type: string type: array upstream_access_token_header: default: authorization:bearer description: The upstream access token header. type: string upstream_access_token_jwk_header: description: The upstream access token JWK header. type: string upstream_headers_claims: description: The upstream header claims. If multiple values are set, it means the claim is inside a nested object of the token payload. items: type: string type: array upstream_headers_names: description: The upstream header names for the claim values. items: type: string type: array upstream_id_token_header: description: The upstream id token header. type: string upstream_id_token_jwk_header: description: The upstream id token JWK header. type: string upstream_introspection_header: description: The upstream introspection header. type: string upstream_introspection_jwt_header: description: The upstream introspection JWT header. type: string upstream_refresh_token_header: description: The upstream refresh token header. type: string upstream_session_id_header: description: The upstream session id header. type: string upstream_user_info_header: description: The upstream user info header. type: string upstream_user_info_jwt_header: description: The upstream user info JWT header (in case the user info returns a JWT response). type: string userinfo_accept: default: application/json description: 'The value of `Accept` header for user info requests: - `application/json`: user info response as JSON - `application/jwt`: user info response as JWT (from the obsolete IETF draft document).' enum: - application/json - application/jwt type: string userinfo_endpoint: description: The user info endpoint. If set it overrides the value in `userinfo_endpoint` returned by the discovery endpoint. type: string userinfo_headers_client: description: Extra headers passed from the client to the user info endpoint. items: type: string type: array userinfo_headers_names: description: Extra header names passed to the user info endpoint. items: type: string type: array userinfo_headers_values: description: Extra header values passed to the user info endpoint. items: type: string type: array userinfo_query_args_client: description: Extra query arguments passed from the client to the user info endpoint. items: type: string type: array userinfo_query_args_names: description: Extra query argument names passed to the user info endpoint. items: type: string type: array userinfo_query_args_values: description: Extra query argument values passed to the user info endpoint. items: type: string type: array using_pseudo_issuer: default: false description: If the plugin uses a pseudo issuer. When set to true, the plugin will not discover the configuration from the issuer URL specified with `config.issuer`. type: boolean verify_claims: default: true description: Verify tokens for standard claims. type: boolean verify_nonce: default: true description: Verify nonce on authorization code flow. type: boolean verify_parameters: default: false description: Verify plugin configuration against discovery. type: boolean verify_signature: default: true description: Verify signature of tokens. type: boolean shorthand_fields: authorization_cookie_httponly: type: boolean authorization_cookie_lifetime: type: number authorization_cookie_samesite: type: string session_compressor: type: string session_cookie_httponly: type: boolean session_cookie_idletime: type: number session_cookie_lifetime: type: number session_cookie_maxsize: type: integer session_cookie_renew: type: number session_cookie_samesite: type: string session_memcache_host: type: string session_memcache_port: type: integer session_memcache_prefix: type: string session_memcache_socket: type: string session_redis_cluster_maxredirections: type: integer session_strategy: type: string type: object name: const: openid-connect type: string OpentelemetryPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/OpentelemetryPluginConfig' x-speakeasy-entity: PluginOpentelemetry OpentelemetryPluginConfig: properties: config: properties: batch_flush_delay: description: The delay, in seconds, between two consecutive batches. type: integer batch_span_count: description: The number of spans to be sent in a single batch. type: integer connect_timeout: default: 1000 description: An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. maximum: 2.147483646e+09 minimum: 0 type: integer endpoint: description: A string representing a URL, such as https://example.com/path/to/resource?q=search. type: string header_type: default: preserve enum: - preserve - ignore - b3 - b3-single - w3c - jaeger - ot - aws - gcp - datadog type: string headers: additionalProperties: true description: The custom headers to be added in the HTTP request sent to the OTLP server. This setting is useful for adding the authentication headers (token) for the APM backend. type: object http_response_header_for_traceid: type: string propagation: default: default_format: w3c properties: clear: description: Header names to clear after context extraction. This allows to extract the context from a certain header and then remove it from the request, useful when extraction and injection are performed on different header formats and the original header should not be sent to the upstream. If left empty, no headers are cleared. items: type: string type: array default_format: description: 'The default header format to use when extractors did not match any format in the incoming headers and `inject` is configured with the value: `preserve`. This can happen when no tracing header was found in the request, or the incoming tracing header formats were not included in `extract`.' enum: - b3 - gcp - b3-single - jaeger - aws - ot - w3c - datadog type: string extract: description: Header formats used to extract tracing context from incoming requests. If multiple values are specified, the first one found will be used for extraction. If left empty, Kong will not extract any tracing context information from incoming requests and generate a trace with no parent and a new trace ID. items: enum: - b3 - gcp - jaeger - aws - ot - w3c - datadog type: string type: array inject: description: Header formats used to inject tracing context. The value `preserve` will use the same header format as the incoming request. If multiple values are specified, all of them will be used during injection. If left empty, Kong will not inject any tracing context information in outgoing requests. items: enum: - preserve - b3 - gcp - b3-single - jaeger - aws - ot - w3c - datadog type: string type: array required: - default_format type: object queue: default: max_batch_size: 200 properties: initial_retry_delay: default: 0.01 description: Time in seconds before the initial retry is made for a failing batch. maximum: 1e+06 minimum: 0.001 type: number max_batch_size: default: 1 description: Maximum number of entries that can be processed at a time. maximum: 1e+06 minimum: 1 type: integer max_bytes: description: Maximum number of bytes that can be waiting on a queue, requires string content. type: integer max_coalescing_delay: default: 1 description: Maximum number of (fractional) seconds to elapse after the first entry was queued before the queue starts calling the handler. maximum: 3600 minimum: 0 type: number max_entries: default: 10000 description: Maximum number of entries that can be waiting on the queue. maximum: 1e+06 minimum: 1 type: integer max_retry_delay: default: 60 description: Maximum time in seconds between retries, caps exponential backoff. maximum: 1e+06 minimum: 0.001 type: number max_retry_time: default: 60 description: Time in seconds before the queue gives up calling a failed handler for a batch. type: number type: object read_timeout: default: 5000 description: An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. maximum: 2.147483646e+09 minimum: 0 type: integer resource_attributes: additionalProperties: true type: object sampling_rate: description: Tracing sampling rate for configuring the probability-based sampler. When set, this value supersedes the global `tracing_sampling_rate` setting from kong.conf. maximum: 1 minimum: 0 type: number send_timeout: default: 5000 description: An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. maximum: 2.147483646e+09 minimum: 0 type: integer type: object name: const: opentelemetry type: string PaginationOffsetResponse: description: Offset is used to paginate through the API. Provide this value to the next list operation to fetch the next page type: string Plugin: allOf: - $ref: '#/components/schemas/PluginWithoutParents' - properties: consumer: additionalProperties: false description: If set, the plugin will activate only for requests where the specified has been authenticated. (Note that some plugins can not be restricted to consumers this way.). Leave unset for the plugin to activate regardless of the authenticated Consumer. properties: id: type: string type: object x-foreign: true consumer_group: additionalProperties: false properties: id: type: string type: object x-foreign: true route: additionalProperties: false description: If set, the plugin will only activate when receiving requests via the specified route. Leave unset for the plugin to activate regardless of the Route being used. properties: id: type: string type: object x-foreign: true service: additionalProperties: false description: If set, the plugin will only activate when receiving requests via one of the routes belonging to the specified Service. Leave unset for the plugin to activate regardless of the Service being matched. properties: id: type: string type: object x-foreign: true type: object PluginWithoutParents: properties: config: additionalProperties: true description: The configuration properties for the Plugin which can be found on the plugins documentation page in the [Kong Hub](https://docs.konghq.com/hub/). type: object created_at: description: Unix epoch when the resource was created. readOnly: true type: integer enabled: default: true description: Whether the plugin is applied. type: boolean id: readOnly: true type: string instance_name: type: string name: description: The name of the Plugin that's going to be added. Currently, the Plugin must be installed in every Kong instance separately. type: string ordering: additionalProperties: true type: object protocols: default: - grpc - grpcs - http - https description: A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type. For example, plugins that only work in stream mode will only support `"tcp"` and `"tls"`. items: enum: - grpc - grpcs - http - https - tcp - tls - tls_passthrough - udp - ws - wss type: string type: array tags: description: An optional set of strings associated with the Plugin for grouping and filtering. items: type: string type: array updated_at: description: Unix epoch when the resource was last updated. readOnly: true type: integer type: object PreFunctionPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/PreFunctionPluginConfig' x-speakeasy-entity: PluginPreFunction PreFunctionPluginConfig: properties: config: properties: access: default: [] items: type: string type: array body_filter: default: [] items: type: string type: array certificate: default: [] items: type: string type: array header_filter: default: [] items: type: string type: array log: default: [] items: type: string type: array rewrite: default: [] items: type: string type: array ws_client_frame: default: [] items: type: string type: array ws_close: default: [] items: type: string type: array ws_handshake: default: [] items: type: string type: array ws_upstream_frame: default: [] items: type: string type: array type: object name: const: pre-function type: string PrometheusPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/PrometheusPluginConfig' x-speakeasy-entity: PluginPrometheus PrometheusPluginConfig: properties: config: properties: bandwidth_metrics: default: false description: A boolean value that determines if bandwidth metrics should be collected. If enabled, `bandwidth_bytes` and `stream_sessions_total` metrics will be exported. type: boolean latency_metrics: default: false description: A boolean value that determines if latency metrics should be collected. If enabled, `kong_latency_ms`, `upstream_latency_ms` and `request_latency_ms` metrics will be exported. type: boolean per_consumer: default: false description: A boolean value that determines if per-consumer metrics should be collected. If enabled, the `kong_http_requests_total` and `kong_bandwidth_bytes` metrics fill in the consumer label when available. type: boolean status_code_metrics: default: false description: A boolean value that determines if status code metrics should be collected. If enabled, `http_requests_total`, `stream_sessions_total` metrics will be exported. type: boolean upstream_health_metrics: default: false description: A boolean value that determines if upstream metrics should be collected. If enabled, `upstream_target_health` metric will be exported. type: boolean type: object name: const: prometheus type: string ProxyCachePlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/ProxyCachePluginConfig' x-speakeasy-entity: PluginProxyCache ProxyCachePluginConfig: properties: config: properties: cache_control: default: false description: When enabled, respect the Cache-Control behaviors defined in RFC7234. type: boolean cache_ttl: default: 300 description: TTL, in seconds, of cache entities. minimum: 0 type: integer content_type: default: - text/plain - application/json description: Upstream response content types considered cacheable. The plugin performs an **exact match** against each specified value. items: type: string type: array ignore_uri_case: default: false type: boolean memory: properties: dictionary_name: default: kong_db_cache description: The name of the shared dictionary in which to hold cache entities when the memory strategy is selected. Note that this dictionary currently must be defined manually in the Kong Nginx template. type: string type: object request_method: default: - GET - HEAD description: Downstream request methods considered cacheable. items: enum: - HEAD - GET - POST - PATCH - PUT type: string type: array response_code: default: - 200 - 301 - 404 description: Upstream response status code considered cacheable. items: maximum: 900 minimum: 100 type: integer minLength: 1 type: array response_headers: description: Caching related diagnostic headers that should be included in cached responses properties: X-Cache-Key: default: true type: boolean X-Cache-Status: default: true type: boolean age: default: true type: boolean type: object storage_ttl: description: Number of seconds to keep resources in the storage backend. This value is independent of `cache_ttl` or resource TTLs defined by Cache-Control behaviors. type: integer strategy: description: The backing data store in which to hold cache entities. enum: - memory type: string vary_headers: description: Relevant headers considered for the cache key. If undefined, none of the headers are taken into consideration. items: type: string type: array vary_query_params: description: Relevant query parameters considered for the cache key. If undefined, all params are taken into consideration. items: type: string type: array type: object name: const: proxy-cache type: string RateLimitingAdvancedPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/RateLimitingAdvancedPluginConfig' x-speakeasy-entity: PluginRateLimitingAdvanced RateLimitingAdvancedPluginConfig: properties: config: properties: consumer_groups: description: List of consumer groups allowed to override the rate limiting settings for the given Route or Service. Required if `enforce_consumer_groups` is set to `true`. items: type: string type: array dictionary_name: default: kong_rate_limiting_counters description: The shared dictionary where counters are stored. When the plugin is configured to synchronize counter data externally (that is `config.strategy` is `cluster` or `redis` and `config.sync_rate` isn't `-1`), this dictionary serves as a buffer to populate counters in the data store on each synchronization cycle. type: string disable_penalty: default: false description: If set to `true`, this doesn't count denied requests (status = `429`). If set to `false`, all requests, including denied ones, are counted. This parameter only affects the `sliding` window_type. type: boolean enforce_consumer_groups: default: false description: Determines if consumer groups are allowed to override the rate limiting settings for the given Route or Service. Flipping `enforce_consumer_groups` from `true` to `false` disables the group override, but does not clear the list of consumer groups. You can then flip `enforce_consumer_groups` to `true` to re-enforce the groups. type: boolean error_code: default: 429 description: Set a custom error code to return when the rate limit is exceeded. minimum: 0 type: number error_message: default: API rate limit exceeded description: Set a custom error message to return when the rate limit is exceeded. type: string header_name: description: A string representing an HTTP header name. type: string hide_client_headers: default: false description: Optionally hide informative response headers that would otherwise provide information about the current status of limits and counters. type: boolean identifier: default: consumer description: The type of identifier used to generate the rate limit key. Defines the scope used to increment the rate limiting counters. Can be `ip`, `credential`, `consumer`, `service`, `header`, `path` or `consumer-group`. enum: - ip - credential - consumer - service - header - path - consumer-group type: string limit: description: One or more requests-per-window limits to apply. There must be a matching number of window limits and sizes specified. items: type: number type: array namespace: description: 'The rate limiting library namespace to use for this plugin instance. Counter data and sync configuration is isolated in each namespace. NOTE: For the plugin instances sharing the same namespace, all the configurations that are required for synchronizing counters, e.g. `strategy`, `redis`, `sync_rate`, `window_size`, `dictionary_name`, need to be the same.' type: string path: description: A string representing a URL path, such as /path/to/resource. Must start with a forward slash (/) and must not contain empty segments (i.e., two consecutive forward slashes). type: string redis: properties: cluster_addresses: description: Cluster addresses to use for Redis connections when the `redis` strategy is defined. Defining this value implies using Redis Cluster. Each string element must be a hostname. The minimum length of the array is 1 element. items: type: string minLength: 1 type: array connect_timeout: description: An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. maximum: 2.147483646e+09 minimum: 0 type: integer database: default: 0 description: Database to use for the Redis connection when using the `redis` strategy type: integer host: description: A string representing a host name, such as example.com. type: string keepalive_backlog: description: Limits the total number of opened connections for a pool. If the connection pool is full, connection queues above the limit go into the backlog queue. If the backlog queue is full, subsequent connect operations fail and return `nil`. Queued operations (subject to set timeouts) resume once the number of connections in the pool is less than `keepalive_pool_size`. If latency is high or throughput is low, try increasing this value. Empirically, this value is larger than `keepalive_pool_size`. maximum: 2.147483646e+09 minimum: 0 type: integer keepalive_pool_size: default: 256 description: The size limit for every cosocket connection pool associated with every remote server, per worker process. If neither `keepalive_pool_size` nor `keepalive_backlog` is specified, no pool is created. If `keepalive_pool_size` isn't specified but `keepalive_backlog` is specified, then the pool uses the default value. Try to increase (e.g. 512) this value if latency is high or throughput is low. maximum: 2.147483646e+09 minimum: 1 type: integer password: description: Password to use for Redis connections. If undefined, no AUTH commands are sent to Redis. type: string port: description: An integer representing a port number between 0 and 65535, inclusive. maximum: 65535 minimum: 0 type: integer read_timeout: description: An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. maximum: 2.147483646e+09 minimum: 0 type: integer send_timeout: description: An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. maximum: 2.147483646e+09 minimum: 0 type: integer sentinel_addresses: description: Sentinel addresses to use for Redis connections when the `redis` strategy is defined. Defining this value implies using Redis Sentinel. Each string element must be a hostname. The minimum length of the array is 1 element. items: type: string minLength: 1 type: array sentinel_master: description: Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel. type: string sentinel_password: description: Sentinel password to authenticate with a Redis Sentinel instance. If undefined, no AUTH commands are sent to Redis Sentinels. type: string sentinel_role: description: Sentinel role to use for Redis connections when the `redis` strategy is defined. Defining this value implies using Redis Sentinel. enum: - master - slave - any type: string sentinel_username: description: Sentinel username to authenticate with a Redis Sentinel instance. If undefined, ACL authentication won't be performed. This requires Redis v6.2.0+. type: string server_name: description: A string representing an SNI (server name indication) value for TLS. type: string ssl: default: false description: If set to true, uses SSL to connect to Redis. type: boolean ssl_verify: default: false description: If set to true, verifies the validity of the server SSL certificate. If setting this parameter, also configure `lua_ssl_trusted_certificate` in `kong.conf` to specify the CA (or server) certificate used by your Redis server. You may also need to configure `lua_ssl_verify_depth` accordingly. type: boolean timeout: default: 2000 description: An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. maximum: 2.147483646e+09 minimum: 0 type: integer username: description: Username to use for Redis connections. If undefined, ACL authentication won't be performed. This requires Redis v6.0.0+. To be compatible with Redis v5.x.y, you can set it to `default`. type: string type: object retry_after_jitter_max: default: 0 description: The upper bound of a jitter (random delay) in seconds to be added to the `Retry-After` header of denied requests (status = `429`) in order to prevent all the clients from coming back at the same time. The lower bound of the jitter is `0`; in this case, the `Retry-After` header is equal to the `RateLimit-Reset` header. type: number strategy: default: local description: 'The rate-limiting strategy to use for retrieving and incrementing the limits. Available values are: `local` and `cluster`.' enum: - cluster - redis - local type: string sync_rate: description: How often to sync counter data to the central data store. A value of 0 results in synchronous behavior; a value of -1 ignores sync behavior entirely and only stores counters in node memory. A value greater than 0 will sync the counters in the specified number of seconds. The minimum allowed interval is 0.02 seconds (20ms). type: number window_size: description: One or more window sizes to apply a limit to (defined in seconds). There must be a matching number of window limits and sizes specified. items: type: number type: array window_type: default: sliding description: Sets the time window type to either `sliding` (default) or `fixed`. Sliding windows apply the rate limiting logic while taking into account previous hit rates (from the window that immediately precedes the current) using a dynamic weight. Fixed windows consist of buckets that are statically assigned to a definitive time range, each request is mapped to only one fixed window based on its timestamp and will affect only that window's counters. enum: - fixed - sliding type: string type: object name: const: rate-limiting-advanced type: string RateLimitingPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/RateLimitingPluginConfig' x-speakeasy-entity: PluginRateLimiting RateLimitingPluginConfig: properties: config: properties: day: description: The number of HTTP requests that can be made per day. minimum: 0 type: number error_code: default: 429 description: Set a custom error code to return when the rate limit is exceeded. minimum: 0 type: number error_message: default: API rate limit exceeded description: Set a custom error message to return when the rate limit is exceeded. type: string fault_tolerant: default: true description: A boolean value that determines if the requests should be proxied even if Kong has troubles connecting a third-party data store. If `true`, requests will be proxied anyway, effectively disabling the rate-limiting function until the data store is working again. If `false`, then the clients will see `500` errors. type: boolean header_name: description: A string representing an HTTP header name. type: string hide_client_headers: default: false description: Optionally hide informative response headers. type: boolean hour: description: The number of HTTP requests that can be made per hour. minimum: 0 type: number limit_by: default: consumer description: The entity that is used when aggregating the limits. enum: - consumer - credential - ip - service - header - path - consumer-group type: string minute: description: The number of HTTP requests that can be made per minute. minimum: 0 type: number month: description: The number of HTTP requests that can be made per month. minimum: 0 type: number path: description: A string representing a URL path, such as /path/to/resource. Must start with a forward slash (/) and must not contain empty segments (i.e., two consecutive forward slashes). type: string policy: default: local description: The rate-limiting policies to use for retrieving and incrementing the limits. enum: - local - cluster - redis type: string redis: description: Redis configuration properties: database: default: 0 description: Database to use for the Redis connection when using the `redis` strategy type: integer host: description: A string representing a host name, such as example.com. type: string password: description: Password to use for Redis connections. If undefined, no AUTH commands are sent to Redis. type: string port: default: 6379 description: An integer representing a port number between 0 and 65535, inclusive. maximum: 65535 minimum: 0 type: integer server_name: description: A string representing an SNI (server name indication) value for TLS. type: string ssl: default: false description: If set to true, uses SSL to connect to Redis. type: boolean ssl_verify: default: false description: If set to true, verifies the validity of the server SSL certificate. If setting this parameter, also configure `lua_ssl_trusted_certificate` in `kong.conf` to specify the CA (or server) certificate used by your Redis server. You may also need to configure `lua_ssl_verify_depth` accordingly. type: boolean timeout: default: 2000 description: An integer representing a timeout in milliseconds. Must be between 0 and 2^31-2. maximum: 2.147483646e+09 minimum: 0 type: integer username: description: Username to use for Redis connections. If undefined, ACL authentication won't be performed. This requires Redis v6.0.0+. To be compatible with Redis v5.x.y, you can set it to `default`. type: string type: object second: description: The number of HTTP requests that can be made per second. minimum: 0 type: number sync_rate: default: -1 description: How often to sync counter data to the central data store. A value of -1 results in synchronous behavior. type: number year: description: The number of HTTP requests that can be made per year. minimum: 0 type: number shorthand_fields: redis_database: translate_backwards: - redis - database type: integer redis_host: translate_backwards: - redis - host type: string redis_password: minLength: 0 translate_backwards: - redis - password type: string redis_port: translate_backwards: - redis - port type: integer redis_server_name: translate_backwards: - redis - server_name type: string redis_ssl: translate_backwards: - redis - ssl type: boolean redis_ssl_verify: translate_backwards: - redis - ssl_verify type: boolean redis_timeout: translate_backwards: - redis - timeout type: integer redis_username: translate_backwards: - redis - username type: string type: object name: const: rate-limiting type: string RequestTerminationPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/RequestTerminationPluginConfig' x-speakeasy-entity: PluginRequestTermination RequestTerminationPluginConfig: properties: config: properties: body: description: The raw response body to send. This is mutually exclusive with the `config.message` field. type: string content_type: description: Content type of the raw response configured with `config.body`. type: string echo: default: false description: When set, the plugin will echo a copy of the request back to the client. The main usecase for this is debugging. It can be combined with `trigger` in order to debug requests on live systems without disturbing real traffic. type: boolean message: description: The message to send, if using the default response generator. type: string status_code: default: 503 description: The response code to send. Must be an integer between 100 and 599. maximum: 599 minimum: 100 type: integer trigger: description: A string representing an HTTP header name. type: string type: object name: const: request-termination type: string RequestTransformerAdvancedPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/RequestTransformerAdvancedPluginConfig' x-speakeasy-entity: PluginRequestTransformerAdvanced RequestTransformerAdvancedPluginConfig: properties: config: properties: add: properties: body: default: [] items: type: string type: array headers: default: [] items: type: string type: array json_types: default: [] items: enum: - boolean - number - string type: string type: array querystring: default: [] items: type: string type: array type: object allow: properties: body: items: type: string type: array type: object append: properties: body: default: [] items: type: string type: array headers: default: [] items: type: string type: array json_types: default: [] items: enum: - boolean - number - string type: string type: array querystring: default: [] items: type: string type: array type: object dots_in_keys: default: true description: Specify whether dots (for example, `customers.info.phone`) should be treated as part of a property name or used to descend into nested JSON objects. See [Arrays and nested objects](#arrays-and-nested-objects). type: boolean http_method: description: A string representing an HTTP method, such as GET, POST, PUT, or DELETE. The string must contain only uppercase letters. pattern: ^%u+$ type: string remove: properties: body: default: [] items: type: string type: array headers: default: [] items: type: string type: array querystring: default: [] items: type: string type: array type: object rename: properties: body: default: [] items: type: string type: array headers: default: [] items: type: string type: array querystring: default: [] items: type: string type: array type: object replace: properties: body: default: [] items: type: string type: array headers: default: [] items: type: string type: array json_types: default: [] items: enum: - boolean - number - string type: string type: array querystring: default: [] items: type: string type: array uri: type: string type: object type: object name: const: request-transformer-advanced type: string RequestTransformerPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/RequestTransformerPluginConfig' x-speakeasy-entity: PluginRequestTransformer RequestTransformerPluginConfig: properties: config: properties: add: properties: body: default: [] items: type: string type: array headers: default: [] items: pattern: ^[^:]+:.*$ type: string type: array querystring: default: [] items: type: string type: array type: object append: properties: body: default: [] items: type: string type: array headers: default: [] items: pattern: ^[^:]+:.*$ type: string type: array querystring: default: [] items: type: string type: array type: object http_method: description: A string representing an HTTP method, such as GET, POST, PUT, or DELETE. The string must contain only uppercase letters. pattern: ^%u+$ type: string remove: properties: body: default: [] items: type: string type: array headers: default: [] items: type: string type: array querystring: default: [] items: type: string type: array type: object rename: properties: body: default: [] items: type: string type: array headers: default: [] items: pattern: ^[^:]+:.*$ type: string type: array querystring: default: [] items: type: string type: array type: object replace: properties: body: default: [] items: type: string type: array headers: default: [] items: pattern: ^[^:]+:.*$ type: string type: array querystring: default: [] items: type: string type: array uri: type: string type: object type: object name: const: request-transformer type: string ResponseTransformerAdvancedPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/ResponseTransformerAdvancedPluginConfig' x-speakeasy-entity: PluginResponseTransformerAdvanced ResponseTransformerAdvancedPluginConfig: properties: config: properties: add: properties: headers: default: [] items: type: string type: array if_status: default: [] items: type: string type: array json: default: [] items: type: string type: array json_types: default: [] items: enum: - boolean - number - string type: string type: array type: object allow: properties: json: items: type: string type: array type: object append: properties: headers: default: [] items: type: string type: array if_status: default: [] items: type: string type: array json: default: [] items: type: string type: array json_types: default: [] items: enum: - boolean - number - string type: string type: array type: object dots_in_keys: default: true description: Whether dots (for example, `customers.info.phone`) should be treated as part of a property name or used to descend into nested JSON objects.. type: boolean remove: properties: headers: default: [] items: type: string type: array if_status: default: [] items: type: string type: array json: default: [] items: type: string type: array type: object rename: properties: headers: default: [] items: pattern: ^[^:]+:.*$ type: string type: array if_status: default: [] items: type: string type: array type: object replace: properties: body: description: String with which to replace the entire response body. type: string headers: default: [] items: type: string type: array if_status: default: [] items: type: string type: array json: default: [] items: type: string type: array json_types: default: [] items: enum: - boolean - number - string type: string type: array type: object transform: properties: functions: default: [] items: type: string type: array if_status: default: [] items: type: string type: array json: default: [] items: type: string type: array type: object type: object name: const: response-transformer-advanced type: string ResponseTransformerPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/ResponseTransformerPluginConfig' x-speakeasy-entity: PluginResponseTransformer ResponseTransformerPluginConfig: properties: config: properties: add: properties: headers: default: [] items: pattern: ^[^:]+:.*$ type: string type: array json: default: [] items: pattern: ^[^:]+:.*$ type: string type: array json_types: default: [] description: |- List of JSON type names. Specify the types of the JSON values returned when appending JSON properties. Each string element can be one of: boolean, number, or string. items: enum: - boolean - number - string type: string type: array type: object append: properties: headers: default: [] items: pattern: ^[^:]+:.*$ type: string type: array json: default: [] items: pattern: ^[^:]+:.*$ type: string type: array json_types: default: [] description: |- List of JSON type names. Specify the types of the JSON values returned when appending JSON properties. Each string element can be one of: boolean, number, or string. items: enum: - boolean - number - string type: string type: array type: object remove: properties: headers: default: [] items: type: string type: array json: default: [] items: type: string type: array type: object rename: properties: headers: default: [] items: pattern: ^[^:]+:.*$ type: string type: array type: object replace: properties: headers: default: [] items: pattern: ^[^:]+:.*$ type: string type: array json: default: [] items: pattern: ^[^:]+:.*$ type: string type: array json_types: default: [] description: |- List of JSON type names. Specify the types of the JSON values returned when appending JSON properties. Each string element can be one of: boolean, number, or string. items: enum: - boolean - number - string type: string type: array type: object type: object name: const: response-transformer type: string Route: allOf: - $ref: '#/components/schemas/RouteWithoutParents' - properties: service: additionalProperties: false description: The Service this Route is associated to. This is where the Route proxies traffic to. properties: id: type: string type: object x-foreign: true type: object x-speakeasy-entity: Route RouteWithoutParents: properties: created_at: description: Unix epoch when the resource was created. readOnly: true type: integer destinations: description: A list of IP destinations of incoming connections that match this Route when using stream routing. Each entry is an object with fields "ip" (optionally in CIDR range notation) and/or "port". items: properties: ip: type: string port: type: integer type: object type: array headers: additionalProperties: true description: 'One or more lists of values indexed by header name that will cause this Route to match if present in the request. The `Host` header cannot be used with this attribute: hosts should be specified using the `hosts` attribute. When `headers` contains only one value and that value starts with the special prefix `~*`, the value is interpreted as a regular expression.' type: object hosts: description: A list of domain names that match this Route. Note that the hosts value is case sensitive. items: type: string type: array https_redirect_status_code: default: 426 description: 'The status code Kong responds with when all properties of a Route match except the protocol i.e. if the protocol of the request is `HTTP` instead of `HTTPS`. `Location` header is injected by Kong if the field is set to 301, 302, 307 or 308. Note: This config applies only if the Route is configured to only accept the `https` protocol.' enum: - 426 - 301 - 302 - 307 - 308 type: integer id: readOnly: true type: string methods: description: A list of HTTP methods that match this Route. items: type: string type: array name: description: The name of the Route. Route names must be unique, and they are case sensitive. For example, there can be two different Routes named "test" and "Test". type: string path_handling: default: v0 description: Controls how the Service path, Route path and requested path are combined when sending a request to the upstream. See above for a detailed description of each behavior. enum: - v0 - v1 type: string paths: description: A list of paths that match this Route. items: type: string type: array preserve_host: default: false description: When matching a Route via one of the `hosts` domain names, use the request `Host` header in the upstream request headers. If set to `false`, the upstream `Host` header will be that of the Service's `host`. type: boolean protocols: default: - http - https description: An array of the protocols this Route should allow. See the [Route Object](#route-object) section for a list of accepted protocols. When set to only `"https"`, HTTP requests are answered with an upgrade error. When set to only `"http"`, HTTPS requests are answered with an error. items: enum: - grpc - grpcs - http - https - tcp - tls - tls_passthrough - udp - ws - wss type: string type: array regex_priority: default: 0 description: A number used to choose which route resolves a given request when several routes match it using regexes simultaneously. When two routes match the path and have the same `regex_priority`, the older one (lowest `created_at`) is used. Note that the priority for non-regex routes is different (longer non-regex routes are matched before shorter ones). type: integer request_buffering: default: true description: Whether to enable request body buffering or not. With HTTP 1.1, it may make sense to turn this off on services that receive data with chunked transfer encoding. type: boolean response_buffering: default: true description: Whether to enable response body buffering or not. With HTTP 1.1, it may make sense to turn this off on services that send data with chunked transfer encoding. type: boolean snis: description: A list of SNIs that match this Route when using stream routing. items: type: string type: array sources: description: A list of IP sources of incoming connections that match this Route when using stream routing. Each entry is an object with fields "ip" (optionally in CIDR range notation) and/or "port". items: properties: ip: type: string port: type: integer type: object type: array strip_path: default: true description: When matching a Route via one of the `paths`, strip the matching prefix from the upstream request URL. type: boolean tags: description: An optional set of strings associated with the Route for grouping and filtering. items: type: string type: array updated_at: description: Unix epoch when the resource was last updated. readOnly: true type: integer type: object x-speakeasy-entity: Route SNI: allOf: - $ref: '#/components/schemas/SNIWithoutParents' - properties: certificate: additionalProperties: false description: The id (a UUID) of the certificate with which to associate the SNI hostname. The Certificate must have a valid private key associated with it to be used by the SNI object. properties: id: type: string type: object x-foreign: true type: object x-speakeasy-entity: SNI SNIWithoutParents: properties: created_at: description: Unix epoch when the resource was created. readOnly: true type: integer id: readOnly: true type: string name: description: The SNI name to associate with the given certificate. type: string tags: description: An optional set of strings associated with the SNIs for grouping and filtering. items: type: string type: array updated_at: description: Unix epoch when the resource was last updated. readOnly: true type: integer type: object x-speakeasy-entity: SNI SamlPlugin: allOf: - $ref: '#/components/schemas/Plugin' - $ref: '#/components/schemas/SamlPluginConfig' x-speakeasy-entity: PluginSaml SamlPluginConfig: properties: config: properties: anonymous: description: An optional string (consumer UUID or username) value to use as an “anonymous” consumer. If not set, a Kong Consumer must exist for the SAML IdP user credentials, mapping the username format to the Kong Consumer username. type: string assertion_consumer_path: description: A string representing a URL path, such as /path/to/resource. Must start with a forward slash (/) and must not contain empty segments (i.e., two consecutive forward slashes). type: string idp_certificate: description: The public certificate provided by the IdP. This is used to validate responses from the IdP. Only include the contents of the certificate. Do not include the header (`BEGIN CERTIFICATE`) and footer (`END CERTIFICATE`) lines. type: string idp_sso_url: description: A string representing a URL, such as https://example.com/path/to/resource?q=search. type: string issuer: description: The unique identifier of the IdP application. Formatted as a URL containing information about the IdP so the SP can validate that the SAML assertions it receives are issued from the correct IdP. type: string nameid_format: default: EmailAddress description: 'The requested `NameId` format. Options available are: - `Unspecified` - `EmailAddress` - `Persistent` - `Transient`' enum: - Unspecified - EmailAddress - Persistent - Transient type: string request_digest_algorithm: default: SHA256 description: 'The digest algorithm for Authn requests: - `SHA256` - `SHA1`' enum: - SHA256 - SHA1 type: string request_signature_algorithm: default: SHA256 description: 'The signature algorithm for signing Authn requests. Options available are: - `SHA256` - `SHA384` - `SHA512`' enum: - SHA256 - SHA384 - SHA512 type: string request_signing_certificate: description: The certificate for signing requests. type: string request_signing_key: description: The private key for signing requests. If this parameter is set, requests sent to the IdP are signed. The `request_signing_certificate` parameter must be set as well. type: string response_digest_algorithm: default: SHA256 description: 'The algorithm for verifying digest in SAML responses: - `SHA256` - `SHA1`' enum: - SHA256 - SHA1 type: string response_encryption_key: description: The private encryption key required to decrypt encrypted assertions. type: string response_signature_algorithm: default: SHA256 description: 'The algorithm for validating signatures in SAML responses. Options available are: - `SHA256` - `SHA384` - `SHA512`' enum: - SHA256 - SHA384 - SHA512 type: string session_absolute_timeout: default: 86400 description: The session cookie absolute timeout in seconds. Specifies how long the session can be used until it is no longer valid. type: number session_audience: default: default description: The session audience, for example "my-application" type: string session_cookie_domain: description: The session cookie domain flag. type: string session_cookie_http_only: default: true description: Forbids JavaScript from accessing the cookie, for example, through the `Document.cookie` property. type: boolean session_cookie_name: default: session description: The session cookie name. type: string session_cookie_path: default: / description: A string representing a URL path, such as /path/to/resource. Must start with a forward slash (/) and must not contain empty segments (i.e., two consecutive forward slashes). type: string session_cookie_same_site: default: Lax description: Controls whether a cookie is sent with cross-origin requests, providing some protection against cross-site request forgery attacks. enum: - Strict - Lax - None - Default type: string session_cookie_secure: description: The cookie is only sent to the server when a request is made with the https:scheme (except on localhost), and therefore is more resistant to man-in-the-middle attacks. type: boolean session_enforce_same_subject: default: false description: When set to `true`, audiences are forced to share the same subject. type: boolean session_hash_storage_key: default: false description: When set to `true`, the storage key (session ID) is hashed for extra security. Hashing the storage key means it is impossible to decrypt data from the storage without a cookie. type: boolean session_hash_subject: default: false description: When set to `true`, the value of subject is hashed before being stored. Only applies when `session_store_metadata` is enabled. type: boolean session_idling_timeout: default: 900 description: The session cookie idle time in seconds. type: number session_memcached_host: default: 127.0.0.1 description: The memcached host. type: string session_memcached_port: default: 11211 description: An integer representing a port number between 0 and 65535, inclusive. maximum: 65535 minimum: 0 type: integer session_memcached_prefix: description: The memcached session key prefix. type: string session_memcached_socket: description: The memcached unix socket path. type: string session_redis_cluster_max_redirections: description: The Redis cluster maximum redirects. type: integer session_redis_cluster_nodes: description: The Redis cluster node host. Takes an array of host records, with either `ip` or `host`, and `port` values. items: properties: ip: default: 127.0.0.1 description: A string representing a host name, such as example.com. type: string port: default: 6379 description: An integer representing a port number between 0 and 65535, inclusive. maximum: 65535 minimum: 0 type: integer type: object type: array session_redis_connect_timeout: description: The Redis connection timeout in milliseconds. type: integer session_redis_host: default: 127.0.0.1 description: The Redis host IP. type: string session_redis_password: description: Password to use for Redis connection when the `redis` session storage is defined. If undefined, no auth commands are sent to Redis. This value is pulled from type: string session_redis_port: default: 6379 description: An integer representing a port number between 0 and 65535, inclusive. maximum: 65535 minimum: 0 type: integer session_redis_prefix: description: The Redis session key prefix. type: string session_redis_read_timeout: description: The Redis read timeout in milliseconds. type: integer session_redis_send_timeout: description: The Redis send timeout in milliseconds. type: integer session_redis_server_name: description: The SNI used for connecting to the Redis server. type: string session_redis_socket: description: The Redis unix socket path. type: string session_redis_ssl: default: false description: Use SSL/TLS for the Redis connection. type: boolean session_redis_ssl_verify: default: false description: Verify the Redis server certificate. type: boolean session_redis_username: description: Redis username if the `redis` session storage is defined and ACL authentication is desired.If undefined, ACL authentication will not be performed. This requires Redis v6.0.0+. The username **cannot** be set to `default`. type: string session_remember: default: false description: Enables or disables persistent sessions type: boolean session_remember_absolute_timeout: default: 2.592e+06 description: Persistent session absolute timeout in seconds. type: number session_remember_cookie_name: default: remember description: Persistent session cookie name type: string session_remember_rolling_timeout: default: 604800 description: Persistent session rolling timeout in seconds. type: number session_request_headers: items: enum: - id - audience - subject - timeout - idling-timeout - rolling-timeout - absolute-timeout type: string type: array session_response_headers: items: enum: - id - audience - subject - timeout - idling-timeout - rolling-timeout - absolute-timeout type: string type: array session_rolling_timeout: default: 3600 description: The session cookie absolute timeout in seconds. Specifies how long the session can be used until it is no longer valid. type: number session_secret: description: The session secret. This must be a random string of 32 characters from the base64 alphabet (letters, numbers, `/`, `_` and `+`). It is used as the secret key for encrypting session data as well as state information that is sent to the IdP in the authentication exchange. maxLength: 32 minLength: 32 pattern: ^[0-9a-zA-Z/_+]+$ type: string session_storage: default: cookie description: 'The session storage for session data: - `cookie`: stores session data with the session cookie. The session cannot be invalidated or revoked without changing the session secret, but is stateless, and doesn''t require a database. - `memcached`: stores session data in memcached - `redis`: stores session data in Redis' enum: - cookie - memcache - memcached - redis type: string session_store_metadata: default: false description: Configures whether or not session metadata should be stored. This includes information about the active sessions for the `specific_audience` belonging to a specific subject. type: boolean validate_assertion_signature: default: true description: Enable signature validation for SAML responses. type: boolean shorthand_fields: session_auth_ttl: type: number session_compressor: type: string session_cookie_httponly: type: boolean session_cookie_idletime: type: number session_cookie_lifetime: type: number session_cookie_maxsize: type: integer session_cookie_renew: type: number session_cookie_samesite: type: string session_memcache_host: type: string session_memcache_port: type: integer session_memcache_prefix: type: string session_memcache_socket: type: string session_redis_cluster_maxredirections: type: integer session_strategy: type: string type: object name: const: saml type: string Service: properties: ca_certificates: description: Array of `CA Certificate` object UUIDs that are used to build the trust store while verifying upstream server's TLS certificate. If set to `null` when Nginx default is respected. If default CA list in Nginx are not specified and TLS verification is enabled, then handshake with upstream server will always fail (because no CA are trusted). items: type: string type: array client_certificate: additionalProperties: false description: Certificate to be used as client certificate while TLS handshaking to the upstream server. properties: id: type: string type: object x-foreign: true connect_timeout: default: 60000 description: The timeout in milliseconds for establishing a connection to the upstream server. type: integer created_at: description: Unix epoch when the resource was created. readOnly: true type: integer enabled: default: true description: 'Whether the Service is active. If set to `false`, the proxy behavior will be as if any routes attached to it do not exist (404). Default: `true`.' type: boolean host: description: The host of the upstream server. Note that the host value is case sensitive. type: string id: readOnly: true type: string name: description: The Service name. type: string path: description: The path to be used in requests to the upstream server. type: string port: default: 80 description: The upstream server port. type: integer protocol: default: http description: The protocol used to communicate with the upstream. enum: - grpc - grpcs - http - https - tcp - tls - tls_passthrough - udp - ws - wss type: string read_timeout: default: 60000 description: The timeout in milliseconds between two successive read operations for transmitting a request to the upstream server. type: integer retries: default: 5 description: The number of retries to execute upon failure to proxy. type: integer tags: description: An optional set of strings associated with the Service for grouping and filtering. items: type: string type: array tls_verify: description: Whether to enable verification of upstream server TLS certificate. If set to `null`, then the Nginx default is respected. type: boolean tls_verify_depth: description: Maximum depth of chain while verifying Upstream server's TLS certificate. If set to `null`, then the Nginx default is respected. type: integer updated_at: description: Unix epoch when the resource was last updated. readOnly: true type: integer url: description: Helper field to set `protocol`, `host`, `port` and `path` using a URL. This field is write-only and is not returned in responses. type: string writeOnly: true write_timeout: default: 60000 description: The timeout in milliseconds between two successive write operations for transmitting a request to the upstream server. type: integer type: object x-speakeasy-entity: Service Target: allOf: - $ref: '#/components/schemas/TargetWithoutParents' - properties: upstream: additionalProperties: false properties: id: type: string type: object x-foreign: true type: object x-speakeasy-entity: Target TargetWithoutParents: properties: created_at: description: Unix epoch when the resource was created. readOnly: true type: number id: readOnly: true type: string tags: description: An optional set of strings associated with the Target for grouping and filtering. items: type: string type: array target: description: The target address (ip or hostname) and port. If the hostname resolves to an SRV record, the `port` value will be overridden by the value from the DNS record. type: string updated_at: description: Unix epoch when the resource was last updated. readOnly: true type: number weight: default: 100 description: The weight this target gets within the upstream loadbalancer (`0`-`65535`). If the hostname resolves to an SRV record, the `weight` value will be overridden by the value from the DNS record. type: integer type: object x-speakeasy-entity: Target Upstream: properties: algorithm: default: round-robin description: Which load balancing algorithm to use. enum: - consistent-hashing - least-connections - round-robin - latency type: string client_certificate: additionalProperties: false description: If set, the certificate to be used as client certificate while TLS handshaking to the upstream server. properties: id: type: string type: object x-foreign: true created_at: description: Unix epoch when the resource was created. readOnly: true type: integer hash_fallback: default: none description: What to use as hashing input if the primary `hash_on` does not return a hash (eg. header is missing, or no Consumer identified). Not available if `hash_on` is set to `cookie`. enum: - none - consumer - ip - header - cookie - path - query_arg - uri_capture type: string hash_fallback_header: description: The header name to take the value from as hash input. Only required when `hash_fallback` is set to `header`. type: string hash_fallback_query_arg: description: The name of the query string argument to take the value from as hash input. Only required when `hash_fallback` is set to `query_arg`. type: string hash_fallback_uri_capture: description: The name of the route URI capture to take the value from as hash input. Only required when `hash_fallback` is set to `uri_capture`. type: string hash_on: default: none description: What to use as hashing input. Using `none` results in a weighted-round-robin scheme with no hashing. enum: - none - consumer - ip - header - cookie - path - query_arg - uri_capture type: string hash_on_cookie: description: The cookie name to take the value from as hash input. Only required when `hash_on` or `hash_fallback` is set to `cookie`. If the specified cookie is not in the request, Kong will generate a value and set the cookie in the response. type: string hash_on_cookie_path: default: / description: The cookie path to set in the response headers. Only required when `hash_on` or `hash_fallback` is set to `cookie`. type: string hash_on_header: description: The header name to take the value from as hash input. Only required when `hash_on` is set to `header`. type: string hash_on_query_arg: description: The name of the query string argument to take the value from as hash input. Only required when `hash_on` is set to `query_arg`. type: string hash_on_uri_capture: description: The name of the route URI capture to take the value from as hash input. Only required when `hash_on` is set to `uri_capture`. type: string healthchecks: properties: active: properties: concurrency: default: 10 type: integer headers: additionalProperties: true type: object healthy: properties: http_statuses: default: - 200 - 302 items: type: integer type: array interval: default: 0 type: number successes: default: 0 type: integer type: object http_path: default: / type: string https_sni: type: string https_verify_certificate: default: true type: boolean timeout: default: 1 type: number type: default: http enum: - tcp - http - https - grpc - grpcs type: string unhealthy: properties: http_failures: default: 0 type: integer http_statuses: default: - 429 - 404 - 500 - 501 - 502 - 503 - 504 - 505 items: type: integer type: array interval: default: 0 type: number tcp_failures: default: 0 type: integer timeouts: default: 0 type: integer type: object type: object passive: properties: healthy: properties: http_statuses: default: - 200 - 201 - 202 - 203 - 204 - 205 - 206 - 207 - 208 - 226 - 300 - 301 - 302 - 303 - 304 - 305 - 306 - 307 - 308 items: type: integer type: array successes: default: 0 type: integer type: object type: default: http enum: - tcp - http - https - grpc - grpcs type: string unhealthy: properties: http_failures: default: 0 type: integer http_statuses: default: - 429 - 500 - 503 items: type: integer type: array tcp_failures: default: 0 type: integer timeouts: default: 0 type: integer type: object type: object threshold: default: 0 type: number type: object host_header: description: The hostname to be used as `Host` header when proxying requests through Kong. type: string id: readOnly: true type: string name: description: This is a hostname, which must be equal to the `host` of a Service. type: string slots: default: 10000 description: The number of slots in the load balancer algorithm. If `algorithm` is set to `round-robin`, this setting determines the maximum number of slots. If `algorithm` is set to `consistent-hashing`, this setting determines the actual number of slots in the algorithm. Accepts an integer in the range `10`-`65536`. type: integer tags: description: An optional set of strings associated with the Upstream for grouping and filtering. items: type: string type: array updated_at: description: Unix epoch when the resource was last updated. readOnly: true type: integer use_srv_name: default: false description: If set, the balancer will use SRV hostname(if DNS Answer has SRV record) as the proxy upstream `Host`. type: boolean type: object x-speakeasy-entity: Upstream Vault: properties: config: description: The configuration properties for the Vault which can be found on the vaults' documentation page. type: object created_at: description: Unix epoch when the resource was created. readOnly: true type: integer description: description: The description of the Vault entity. type: string id: readOnly: true type: string name: description: The name of the Vault that's going to be added. Currently, the Vault implementation must be installed in every Kong instance. type: string prefix: description: The unique prefix (or identifier) for this Vault configuration. The prefix is used to load the right Vault configuration and implementation when referencing secrets with the other entities. type: string tags: description: An optional set of strings associated with the Vault for grouping and filtering. items: type: string type: array updated_at: description: Unix epoch when the resource was last updated. readOnly: true type: integer type: object x-speakeasy-entity: Vault externalDocs: description: Documentation for Kong Gateway and its APIs url: https://docs.konghq.com info: contact: email: support@konghq.com name: Kong Inc url: https://konghq.com description: |- OpenAPI 3.0 spec for Kong Gateway's Admin API. You can lean more about Kong Gateway at [docs.konghq.com](https://docs.konghq.com) .Give Kong a star at [Kong/kong](https://github.com/kong/kong) repository. license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html title: Kong Gateway Admin API version: 0.0.1 openapi: 3.1.0 paths: /acls: get: description: List all ACLs operationId: list-acl parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: "200": content: application/json: schema: properties: data: items: $ref: '#/components/schemas/ACL' type: array offset: $ref: '#/components/schemas/PaginationOffsetResponse' type: object description: A successful response listing ACLs "401": $ref: '#/components/responses/HTTP401Error' summary: List all ACLs tags: - ACLs post: description: Create a new ACL operationId: create-acl requestBody: content: application/json: schema: $ref: '#/components/schemas/ACL' description: Description of the new ACL for creation required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/ACL' description: Successfully created ACL "401": $ref: '#/components/responses/HTTP401Error' summary: Create a new ACL tags: - ACLs x-speakeasy-entity-operation: ACL#create /acls/{ACLId}: delete: description: Delete an ACL operationId: delete-acl parameters: - $ref: '#/components/parameters/ACLId' responses: "204": description: Successfully deleted ACL or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete an ACL tags: - ACLs x-speakeasy-entity-operation: ACL#delete get: description: Get an ACL using ID. operationId: get-acl parameters: - $ref: '#/components/parameters/ACLId' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ACL' description: Successfully fetched ACL "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Fetch an ACL tags: - ACLs x-speakeasy-entity-operation: ACL#read patch: description: Update an ACL operationId: update-acl parameters: - $ref: '#/components/parameters/ACLId' requestBody: content: application/json: schema: $ref: '#/components/schemas/ACL' description: Fields of the ACL that need to be updated required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/ACL' description: Successfully updated ACL "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Update an ACL tags: - ACLs x-speakeasy-entity-operation: ACL#update put: description: Create or Update ACL using ID. operationId: upsert-acl parameters: - $ref: '#/components/parameters/ACLId' requestBody: content: application/json: schema: $ref: '#/components/schemas/ACL' description: Description of the ACL required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/ACL' description: Successfully upserted ACL "401": $ref: '#/components/responses/HTTP401Error' summary: Upsert a ACL tags: - ACLs /basic-auths: get: description: List all Basic-auth credentials operationId: list-basic-auth parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: "200": content: application/json: schema: properties: data: items: $ref: '#/components/schemas/BasicAuth' type: array offset: $ref: '#/components/schemas/PaginationOffsetResponse' type: object description: A successful response listing Basic-auth credentials "401": $ref: '#/components/responses/HTTP401Error' summary: List all Basic-auth credentials tags: - Basic-auth credentials post: description: Create a new Basic-auth credential operationId: create-basic-auth requestBody: content: application/json: schema: $ref: '#/components/schemas/BasicAuth' description: Description of the new Basic-auth credential for creation required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/BasicAuth' description: Successfully created Basic-auth credential "401": $ref: '#/components/responses/HTTP401Error' summary: Create a new Basic-auth credential tags: - Basic-auth credentials x-speakeasy-entity-operation: BasicAuth#create /basic-auths/{BasicAuthId}: delete: description: Delete a Basic-auth credential operationId: delete-basic-auth parameters: - $ref: '#/components/parameters/BasicAuthId' responses: "204": description: Successfully deleted Basic-auth credential or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a Basic-auth credential tags: - Basic-auth credentials x-speakeasy-entity-operation: BasicAuth#delete get: description: Get a Basic-auth credential using ID. operationId: get-basic-auth parameters: - $ref: '#/components/parameters/BasicAuthId' responses: "200": content: application/json: schema: $ref: '#/components/schemas/BasicAuth' description: Successfully fetched Basic-auth credential "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Fetch a Basic-auth credential tags: - Basic-auth credentials x-speakeasy-entity-operation: BasicAuth#read patch: description: Update a Basic-auth credential operationId: update-basic-auth parameters: - $ref: '#/components/parameters/BasicAuthId' requestBody: content: application/json: schema: $ref: '#/components/schemas/BasicAuth' description: Fields of the Basic-auth credential that need to be updated required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/BasicAuth' description: Successfully updated Basic-auth credential "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Update a Basic-auth credential tags: - Basic-auth credentials x-speakeasy-entity-operation: BasicAuth#update put: description: Create or Update Basic-auth credential using ID. operationId: upsert-basic-auth parameters: - $ref: '#/components/parameters/BasicAuthId' requestBody: content: application/json: schema: $ref: '#/components/schemas/BasicAuth' description: Description of the Basic-auth credential required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/BasicAuth' description: Successfully upserted Basic-auth credential "401": $ref: '#/components/responses/HTTP401Error' summary: Upsert a Basic-auth credential tags: - Basic-auth credentials /ca_certificates: get: description: List all CA Certificates operationId: list-ca_certificate parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: "200": content: application/json: schema: properties: data: items: $ref: '#/components/schemas/CACertificate' type: array offset: $ref: '#/components/schemas/PaginationOffsetResponse' type: object description: A successful response listing CA Certificates "401": $ref: '#/components/responses/HTTP401Error' summary: List all CA Certificates tags: - CA Certificates post: description: Create a new CA Certificate operationId: create-ca_certificate requestBody: content: application/json: schema: $ref: '#/components/schemas/CACertificate' description: Description of the new CA Certificate for creation required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/CACertificate' description: Successfully created CA Certificate "401": $ref: '#/components/responses/HTTP401Error' summary: Create a new CA Certificate tags: - CA Certificates x-speakeasy-entity-operation: CACertificate#create /ca_certificates/{CACertificateId}: delete: description: Delete a CA Certificate operationId: delete-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' summary: Delete a CA Certificate tags: - CA Certificates x-speakeasy-entity-operation: CACertificate#delete get: description: Get a CA Certificate using ID. operationId: get-ca_certificate parameters: - $ref: '#/components/parameters/CACertificateId' responses: "200": content: application/json: schema: $ref: '#/components/schemas/CACertificate' description: Successfully fetched CA Certificate "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Fetch a CA Certificate tags: - CA Certificates x-speakeasy-entity-operation: CACertificate#read patch: description: Update a CA Certificate operationId: update-ca_certificate parameters: - $ref: '#/components/parameters/CACertificateId' requestBody: content: application/json: schema: $ref: '#/components/schemas/CACertificate' description: Fields of the CA Certificate that need to be updated required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/CACertificate' description: Successfully updated CA Certificate "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Update a CA Certificate tags: - CA Certificates x-speakeasy-entity-operation: CACertificate#update put: description: Create or Update CA Certificate using ID. operationId: upsert-ca_certificate parameters: - $ref: '#/components/parameters/CACertificateId' requestBody: content: application/json: schema: $ref: '#/components/schemas/CACertificate' description: Description of the CA Certificate required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/CACertificate' description: Successfully upserted CA Certificate "401": $ref: '#/components/responses/HTTP401Error' summary: Upsert a CA Certificate tags: - CA Certificates /certificates: get: description: List all Certificates operationId: list-certificate parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: "200": content: application/json: schema: properties: data: items: $ref: '#/components/schemas/Certificate' type: array offset: $ref: '#/components/schemas/PaginationOffsetResponse' type: object description: A successful response listing Certificates "401": $ref: '#/components/responses/HTTP401Error' summary: List all Certificates tags: - Certificates post: description: Create a new Certificate operationId: create-certificate requestBody: content: application/json: schema: $ref: '#/components/schemas/Certificate' description: Description of the new Certificate for creation required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/Certificate' description: Successfully created Certificate "401": $ref: '#/components/responses/HTTP401Error' summary: Create a new Certificate tags: - Certificates x-speakeasy-entity-operation: Certificate#create /certificates/{CertificateId}: delete: description: Delete a Certificate operationId: delete-certificate parameters: - $ref: '#/components/parameters/CertificateId' responses: "204": description: Successfully deleted Certificate or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a Certificate tags: - Certificates x-speakeasy-entity-operation: Certificate#delete get: description: Get a Certificate using ID. operationId: get-certificate parameters: - $ref: '#/components/parameters/CertificateId' responses: "200": content: application/json: schema: $ref: '#/components/schemas/Certificate' description: Successfully fetched Certificate "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Fetch a Certificate tags: - Certificates x-speakeasy-entity-operation: Certificate#read patch: description: Update a Certificate operationId: update-certificate parameters: - $ref: '#/components/parameters/CertificateId' requestBody: content: application/json: schema: $ref: '#/components/schemas/Certificate' description: Fields of the Certificate that need to be updated required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Certificate' description: Successfully updated Certificate "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Update a Certificate tags: - Certificates x-speakeasy-entity-operation: Certificate#update put: description: Create or Update Certificate using ID. operationId: upsert-certificate parameters: - $ref: '#/components/parameters/CertificateId' requestBody: content: application/json: schema: $ref: '#/components/schemas/Certificate' description: Description of the Certificate required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Certificate' description: Successfully upserted Certificate "401": $ref: '#/components/responses/HTTP401Error' summary: Upsert a Certificate tags: - Certificates /consumer_groups: get: description: List all Consumer Groups operationId: list-consumer_group parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: "200": content: application/json: schema: properties: data: items: $ref: '#/components/schemas/ConsumerGroup' type: array offset: $ref: '#/components/schemas/PaginationOffsetResponse' type: object description: A successful response listing Consumer Groups "401": $ref: '#/components/responses/HTTP401Error' summary: List all Consumer Groups tags: - Consumer Groups post: description: Create a new Consumer Group operationId: create-consumer_group requestBody: content: application/json: schema: $ref: '#/components/schemas/ConsumerGroup' description: Description of the new Consumer Group for creation required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/ConsumerGroup' description: Successfully created Consumer Group "401": $ref: '#/components/responses/HTTP401Error' summary: Create a new Consumer Group tags: - Consumer Groups x-speakeasy-entity-operation: ConsumerGroup#create /consumer_groups/{ConsumerGroupId}: delete: description: Delete a Consumer Group operationId: delete-consumer_group parameters: - $ref: '#/components/parameters/ConsumerGroupId' responses: "204": description: Successfully deleted Consumer Group or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a Consumer Group tags: - Consumer Groups x-speakeasy-entity-operation: ConsumerGroup#delete get: description: Get a Consumer Group using ID. operationId: get-consumer_group parameters: - $ref: '#/components/parameters/ConsumerGroupId' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ConsumerGroup' description: Successfully fetched Consumer Group "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Fetch a Consumer Group tags: - Consumer Groups x-speakeasy-entity-operation: ConsumerGroup#read patch: description: Update a Consumer Group operationId: update-consumer_group parameters: - $ref: '#/components/parameters/ConsumerGroupId' requestBody: content: application/json: schema: $ref: '#/components/schemas/ConsumerGroup' description: Fields of the Consumer Group that need to be updated required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/ConsumerGroup' description: Successfully updated Consumer Group "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Update a Consumer Group tags: - Consumer Groups x-speakeasy-entity-operation: ConsumerGroup#update put: description: Create or Update Consumer Group using ID. operationId: upsert-consumer_group parameters: - $ref: '#/components/parameters/ConsumerGroupId' requestBody: content: application/json: schema: $ref: '#/components/schemas/ConsumerGroup' description: Description of the Consumer Group required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/ConsumerGroup' description: Successfully upserted Consumer Group "401": $ref: '#/components/responses/HTTP401Error' summary: Upsert a Consumer Group tags: - Consumer Groups /consumers: get: description: List all Consumers operationId: list-consumer parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: "200": content: application/json: schema: properties: data: items: $ref: '#/components/schemas/Consumer' type: array offset: $ref: '#/components/schemas/PaginationOffsetResponse' type: object description: A successful response listing Consumers "401": $ref: '#/components/responses/HTTP401Error' summary: List all Consumers tags: - Consumers post: description: Create a new Consumer operationId: create-consumer requestBody: content: application/json: schema: $ref: '#/components/schemas/Consumer' description: Description of the new Consumer for creation required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/Consumer' description: Successfully created Consumer "401": $ref: '#/components/responses/HTTP401Error' summary: Create a new Consumer tags: - Consumers x-speakeasy-entity-operation: Consumer#create /consumers/{ConsumerIdOrUsername}: delete: description: Delete a Consumer operationId: delete-consumer parameters: - $ref: '#/components/parameters/ConsumerIdOrUsername' responses: "204": description: Successfully deleted Consumer or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a Consumer tags: - Consumers x-speakeasy-entity-operation: Consumer#delete get: description: Get a Consumer using ID or username. operationId: get-consumer parameters: - $ref: '#/components/parameters/ConsumerIdOrUsername' responses: "200": content: application/json: schema: $ref: '#/components/schemas/Consumer' description: Successfully fetched Consumer "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Fetch a Consumer tags: - Consumers x-speakeasy-entity-operation: Consumer#read patch: description: Update a Consumer operationId: update-consumer parameters: - $ref: '#/components/parameters/ConsumerIdOrUsername' requestBody: content: application/json: schema: $ref: '#/components/schemas/Consumer' description: Fields of the Consumer that need to be updated required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Consumer' description: Successfully updated Consumer "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Update a Consumer tags: - Consumers x-speakeasy-entity-operation: Consumer#update put: description: Create or Update Consumer using ID or username. operationId: upsert-consumer parameters: - $ref: '#/components/parameters/ConsumerIdOrUsername' requestBody: content: application/json: schema: $ref: '#/components/schemas/Consumer' description: Description of the Consumer required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Consumer' description: Successfully upserted Consumer "401": $ref: '#/components/responses/HTTP401Error' summary: Upsert a Consumer tags: - Consumers /hmac-auths: get: description: List all HMAC-auth credentials operationId: list-hmac-auth parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: "200": content: application/json: schema: properties: data: items: $ref: '#/components/schemas/HMACAuth' type: array offset: $ref: '#/components/schemas/PaginationOffsetResponse' type: object description: A successful response listing HMAC-auth credentials "401": $ref: '#/components/responses/HTTP401Error' summary: List all HMAC-auth credentials tags: - HMAC-auth credentials post: description: Create a new HMAC-auth credential operationId: create-hmac-auth requestBody: content: application/json: schema: $ref: '#/components/schemas/HMACAuth' description: Description of the new HMAC-auth credential for creation required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/HMACAuth' description: Successfully created HMAC-auth credential "401": $ref: '#/components/responses/HTTP401Error' summary: Create a new HMAC-auth credential tags: - HMAC-auth credentials x-speakeasy-entity-operation: HMACAuth#create /hmac-auths/{HMACAuthId}: delete: description: Delete a HMAC-auth credential operationId: delete-hmac-auth parameters: - $ref: '#/components/parameters/HMACAuthId' responses: "204": description: Successfully deleted HMAC-auth credential or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a HMAC-auth credential tags: - HMAC-auth credentials x-speakeasy-entity-operation: HMACAuth#delete get: description: Get a HMAC-auth credential using ID. operationId: get-hmac-auth parameters: - $ref: '#/components/parameters/HMACAuthId' responses: "200": content: application/json: schema: $ref: '#/components/schemas/HMACAuth' description: Successfully fetched HMAC-auth credential "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Fetch a HMAC-auth credential tags: - HMAC-auth credentials x-speakeasy-entity-operation: HMACAuth#read patch: description: Update a HMAC-auth credential operationId: update-hmac-auth parameters: - $ref: '#/components/parameters/HMACAuthId' requestBody: content: application/json: schema: $ref: '#/components/schemas/HMACAuth' description: Fields of the HMAC-auth credential that need to be updated required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/HMACAuth' description: Successfully updated HMAC-auth credential "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Update a HMAC-auth credential tags: - HMAC-auth credentials x-speakeasy-entity-operation: HMACAuth#update put: description: Create or Update HMAC-auth credential using ID. operationId: upsert-hmac-auth parameters: - $ref: '#/components/parameters/HMACAuthId' requestBody: content: application/json: schema: $ref: '#/components/schemas/HMACAuth' description: Description of the HMAC-auth credential required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/HMACAuth' description: Successfully upserted HMAC-auth credential "401": $ref: '#/components/responses/HTTP401Error' summary: Upsert a HMAC-auth credential tags: - HMAC-auth credentials /jwts: get: description: List all JWTs operationId: list-jwt parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: "200": content: application/json: schema: properties: data: items: $ref: '#/components/schemas/JWT' type: array offset: $ref: '#/components/schemas/PaginationOffsetResponse' type: object description: A successful response listing JWTs "401": $ref: '#/components/responses/HTTP401Error' summary: List all JWTs tags: - JWTs post: description: Create a new JWT operationId: create-jwt requestBody: content: application/json: schema: $ref: '#/components/schemas/JWT' description: Description of the new JWT for creation required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/JWT' description: Successfully created JWT "401": $ref: '#/components/responses/HTTP401Error' summary: Create a new JWT tags: - JWTs x-speakeasy-entity-operation: JWT#create /jwts/{JWTId}: delete: description: Delete a JWT operationId: delete-jwt parameters: - $ref: '#/components/parameters/JWTId' responses: "204": description: Successfully deleted JWT or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a JWT tags: - JWTs x-speakeasy-entity-operation: JWT#delete get: description: Get a JWT using ID. operationId: get-jwt parameters: - $ref: '#/components/parameters/JWTId' responses: "200": content: application/json: schema: $ref: '#/components/schemas/JWT' description: Successfully fetched JWT "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Fetch a JWT tags: - JWTs x-speakeasy-entity-operation: JWT#read patch: description: Update a JWT operationId: update-jwt parameters: - $ref: '#/components/parameters/JWTId' requestBody: content: application/json: schema: $ref: '#/components/schemas/JWT' description: Fields of the JWT that need to be updated required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/JWT' description: Successfully updated JWT "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Update a JWT tags: - JWTs x-speakeasy-entity-operation: JWT#update put: description: Create or Update JWT using ID. operationId: upsert-jwt parameters: - $ref: '#/components/parameters/JWTId' requestBody: content: application/json: schema: $ref: '#/components/schemas/JWT' description: Description of the JWT required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/JWT' description: Successfully upserted JWT "401": $ref: '#/components/responses/HTTP401Error' summary: Upsert a JWT tags: - JWTs /key-auths: get: description: List all API-keys operationId: list-key-auth parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: "200": content: application/json: schema: properties: data: items: $ref: '#/components/schemas/KeyAuth' type: array offset: $ref: '#/components/schemas/PaginationOffsetResponse' type: object description: A successful response listing API-keys "401": $ref: '#/components/responses/HTTP401Error' summary: List all API-keys tags: - API-keys post: description: Create a new API-key operationId: create-key-auth requestBody: content: application/json: schema: $ref: '#/components/schemas/KeyAuth' description: Description of the new API-key for creation required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/KeyAuth' description: Successfully created API-key "401": $ref: '#/components/responses/HTTP401Error' summary: Create a new API-key tags: - API-keys x-speakeasy-entity-operation: KeyAuth#create /key-auths/{KeyAuthId}: delete: description: Delete an API-key operationId: delete-key-auth parameters: - $ref: '#/components/parameters/KeyAuthId' responses: "204": description: Successfully deleted API-key or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete an API-key tags: - API-keys x-speakeasy-entity-operation: KeyAuth#delete get: description: Get an API-key using ID. operationId: get-key-auth parameters: - $ref: '#/components/parameters/KeyAuthId' responses: "200": content: application/json: schema: $ref: '#/components/schemas/KeyAuth' description: Successfully fetched API-key "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Fetch an API-key tags: - API-keys x-speakeasy-entity-operation: KeyAuth#read patch: description: Update an API-key operationId: update-key-auth parameters: - $ref: '#/components/parameters/KeyAuthId' requestBody: content: application/json: schema: $ref: '#/components/schemas/KeyAuth' description: Fields of the API-key that need to be updated required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/KeyAuth' description: Successfully updated API-key "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Update an API-key tags: - API-keys x-speakeasy-entity-operation: KeyAuth#update put: description: Create or Update API-key using ID. operationId: upsert-key-auth parameters: - $ref: '#/components/parameters/KeyAuthId' requestBody: content: application/json: schema: $ref: '#/components/schemas/KeyAuth' description: Description of the API-key required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/KeyAuth' description: Successfully upserted API-key "401": $ref: '#/components/responses/HTTP401Error' summary: Upsert a API-key tags: - API-keys /key-sets: get: description: List all KeySets operationId: list-key-set parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: "200": content: application/json: schema: properties: data: items: $ref: '#/components/schemas/KeySet' type: array offset: $ref: '#/components/schemas/PaginationOffsetResponse' type: object description: A successful response listing KeySets "401": $ref: '#/components/responses/HTTP401Error' summary: List all KeySets tags: - KeySets post: description: Create a new KeySet operationId: create-key-set requestBody: content: application/json: schema: $ref: '#/components/schemas/KeySet' description: Description of the new KeySet for creation required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/KeySet' description: Successfully created KeySet "401": $ref: '#/components/responses/HTTP401Error' summary: Create a new KeySet tags: - KeySets x-speakeasy-entity-operation: KeySet#create /key-sets/{KeySetIdOrName}: delete: description: Delete a KeySet operationId: delete-key-set parameters: - $ref: '#/components/parameters/KeySetIdOrName' responses: "204": description: Successfully deleted KeySet or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a KeySet tags: - KeySets x-speakeasy-entity-operation: KeySet#delete get: description: Get a KeySet using ID or name. operationId: get-key-set parameters: - $ref: '#/components/parameters/KeySetIdOrName' responses: "200": content: application/json: schema: $ref: '#/components/schemas/KeySet' description: Successfully fetched KeySet "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Fetch a KeySet tags: - KeySets x-speakeasy-entity-operation: KeySet#read patch: description: Update a KeySet operationId: update-key-set parameters: - $ref: '#/components/parameters/KeySetIdOrName' requestBody: content: application/json: schema: $ref: '#/components/schemas/KeySet' description: Fields of the KeySet that need to be updated required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/KeySet' description: Successfully updated KeySet "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Update a KeySet tags: - KeySets x-speakeasy-entity-operation: KeySet#update put: description: Create or Update KeySet using ID or name. operationId: upsert-key-set parameters: - $ref: '#/components/parameters/KeySetIdOrName' requestBody: content: application/json: schema: $ref: '#/components/schemas/KeySet' description: Description of the KeySet required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/KeySet' description: Successfully upserted KeySet "401": $ref: '#/components/responses/HTTP401Error' summary: Upsert a KeySet tags: - KeySets /keys: get: description: List all Keys operationId: list-key parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: "200": content: application/json: schema: properties: data: items: $ref: '#/components/schemas/Key' type: array offset: $ref: '#/components/schemas/PaginationOffsetResponse' type: object description: A successful response listing Keys "401": $ref: '#/components/responses/HTTP401Error' summary: List all Keys tags: - Keys post: description: Create a new Key operationId: create-key requestBody: content: application/json: schema: $ref: '#/components/schemas/Key' description: Description of the new Key for creation required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/Key' description: Successfully created Key "401": $ref: '#/components/responses/HTTP401Error' summary: Create a new Key tags: - Keys x-speakeasy-entity-operation: Key#create /keys/{KeyIdOrName}: delete: description: Delete a Key operationId: delete-key parameters: - $ref: '#/components/parameters/KeyIdOrName' responses: "204": description: Successfully deleted Key or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a Key tags: - Keys x-speakeasy-entity-operation: Key#delete get: description: Get a Key using ID or name. operationId: get-key parameters: - $ref: '#/components/parameters/KeyIdOrName' responses: "200": content: application/json: schema: $ref: '#/components/schemas/Key' description: Successfully fetched Key "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Fetch a Key tags: - Keys x-speakeasy-entity-operation: Key#read patch: description: Update a Key operationId: update-key parameters: - $ref: '#/components/parameters/KeyIdOrName' requestBody: content: application/json: schema: $ref: '#/components/schemas/Key' description: Fields of the Key that need to be updated required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Key' description: Successfully updated Key "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Update a Key tags: - Keys x-speakeasy-entity-operation: Key#update put: description: Create or Update Key using ID or name. operationId: upsert-key parameters: - $ref: '#/components/parameters/KeyIdOrName' requestBody: content: application/json: schema: $ref: '#/components/schemas/Key' description: Description of the Key required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Key' description: Successfully upserted Key "401": $ref: '#/components/responses/HTTP401Error' summary: Upsert a Key tags: - Keys /plugins: get: description: List all Plugins operationId: list-plugin parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: "200": content: application/json: schema: properties: data: items: $ref: '#/components/schemas/Plugin' type: array offset: $ref: '#/components/schemas/PaginationOffsetResponse' type: object description: A successful response listing Plugins "401": $ref: '#/components/responses/HTTP401Error' summary: List all Plugins tags: - Plugins post: description: Create a new Plugin operationId: create-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/Plugin' description: Description of the new Plugin for creation required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/Plugin' description: Successfully created Plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a new Plugin tags: - Plugins /plugins#ACL: post: description: Create a ACL plugin operationId: create-acl-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateACLPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/ACLPlugin' description: Created ACL plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a ACL plugin tags: - Plugins x-speakeasy-entity-operation: PluginACL#create /plugins#AIPromptDecorator: post: description: Create a AIPromptDecorator plugin operationId: create-aipromptdecorator-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateAIPromptDecoratorPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/AIPromptDecoratorPlugin' description: Created AIPromptDecorator plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a AIPromptDecorator plugin tags: - Plugins x-speakeasy-entity-operation: PluginAIPromptDecorator#create /plugins#AIPromptGuard: post: description: Create a AIPromptGuard plugin operationId: create-aipromptguard-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateAIPromptGuardPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/AIPromptGuardPlugin' description: Created AIPromptGuard plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a AIPromptGuard plugin tags: - Plugins x-speakeasy-entity-operation: PluginAIPromptGuard#create /plugins#AIPromptTemplate: post: description: Create a AIPromptTemplate plugin operationId: create-aiprompttemplate-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateAIPromptTemplatePlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/AIPromptTemplatePlugin' description: Created AIPromptTemplate plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a AIPromptTemplate plugin tags: - Plugins x-speakeasy-entity-operation: PluginAIPromptTemplate#create /plugins#AIProxy: post: description: Create a AIProxy plugin operationId: create-aiproxy-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateAIProxyPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/AIProxyPlugin' description: Created AIProxy plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a AIProxy plugin tags: - Plugins x-speakeasy-entity-operation: PluginAIProxy#create /plugins#AWSLambda: post: description: Create a AWSLambda plugin operationId: create-awslambda-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateAWSLambdaPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/AWSLambdaPlugin' description: Created AWSLambda plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a AWSLambda plugin tags: - Plugins x-speakeasy-entity-operation: PluginAWSLambda#create /plugins#BasicAuth: post: description: Create a BasicAuth plugin operationId: create-basicauth-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateBasicAuthPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/BasicAuthPlugin' description: Created BasicAuth plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a BasicAuth plugin tags: - Plugins x-speakeasy-entity-operation: PluginBasicAuth#create /plugins#CORS: post: description: Create a CORS plugin operationId: create-cors-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCORSPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/CORSPlugin' description: Created CORS plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a CORS plugin tags: - Plugins x-speakeasy-entity-operation: PluginCORS#create /plugins#CorrelationId: post: description: Create a CorrelationId plugin operationId: create-correlationid-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCorrelationIdPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/CorrelationIdPlugin' description: Created CorrelationId plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a CorrelationId plugin tags: - Plugins x-speakeasy-entity-operation: PluginCorrelationId#create /plugins#FileLog: post: description: Create a FileLog plugin operationId: create-filelog-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateFileLogPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/FileLogPlugin' description: Created FileLog plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a FileLog plugin tags: - Plugins x-speakeasy-entity-operation: PluginFileLog#create /plugins#IpRestriction: post: description: Create a IpRestriction plugin operationId: create-iprestriction-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateIpRestrictionPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/IpRestrictionPlugin' description: Created IpRestriction plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a IpRestriction plugin tags: - Plugins x-speakeasy-entity-operation: PluginIpRestriction#create /plugins#JQ: post: description: Create a JQ plugin operationId: create-jq-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateJQPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/JQPlugin' description: Created JQ plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a JQ plugin tags: - Plugins x-speakeasy-entity-operation: PluginJQ#create /plugins#JWT: post: description: Create a JWT plugin operationId: create-jwt-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateJWTPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/JWTPlugin' description: Created JWT plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a JWT plugin tags: - Plugins x-speakeasy-entity-operation: PluginJWT#create /plugins#JWTSigner: post: description: Create a JWTSigner plugin operationId: create-jwtsigner-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateJWTSignerPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/JWTSignerPlugin' description: Created JWTSigner plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a JWTSigner plugin tags: - Plugins x-speakeasy-entity-operation: PluginJWTSigner#create /plugins#KeyAuth: post: description: Create a KeyAuth plugin operationId: create-keyauth-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateKeyAuthPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/KeyAuthPlugin' description: Created KeyAuth plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a KeyAuth plugin tags: - Plugins x-speakeasy-entity-operation: PluginKeyAuth#create /plugins#Oauth2: post: description: Create a Oauth2 plugin operationId: create-oauth2-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateOauth2Plugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/Oauth2Plugin' description: Created Oauth2 plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a Oauth2 plugin tags: - Plugins x-speakeasy-entity-operation: PluginOauth2#create /plugins#OpenidConnect: post: description: Create a OpenidConnect plugin operationId: create-openidconnect-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateOpenidConnectPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/OpenidConnectPlugin' description: Created OpenidConnect plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a OpenidConnect plugin tags: - Plugins x-speakeasy-entity-operation: PluginOpenidConnect#create /plugins#Opentelemetry: post: description: Create a Opentelemetry plugin operationId: create-opentelemetry-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateOpentelemetryPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/OpentelemetryPlugin' description: Created Opentelemetry plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a Opentelemetry plugin tags: - Plugins x-speakeasy-entity-operation: PluginOpentelemetry#create /plugins#PreFunction: post: description: Create a PreFunction plugin operationId: create-prefunction-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreatePreFunctionPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/PreFunctionPlugin' description: Created PreFunction plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a PreFunction plugin tags: - Plugins x-speakeasy-entity-operation: PluginPreFunction#create /plugins#Prometheus: post: description: Create a Prometheus plugin operationId: create-prometheus-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreatePrometheusPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/PrometheusPlugin' description: Created Prometheus plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a Prometheus plugin tags: - Plugins x-speakeasy-entity-operation: PluginPrometheus#create /plugins#ProxyCache: post: description: Create a ProxyCache plugin operationId: create-proxycache-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateProxyCachePlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/ProxyCachePlugin' description: Created ProxyCache plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a ProxyCache plugin tags: - Plugins x-speakeasy-entity-operation: PluginProxyCache#create /plugins#RateLimiting: post: description: Create a RateLimiting plugin operationId: create-ratelimiting-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRateLimitingPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/RateLimitingPlugin' description: Created RateLimiting plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a RateLimiting plugin tags: - Plugins x-speakeasy-entity-operation: PluginRateLimiting#create /plugins#RateLimitingAdvanced: post: description: Create a RateLimitingAdvanced plugin operationId: create-ratelimitingadvanced-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRateLimitingAdvancedPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/RateLimitingAdvancedPlugin' description: Created RateLimitingAdvanced plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a RateLimitingAdvanced plugin tags: - Plugins x-speakeasy-entity-operation: PluginRateLimitingAdvanced#create /plugins#RequestTermination: post: description: Create a RequestTermination plugin operationId: create-requesttermination-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRequestTerminationPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/RequestTerminationPlugin' description: Created RequestTermination plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a RequestTermination plugin tags: - Plugins x-speakeasy-entity-operation: PluginRequestTermination#create /plugins#RequestTransformer: post: description: Create a RequestTransformer plugin operationId: create-requesttransformer-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRequestTransformerPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/RequestTransformerPlugin' description: Created RequestTransformer plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a RequestTransformer plugin tags: - Plugins x-speakeasy-entity-operation: PluginRequestTransformer#create /plugins#RequestTransformerAdvanced: post: description: Create a RequestTransformerAdvanced plugin operationId: create-requesttransformeradvanced-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRequestTransformerAdvancedPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/RequestTransformerAdvancedPlugin' description: Created RequestTransformerAdvanced plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a RequestTransformerAdvanced plugin tags: - Plugins x-speakeasy-entity-operation: PluginRequestTransformerAdvanced#create /plugins#ResponseTransformer: post: description: Create a ResponseTransformer plugin operationId: create-responsetransformer-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateResponseTransformerPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/ResponseTransformerPlugin' description: Created ResponseTransformer plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a ResponseTransformer plugin tags: - Plugins x-speakeasy-entity-operation: PluginResponseTransformer#create /plugins#ResponseTransformerAdvanced: post: description: Create a ResponseTransformerAdvanced plugin operationId: create-responsetransformeradvanced-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateResponseTransformerAdvancedPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/ResponseTransformerAdvancedPlugin' description: Created ResponseTransformerAdvanced plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a ResponseTransformerAdvanced plugin tags: - Plugins x-speakeasy-entity-operation: PluginResponseTransformerAdvanced#create /plugins#Saml: post: description: Create a Saml plugin operationId: create-saml-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateSamlPlugin' responses: "201": content: application/json: schema: $ref: '#/components/schemas/SamlPlugin' description: Created Saml plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Create a Saml plugin tags: - Plugins x-speakeasy-entity-operation: PluginSaml#create /plugins/{PluginId}: delete: description: Delete a Plugin operationId: delete-plugin parameters: - $ref: '#/components/parameters/PluginId' responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a Plugin tags: - Plugins get: description: Get a Plugin using ID. operationId: get-plugin parameters: - $ref: '#/components/parameters/PluginId' responses: "200": content: application/json: schema: $ref: '#/components/schemas/Plugin' description: Successfully fetched Plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Fetch a Plugin tags: - Plugins patch: description: Update a Plugin operationId: update-plugin parameters: - $ref: '#/components/parameters/PluginId' requestBody: content: application/json: schema: $ref: '#/components/schemas/Plugin' description: Fields of the Plugin that need to be updated required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Plugin' description: Successfully updated Plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Update a Plugin tags: - Plugins put: description: Create or Update Plugin using ID. operationId: upsert-plugin parameters: - $ref: '#/components/parameters/PluginId' requestBody: content: application/json: schema: $ref: '#/components/schemas/Plugin' description: Description of the Plugin required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Plugin' description: Successfully upserted Plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Upsert a Plugin tags: - Plugins /plugins/{PluginId}#ACL: delete: description: Delete a ACL plugin operationId: delete-acl-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a ACL plugin tags: - Plugins x-speakeasy-entity-operation: PluginACL#delete get: description: Get a ACL plugin operationId: get-acl-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/ACLPlugin' description: ACL plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a ACL plugin tags: - Plugins x-speakeasy-entity-operation: PluginACL#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a ACL plugin operationId: update-acl-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateACLPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ACLPlugin' description: ACL plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a ACL plugin tags: - Plugins x-speakeasy-entity-operation: PluginACL#update /plugins/{PluginId}#AIPromptDecorator: delete: description: Delete a AIPromptDecorator plugin operationId: delete-aipromptdecorator-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a AIPromptDecorator plugin tags: - Plugins x-speakeasy-entity-operation: PluginAIPromptDecorator#delete get: description: Get a AIPromptDecorator plugin operationId: get-aipromptdecorator-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/AIPromptDecoratorPlugin' description: AIPromptDecorator plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a AIPromptDecorator plugin tags: - Plugins x-speakeasy-entity-operation: PluginAIPromptDecorator#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a AIPromptDecorator plugin operationId: update-aipromptdecorator-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateAIPromptDecoratorPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/AIPromptDecoratorPlugin' description: AIPromptDecorator plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a AIPromptDecorator plugin tags: - Plugins x-speakeasy-entity-operation: PluginAIPromptDecorator#update /plugins/{PluginId}#AIPromptGuard: delete: description: Delete a AIPromptGuard plugin operationId: delete-aipromptguard-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a AIPromptGuard plugin tags: - Plugins x-speakeasy-entity-operation: PluginAIPromptGuard#delete get: description: Get a AIPromptGuard plugin operationId: get-aipromptguard-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/AIPromptGuardPlugin' description: AIPromptGuard plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a AIPromptGuard plugin tags: - Plugins x-speakeasy-entity-operation: PluginAIPromptGuard#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a AIPromptGuard plugin operationId: update-aipromptguard-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateAIPromptGuardPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/AIPromptGuardPlugin' description: AIPromptGuard plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a AIPromptGuard plugin tags: - Plugins x-speakeasy-entity-operation: PluginAIPromptGuard#update /plugins/{PluginId}#AIPromptTemplate: delete: description: Delete a AIPromptTemplate plugin operationId: delete-aiprompttemplate-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a AIPromptTemplate plugin tags: - Plugins x-speakeasy-entity-operation: PluginAIPromptTemplate#delete get: description: Get a AIPromptTemplate plugin operationId: get-aiprompttemplate-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/AIPromptTemplatePlugin' description: AIPromptTemplate plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a AIPromptTemplate plugin tags: - Plugins x-speakeasy-entity-operation: PluginAIPromptTemplate#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a AIPromptTemplate plugin operationId: update-aiprompttemplate-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateAIPromptTemplatePlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/AIPromptTemplatePlugin' description: AIPromptTemplate plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a AIPromptTemplate plugin tags: - Plugins x-speakeasy-entity-operation: PluginAIPromptTemplate#update /plugins/{PluginId}#AIProxy: delete: description: Delete a AIProxy plugin operationId: delete-aiproxy-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a AIProxy plugin tags: - Plugins x-speakeasy-entity-operation: PluginAIProxy#delete get: description: Get a AIProxy plugin operationId: get-aiproxy-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/AIProxyPlugin' description: AIProxy plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a AIProxy plugin tags: - Plugins x-speakeasy-entity-operation: PluginAIProxy#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a AIProxy plugin operationId: update-aiproxy-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateAIProxyPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/AIProxyPlugin' description: AIProxy plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a AIProxy plugin tags: - Plugins x-speakeasy-entity-operation: PluginAIProxy#update /plugins/{PluginId}#AWSLambda: delete: description: Delete a AWSLambda plugin operationId: delete-awslambda-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a AWSLambda plugin tags: - Plugins x-speakeasy-entity-operation: PluginAWSLambda#delete get: description: Get a AWSLambda plugin operationId: get-awslambda-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/AWSLambdaPlugin' description: AWSLambda plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a AWSLambda plugin tags: - Plugins x-speakeasy-entity-operation: PluginAWSLambda#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a AWSLambda plugin operationId: update-awslambda-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateAWSLambdaPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/AWSLambdaPlugin' description: AWSLambda plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a AWSLambda plugin tags: - Plugins x-speakeasy-entity-operation: PluginAWSLambda#update /plugins/{PluginId}#BasicAuth: delete: description: Delete a BasicAuth plugin operationId: delete-basicauth-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a BasicAuth plugin tags: - Plugins x-speakeasy-entity-operation: PluginBasicAuth#delete get: description: Get a BasicAuth plugin operationId: get-basicauth-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/BasicAuthPlugin' description: BasicAuth plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a BasicAuth plugin tags: - Plugins x-speakeasy-entity-operation: PluginBasicAuth#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a BasicAuth plugin operationId: update-basicauth-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateBasicAuthPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/BasicAuthPlugin' description: BasicAuth plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a BasicAuth plugin tags: - Plugins x-speakeasy-entity-operation: PluginBasicAuth#update /plugins/{PluginId}#CORS: delete: description: Delete a CORS plugin operationId: delete-cors-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a CORS plugin tags: - Plugins x-speakeasy-entity-operation: PluginCORS#delete get: description: Get a CORS plugin operationId: get-cors-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/CORSPlugin' description: CORS plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a CORS plugin tags: - Plugins x-speakeasy-entity-operation: PluginCORS#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a CORS plugin operationId: update-cors-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCORSPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/CORSPlugin' description: CORS plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a CORS plugin tags: - Plugins x-speakeasy-entity-operation: PluginCORS#update /plugins/{PluginId}#CorrelationId: delete: description: Delete a CorrelationId plugin operationId: delete-correlationid-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a CorrelationId plugin tags: - Plugins x-speakeasy-entity-operation: PluginCorrelationId#delete get: description: Get a CorrelationId plugin operationId: get-correlationid-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/CorrelationIdPlugin' description: CorrelationId plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a CorrelationId plugin tags: - Plugins x-speakeasy-entity-operation: PluginCorrelationId#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a CorrelationId plugin operationId: update-correlationid-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCorrelationIdPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/CorrelationIdPlugin' description: CorrelationId plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a CorrelationId plugin tags: - Plugins x-speakeasy-entity-operation: PluginCorrelationId#update /plugins/{PluginId}#FileLog: delete: description: Delete a FileLog plugin operationId: delete-filelog-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a FileLog plugin tags: - Plugins x-speakeasy-entity-operation: PluginFileLog#delete get: description: Get a FileLog plugin operationId: get-filelog-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/FileLogPlugin' description: FileLog plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a FileLog plugin tags: - Plugins x-speakeasy-entity-operation: PluginFileLog#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a FileLog plugin operationId: update-filelog-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateFileLogPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/FileLogPlugin' description: FileLog plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a FileLog plugin tags: - Plugins x-speakeasy-entity-operation: PluginFileLog#update /plugins/{PluginId}#IpRestriction: delete: description: Delete a IpRestriction plugin operationId: delete-iprestriction-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a IpRestriction plugin tags: - Plugins x-speakeasy-entity-operation: PluginIpRestriction#delete get: description: Get a IpRestriction plugin operationId: get-iprestriction-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/IpRestrictionPlugin' description: IpRestriction plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a IpRestriction plugin tags: - Plugins x-speakeasy-entity-operation: PluginIpRestriction#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a IpRestriction plugin operationId: update-iprestriction-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateIpRestrictionPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/IpRestrictionPlugin' description: IpRestriction plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a IpRestriction plugin tags: - Plugins x-speakeasy-entity-operation: PluginIpRestriction#update /plugins/{PluginId}#JQ: delete: description: Delete a JQ plugin operationId: delete-jq-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a JQ plugin tags: - Plugins x-speakeasy-entity-operation: PluginJQ#delete get: description: Get a JQ plugin operationId: get-jq-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/JQPlugin' description: JQ plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a JQ plugin tags: - Plugins x-speakeasy-entity-operation: PluginJQ#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a JQ plugin operationId: update-jq-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateJQPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/JQPlugin' description: JQ plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a JQ plugin tags: - Plugins x-speakeasy-entity-operation: PluginJQ#update /plugins/{PluginId}#JWT: delete: description: Delete a JWT plugin operationId: delete-jwt-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a JWT plugin tags: - Plugins x-speakeasy-entity-operation: PluginJWT#delete get: description: Get a JWT plugin operationId: get-jwt-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/JWTPlugin' description: JWT plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a JWT plugin tags: - Plugins x-speakeasy-entity-operation: PluginJWT#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a JWT plugin operationId: update-jwt-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateJWTPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/JWTPlugin' description: JWT plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a JWT plugin tags: - Plugins x-speakeasy-entity-operation: PluginJWT#update /plugins/{PluginId}#JWTSigner: delete: description: Delete a JWTSigner plugin operationId: delete-jwtsigner-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a JWTSigner plugin tags: - Plugins x-speakeasy-entity-operation: PluginJWTSigner#delete get: description: Get a JWTSigner plugin operationId: get-jwtsigner-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/JWTSignerPlugin' description: JWTSigner plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a JWTSigner plugin tags: - Plugins x-speakeasy-entity-operation: PluginJWTSigner#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a JWTSigner plugin operationId: update-jwtsigner-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateJWTSignerPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/JWTSignerPlugin' description: JWTSigner plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a JWTSigner plugin tags: - Plugins x-speakeasy-entity-operation: PluginJWTSigner#update /plugins/{PluginId}#KeyAuth: delete: description: Delete a KeyAuth plugin operationId: delete-keyauth-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a KeyAuth plugin tags: - Plugins x-speakeasy-entity-operation: PluginKeyAuth#delete get: description: Get a KeyAuth plugin operationId: get-keyauth-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/KeyAuthPlugin' description: KeyAuth plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a KeyAuth plugin tags: - Plugins x-speakeasy-entity-operation: PluginKeyAuth#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a KeyAuth plugin operationId: update-keyauth-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateKeyAuthPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/KeyAuthPlugin' description: KeyAuth plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a KeyAuth plugin tags: - Plugins x-speakeasy-entity-operation: PluginKeyAuth#update /plugins/{PluginId}#Oauth2: delete: description: Delete a Oauth2 plugin operationId: delete-oauth2-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a Oauth2 plugin tags: - Plugins x-speakeasy-entity-operation: PluginOauth2#delete get: description: Get a Oauth2 plugin operationId: get-oauth2-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/Oauth2Plugin' description: Oauth2 plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a Oauth2 plugin tags: - Plugins x-speakeasy-entity-operation: PluginOauth2#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a Oauth2 plugin operationId: update-oauth2-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateOauth2Plugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/Oauth2Plugin' description: Oauth2 plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a Oauth2 plugin tags: - Plugins x-speakeasy-entity-operation: PluginOauth2#update /plugins/{PluginId}#OpenidConnect: delete: description: Delete a OpenidConnect plugin operationId: delete-openidconnect-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a OpenidConnect plugin tags: - Plugins x-speakeasy-entity-operation: PluginOpenidConnect#delete get: description: Get a OpenidConnect plugin operationId: get-openidconnect-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/OpenidConnectPlugin' description: OpenidConnect plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a OpenidConnect plugin tags: - Plugins x-speakeasy-entity-operation: PluginOpenidConnect#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a OpenidConnect plugin operationId: update-openidconnect-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateOpenidConnectPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/OpenidConnectPlugin' description: OpenidConnect plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a OpenidConnect plugin tags: - Plugins x-speakeasy-entity-operation: PluginOpenidConnect#update /plugins/{PluginId}#Opentelemetry: delete: description: Delete a Opentelemetry plugin operationId: delete-opentelemetry-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a Opentelemetry plugin tags: - Plugins x-speakeasy-entity-operation: PluginOpentelemetry#delete get: description: Get a Opentelemetry plugin operationId: get-opentelemetry-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/OpentelemetryPlugin' description: Opentelemetry plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a Opentelemetry plugin tags: - Plugins x-speakeasy-entity-operation: PluginOpentelemetry#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a Opentelemetry plugin operationId: update-opentelemetry-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateOpentelemetryPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/OpentelemetryPlugin' description: Opentelemetry plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a Opentelemetry plugin tags: - Plugins x-speakeasy-entity-operation: PluginOpentelemetry#update /plugins/{PluginId}#PreFunction: delete: description: Delete a PreFunction plugin operationId: delete-prefunction-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a PreFunction plugin tags: - Plugins x-speakeasy-entity-operation: PluginPreFunction#delete get: description: Get a PreFunction plugin operationId: get-prefunction-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/PreFunctionPlugin' description: PreFunction plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a PreFunction plugin tags: - Plugins x-speakeasy-entity-operation: PluginPreFunction#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a PreFunction plugin operationId: update-prefunction-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreatePreFunctionPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/PreFunctionPlugin' description: PreFunction plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a PreFunction plugin tags: - Plugins x-speakeasy-entity-operation: PluginPreFunction#update /plugins/{PluginId}#Prometheus: delete: description: Delete a Prometheus plugin operationId: delete-prometheus-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a Prometheus plugin tags: - Plugins x-speakeasy-entity-operation: PluginPrometheus#delete get: description: Get a Prometheus plugin operationId: get-prometheus-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/PrometheusPlugin' description: Prometheus plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a Prometheus plugin tags: - Plugins x-speakeasy-entity-operation: PluginPrometheus#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a Prometheus plugin operationId: update-prometheus-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreatePrometheusPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/PrometheusPlugin' description: Prometheus plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a Prometheus plugin tags: - Plugins x-speakeasy-entity-operation: PluginPrometheus#update /plugins/{PluginId}#ProxyCache: delete: description: Delete a ProxyCache plugin operationId: delete-proxycache-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a ProxyCache plugin tags: - Plugins x-speakeasy-entity-operation: PluginProxyCache#delete get: description: Get a ProxyCache plugin operationId: get-proxycache-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/ProxyCachePlugin' description: ProxyCache plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a ProxyCache plugin tags: - Plugins x-speakeasy-entity-operation: PluginProxyCache#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a ProxyCache plugin operationId: update-proxycache-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateProxyCachePlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ProxyCachePlugin' description: ProxyCache plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a ProxyCache plugin tags: - Plugins x-speakeasy-entity-operation: PluginProxyCache#update /plugins/{PluginId}#RateLimiting: delete: description: Delete a RateLimiting plugin operationId: delete-ratelimiting-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a RateLimiting plugin tags: - Plugins x-speakeasy-entity-operation: PluginRateLimiting#delete get: description: Get a RateLimiting plugin operationId: get-ratelimiting-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/RateLimitingPlugin' description: RateLimiting plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a RateLimiting plugin tags: - Plugins x-speakeasy-entity-operation: PluginRateLimiting#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a RateLimiting plugin operationId: update-ratelimiting-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRateLimitingPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/RateLimitingPlugin' description: RateLimiting plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a RateLimiting plugin tags: - Plugins x-speakeasy-entity-operation: PluginRateLimiting#update /plugins/{PluginId}#RateLimitingAdvanced: delete: description: Delete a RateLimitingAdvanced plugin operationId: delete-ratelimitingadvanced-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a RateLimitingAdvanced plugin tags: - Plugins x-speakeasy-entity-operation: PluginRateLimitingAdvanced#delete get: description: Get a RateLimitingAdvanced plugin operationId: get-ratelimitingadvanced-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/RateLimitingAdvancedPlugin' description: RateLimitingAdvanced plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a RateLimitingAdvanced plugin tags: - Plugins x-speakeasy-entity-operation: PluginRateLimitingAdvanced#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a RateLimitingAdvanced plugin operationId: update-ratelimitingadvanced-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRateLimitingAdvancedPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/RateLimitingAdvancedPlugin' description: RateLimitingAdvanced plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a RateLimitingAdvanced plugin tags: - Plugins x-speakeasy-entity-operation: PluginRateLimitingAdvanced#update /plugins/{PluginId}#RequestTermination: delete: description: Delete a RequestTermination plugin operationId: delete-requesttermination-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a RequestTermination plugin tags: - Plugins x-speakeasy-entity-operation: PluginRequestTermination#delete get: description: Get a RequestTermination plugin operationId: get-requesttermination-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/RequestTerminationPlugin' description: RequestTermination plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a RequestTermination plugin tags: - Plugins x-speakeasy-entity-operation: PluginRequestTermination#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a RequestTermination plugin operationId: update-requesttermination-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRequestTerminationPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/RequestTerminationPlugin' description: RequestTermination plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a RequestTermination plugin tags: - Plugins x-speakeasy-entity-operation: PluginRequestTermination#update /plugins/{PluginId}#RequestTransformer: delete: description: Delete a RequestTransformer plugin operationId: delete-requesttransformer-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a RequestTransformer plugin tags: - Plugins x-speakeasy-entity-operation: PluginRequestTransformer#delete get: description: Get a RequestTransformer plugin operationId: get-requesttransformer-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/RequestTransformerPlugin' description: RequestTransformer plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a RequestTransformer plugin tags: - Plugins x-speakeasy-entity-operation: PluginRequestTransformer#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a RequestTransformer plugin operationId: update-requesttransformer-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRequestTransformerPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/RequestTransformerPlugin' description: RequestTransformer plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a RequestTransformer plugin tags: - Plugins x-speakeasy-entity-operation: PluginRequestTransformer#update /plugins/{PluginId}#RequestTransformerAdvanced: delete: description: Delete a RequestTransformerAdvanced plugin operationId: delete-requesttransformeradvanced-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a RequestTransformerAdvanced plugin tags: - Plugins x-speakeasy-entity-operation: PluginRequestTransformerAdvanced#delete get: description: Get a RequestTransformerAdvanced plugin operationId: get-requesttransformeradvanced-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/RequestTransformerAdvancedPlugin' description: RequestTransformerAdvanced plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a RequestTransformerAdvanced plugin tags: - Plugins x-speakeasy-entity-operation: PluginRequestTransformerAdvanced#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a RequestTransformerAdvanced plugin operationId: update-requesttransformeradvanced-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRequestTransformerAdvancedPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/RequestTransformerAdvancedPlugin' description: RequestTransformerAdvanced plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a RequestTransformerAdvanced plugin tags: - Plugins x-speakeasy-entity-operation: PluginRequestTransformerAdvanced#update /plugins/{PluginId}#ResponseTransformer: delete: description: Delete a ResponseTransformer plugin operationId: delete-responsetransformer-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a ResponseTransformer plugin tags: - Plugins x-speakeasy-entity-operation: PluginResponseTransformer#delete get: description: Get a ResponseTransformer plugin operationId: get-responsetransformer-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseTransformerPlugin' description: ResponseTransformer plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a ResponseTransformer plugin tags: - Plugins x-speakeasy-entity-operation: PluginResponseTransformer#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a ResponseTransformer plugin operationId: update-responsetransformer-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateResponseTransformerPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseTransformerPlugin' description: ResponseTransformer plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a ResponseTransformer plugin tags: - Plugins x-speakeasy-entity-operation: PluginResponseTransformer#update /plugins/{PluginId}#ResponseTransformerAdvanced: delete: description: Delete a ResponseTransformerAdvanced plugin operationId: delete-responsetransformeradvanced-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a ResponseTransformerAdvanced plugin tags: - Plugins x-speakeasy-entity-operation: PluginResponseTransformerAdvanced#delete get: description: Get a ResponseTransformerAdvanced plugin operationId: get-responsetransformeradvanced-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseTransformerAdvancedPlugin' description: ResponseTransformerAdvanced plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a ResponseTransformerAdvanced plugin tags: - Plugins x-speakeasy-entity-operation: PluginResponseTransformerAdvanced#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a ResponseTransformerAdvanced plugin operationId: update-responsetransformeradvanced-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateResponseTransformerAdvancedPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/ResponseTransformerAdvancedPlugin' description: ResponseTransformerAdvanced plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a ResponseTransformerAdvanced plugin tags: - Plugins x-speakeasy-entity-operation: PluginResponseTransformerAdvanced#update /plugins/{PluginId}#Saml: delete: description: Delete a Saml plugin operationId: delete-saml-plugin responses: "204": description: Successfully deleted Plugin or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a Saml plugin tags: - Plugins x-speakeasy-entity-operation: PluginSaml#delete get: description: Get a Saml plugin operationId: get-saml-plugin responses: "200": content: application/json: schema: $ref: '#/components/schemas/SamlPlugin' description: Saml plugin "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Get a Saml plugin tags: - Plugins x-speakeasy-entity-operation: PluginSaml#read parameters: - $ref: '#/components/parameters/PluginId' put: description: Update a Saml plugin operationId: update-saml-plugin requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateSamlPlugin' responses: "200": content: application/json: schema: $ref: '#/components/schemas/SamlPlugin' description: Saml plugin "401": $ref: '#/components/responses/HTTP401Error' summary: Update a Saml plugin tags: - Plugins x-speakeasy-entity-operation: PluginSaml#update /routes: get: description: List all Routes operationId: list-route parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: "200": content: application/json: schema: properties: data: items: $ref: '#/components/schemas/Route' type: array offset: $ref: '#/components/schemas/PaginationOffsetResponse' type: object description: A successful response listing Routes "401": $ref: '#/components/responses/HTTP401Error' summary: List all Routes tags: - Routes post: description: Create a new Route operationId: create-route requestBody: content: application/json: schema: $ref: '#/components/schemas/Route' description: Description of the new Route for creation required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/Route' description: Successfully created Route "401": $ref: '#/components/responses/HTTP401Error' summary: Create a new Route tags: - Routes x-speakeasy-entity-operation: Route#create /routes/{RouteIdOrName}: delete: description: Delete a Route operationId: delete-route parameters: - $ref: '#/components/parameters/RouteIdOrName' responses: "204": description: Successfully deleted Route or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a Route tags: - Routes x-speakeasy-entity-operation: Route#delete get: description: Get a Route using ID or name. operationId: get-route parameters: - $ref: '#/components/parameters/RouteIdOrName' responses: "200": content: application/json: schema: $ref: '#/components/schemas/Route' description: Successfully fetched Route "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Fetch a Route tags: - Routes x-speakeasy-entity-operation: Route#read patch: description: Update a Route operationId: update-route parameters: - $ref: '#/components/parameters/RouteIdOrName' requestBody: content: application/json: schema: $ref: '#/components/schemas/Route' description: Fields of the Route that need to be updated required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Route' description: Successfully updated Route "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Update a Route tags: - Routes x-speakeasy-entity-operation: Route#update put: description: Create or Update Route using ID or name. operationId: upsert-route parameters: - $ref: '#/components/parameters/RouteIdOrName' requestBody: content: application/json: schema: $ref: '#/components/schemas/Route' description: Description of the Route required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Route' description: Successfully upserted Route "401": $ref: '#/components/responses/HTTP401Error' summary: Upsert a Route tags: - Routes /schemas/plugins/{pluginName}: get: description: Get the schema for a plugin operationId: fetch-plugin-schema responses: "200": content: application/json: schema: properties: fields: items: additionalProperties: true type: object type: array type: object description: The schema for the plugin summary: Fetch plugin schema tags: - Plugins parameters: - description: The name of the plugin in: path name: pluginName required: true schema: type: string /services: get: description: List all Services operationId: list-service parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: "200": content: application/json: schema: properties: data: items: $ref: '#/components/schemas/Service' type: array offset: $ref: '#/components/schemas/PaginationOffsetResponse' type: object description: A successful response listing Services "401": $ref: '#/components/responses/HTTP401Error' summary: List all Services tags: - Services post: description: Create a new Service operationId: create-service requestBody: content: application/json: schema: $ref: '#/components/schemas/Service' description: Description of the new Service for creation required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/Service' description: Successfully created Service "401": $ref: '#/components/responses/HTTP401Error' summary: Create a new Service tags: - Services x-speakeasy-entity-operation: Service#create /services/{ServiceIdOrName}: delete: description: Delete a Service operationId: delete-service parameters: - $ref: '#/components/parameters/ServiceIdOrName' responses: "204": description: Successfully deleted Service or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a Service tags: - Services x-speakeasy-entity-operation: Service#delete get: description: Get a Service using ID or name. operationId: get-service parameters: - $ref: '#/components/parameters/ServiceIdOrName' responses: "200": content: application/json: schema: $ref: '#/components/schemas/Service' description: Successfully fetched Service "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Fetch a Service tags: - Services x-speakeasy-entity-operation: Service#read patch: description: Update a Service operationId: update-service parameters: - $ref: '#/components/parameters/ServiceIdOrName' requestBody: content: application/json: schema: $ref: '#/components/schemas/Service' description: Fields of the Service that need to be updated required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Service' description: Successfully updated Service "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Update a Service tags: - Services x-speakeasy-entity-operation: Service#update put: description: Create or Update Service using ID or name. operationId: upsert-service parameters: - $ref: '#/components/parameters/ServiceIdOrName' requestBody: content: application/json: schema: $ref: '#/components/schemas/Service' description: Description of the Service required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Service' description: Successfully upserted Service "401": $ref: '#/components/responses/HTTP401Error' summary: Upsert a Service tags: - Services /snis: get: description: List all SNIs operationId: list-sni parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: "200": content: application/json: schema: properties: data: items: $ref: '#/components/schemas/SNI' type: array offset: $ref: '#/components/schemas/PaginationOffsetResponse' type: object description: A successful response listing SNIs "401": $ref: '#/components/responses/HTTP401Error' summary: List all SNIs tags: - SNIs post: description: Create a new SNI operationId: create-sni requestBody: content: application/json: schema: $ref: '#/components/schemas/SNI' description: Description of the new SNI for creation required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/SNI' description: Successfully created SNI "401": $ref: '#/components/responses/HTTP401Error' summary: Create a new SNI tags: - SNIs x-speakeasy-entity-operation: SNI#create /snis/{SNIIdOrName}: delete: description: Delete an SNI operationId: delete-sni parameters: - $ref: '#/components/parameters/SNIIdOrName' responses: "204": description: Successfully deleted SNI or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete an SNI tags: - SNIs x-speakeasy-entity-operation: SNI#delete get: description: Get an SNI using ID or name. operationId: get-sni parameters: - $ref: '#/components/parameters/SNIIdOrName' responses: "200": content: application/json: schema: $ref: '#/components/schemas/SNI' description: Successfully fetched SNI "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Fetch an SNI tags: - SNIs x-speakeasy-entity-operation: SNI#read patch: description: Update an SNI operationId: update-sni parameters: - $ref: '#/components/parameters/SNIIdOrName' requestBody: content: application/json: schema: $ref: '#/components/schemas/SNI' description: Fields of the SNI that need to be updated required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/SNI' description: Successfully updated SNI "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Update an SNI tags: - SNIs x-speakeasy-entity-operation: SNI#update put: description: Create or Update SNI using ID or name. operationId: upsert-sni parameters: - $ref: '#/components/parameters/SNIIdOrName' requestBody: content: application/json: schema: $ref: '#/components/schemas/SNI' description: Description of the SNI required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/SNI' description: Successfully upserted SNI "401": $ref: '#/components/responses/HTTP401Error' summary: Upsert a SNI tags: - SNIs /upstreams: get: description: List all Upstreams operationId: list-upstream parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: "200": content: application/json: schema: properties: data: items: $ref: '#/components/schemas/Upstream' type: array offset: $ref: '#/components/schemas/PaginationOffsetResponse' type: object description: A successful response listing Upstreams "401": $ref: '#/components/responses/HTTP401Error' summary: List all Upstreams tags: - Upstreams post: description: Create a new Upstream operationId: create-upstream requestBody: content: application/json: schema: $ref: '#/components/schemas/Upstream' description: Description of the new Upstream for creation required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/Upstream' description: Successfully created Upstream "401": $ref: '#/components/responses/HTTP401Error' summary: Create a new Upstream tags: - Upstreams x-speakeasy-entity-operation: Upstream#create /upstreams/{UpstreamIdForTarget}/targets: get: description: List all Targets associated with a an Upstream operationId: list-target-with-upstream parameters: - $ref: '#/components/parameters/UpstreamIdForTarget' - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: "200": content: application/json: schema: properties: data: items: $ref: '#/components/schemas/Target' type: array offset: $ref: '#/components/schemas/PaginationOffsetResponse' type: object description: A successful response listing Targets summary: List all Targets associated with an Upstream tags: - Targets post: description: Create a new Target associated with an Upstream operationId: create-target-with-upstream parameters: - $ref: '#/components/parameters/UpstreamIdForTarget' requestBody: content: application/json: schema: $ref: '#/components/schemas/TargetWithoutParents' description: Description of new Target for creation required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/Target' description: Successfully created Target summary: Create a new Target associated with an Upstream tags: - Targets x-speakeasy-entity-operation: Target#create /upstreams/{UpstreamIdForTarget}/targets/{TargetIdOrTarget}: delete: description: Delete a a Target associated with a an Upstream using ID or target. operationId: delete-target-with-upstream parameters: - $ref: '#/components/parameters/UpstreamIdForTarget' - $ref: '#/components/parameters/TargetIdOrTarget' responses: "204": description: Successfully deleted Target or the resource didn't exist summary: Delete a a Target associated with a an Upstream tags: - Targets x-speakeasy-entity-operation: Target#delete get: description: Get a Target associated with an Upstream using ID or target. operationId: get-target-with-upstream parameters: - $ref: '#/components/parameters/UpstreamIdForTarget' - $ref: '#/components/parameters/TargetIdOrTarget' responses: "200": content: application/json: schema: $ref: '#/components/schemas/Target' description: Successfully fetched Target "404": description: Resource does not exist summary: Fetch a Target associated with an Upstream tags: - Targets x-speakeasy-entity-operation: Target#read patch: description: Update a a Target associated with a an Upstream using ID or target. operationId: update-target-with-upstream parameters: - $ref: '#/components/parameters/UpstreamIdForTarget' - $ref: '#/components/parameters/TargetIdOrTarget' requestBody: content: application/json: schema: $ref: '#/components/schemas/Target' description: Fields of the Target that need to be updated required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Target' description: Successfully updated Target "404": description: Resource does not exist summary: Update a a Target associated with a an Upstream tags: - Targets x-speakeasy-entity-operation: Target#update put: description: Create or Update a Target associated with an Upstream using ID or target. operationId: upsert-target-with-upstream parameters: - $ref: '#/components/parameters/UpstreamIdForTarget' - $ref: '#/components/parameters/TargetIdOrTarget' requestBody: content: application/json: schema: $ref: '#/components/schemas/TargetWithoutParents' description: Description of the Target required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Target' description: Successfully upserted Target summary: Upsert a Target associated with an Upstream tags: - Targets /upstreams/{UpstreamIdOrName}: delete: description: Delete an Upstream operationId: delete-upstream parameters: - $ref: '#/components/parameters/UpstreamIdOrName' responses: "204": description: Successfully deleted Upstream or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete an Upstream tags: - Upstreams x-speakeasy-entity-operation: Upstream#delete get: description: Get an Upstream using ID or name. operationId: get-upstream parameters: - $ref: '#/components/parameters/UpstreamIdOrName' responses: "200": content: application/json: schema: $ref: '#/components/schemas/Upstream' description: Successfully fetched Upstream "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Fetch an Upstream tags: - Upstreams x-speakeasy-entity-operation: Upstream#read patch: description: Update an Upstream operationId: update-upstream parameters: - $ref: '#/components/parameters/UpstreamIdOrName' requestBody: content: application/json: schema: $ref: '#/components/schemas/Upstream' description: Fields of the Upstream that need to be updated required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Upstream' description: Successfully updated Upstream "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Update an Upstream tags: - Upstreams x-speakeasy-entity-operation: Upstream#update put: description: Create or Update Upstream using ID or name. operationId: upsert-upstream parameters: - $ref: '#/components/parameters/UpstreamIdOrName' requestBody: content: application/json: schema: $ref: '#/components/schemas/Upstream' description: Description of the Upstream required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Upstream' description: Successfully upserted Upstream "401": $ref: '#/components/responses/HTTP401Error' summary: Upsert a Upstream tags: - Upstreams /vaults: get: description: List all Vaults operationId: list-vault parameters: - $ref: '#/components/parameters/PaginationSize' - $ref: '#/components/parameters/PaginationOffset' - $ref: '#/components/parameters/PaginationTagsFilter' responses: "200": content: application/json: schema: properties: data: items: $ref: '#/components/schemas/Vault' type: array offset: $ref: '#/components/schemas/PaginationOffsetResponse' type: object description: A successful response listing Vaults "401": $ref: '#/components/responses/HTTP401Error' summary: List all Vaults tags: - Vaults post: description: Create a new Vault operationId: create-vault requestBody: content: application/json: schema: $ref: '#/components/schemas/Vault' description: Description of the new Vault for creation required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/Vault' description: Successfully created Vault "401": $ref: '#/components/responses/HTTP401Error' summary: Create a new Vault tags: - Vaults x-speakeasy-entity-operation: Vault#create /vaults/{VaultIdOrPrefix}: delete: description: Delete a Vault operationId: delete-vault parameters: - $ref: '#/components/parameters/VaultIdOrPrefix' responses: "204": description: Successfully deleted Vault or the resource didn't exist "401": $ref: '#/components/responses/HTTP401Error' summary: Delete a Vault tags: - Vaults x-speakeasy-entity-operation: Vault#delete get: description: Get a Vault using ID or prefix. operationId: get-vault parameters: - $ref: '#/components/parameters/VaultIdOrPrefix' responses: "200": content: application/json: schema: $ref: '#/components/schemas/Vault' description: Successfully fetched Vault "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Fetch a Vault tags: - Vaults x-speakeasy-entity-operation: Vault#read patch: description: Update a Vault operationId: update-vault parameters: - $ref: '#/components/parameters/VaultIdOrPrefix' requestBody: content: application/json: schema: $ref: '#/components/schemas/Vault' description: Fields of the Vault that need to be updated required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Vault' description: Successfully updated Vault "401": $ref: '#/components/responses/HTTP401Error' "404": description: Resource does not exist summary: Update a Vault tags: - Vaults x-speakeasy-entity-operation: Vault#update put: description: Create or Update Vault using ID or prefix. operationId: upsert-vault parameters: - $ref: '#/components/parameters/VaultIdOrPrefix' requestBody: content: application/json: schema: $ref: '#/components/schemas/Vault' description: Description of the Vault required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/Vault' description: Successfully upserted Vault "401": $ref: '#/components/responses/HTTP401Error' summary: Upsert a Vault tags: - Vaults servers: - description: Default Admin API URL url: '{protocol}://{hostname}:{port}{path}' variables: hostname: default: localhost description: Hostname for Kong's Admin API path: default: / description: Base path for Kong's Admin API port: default: "8001" description: Port for Kong's Admin API protocol: default: http description: Protocol for requests to Kong's Admin API enum: - http - https tags: - description: | Service entities are abstractions of your microservice interfaces or formal APIs. For example, a service could be a data transformation microservice or a billing API.

The main attribute of a service is the destination URL for proxying traffic. This URL can be set as a single string or by specifying its protocol, host, port and path individually.

Services are associated to routes, and a single service can have many routes associated with it. Routes are entrypoints in Kong Gateway which define rules to match client requests. Once a route is matched, Kong Gateway proxies the request to its associated service. See the [Proxy Reference](https://docs.konghq.com/gateway/latest/how-kong-works/routing-traffic/) for a detailed explanation of how Kong proxies traffic.

Services can be both [tagged and filtered by tags](https://docs.konghq.com/gateway/latest/admin-api/#tags). name: Services - description: | Route entities define rules to match client requests. Each route is associated with a service, and a service may have multiple routes associated to it. Every request matching a given route will be proxied to the associated service. You need at least one matching rule that applies to the protocol being matched by the route.

The combination of routes and services, and the separation of concerns between them, offers a powerful routing mechanism with which it is possible to define fine-grained entrypoints in Kong Gateway leading to different upstream services of your infrastructure.

Depending on the protocol, one of the following attributes must be set:
- `http`: At least one of `methods`, `hosts`, `headers`, or `paths` - `https`: At least one of `methods`, `hosts`, `headers`, `paths`, or `snis` - `tcp`: At least one of `sources` or `destinations` - `tls`: at least one of `sources`, `destinations`, or `snis` - `tls_passthrough`: set `snis` - `grpc`: At least one of `hosts`, `headers`, or `paths` - `grpcs`: At least one of `hosts`, `headers`, `paths`, or `snis` - `ws`: At least one of `hosts`, `headers`, or `paths` - `wss`: At least one of `hosts`, `headers`, `paths`, or `snis`
A route can't have both `tls` and `tls_passthrough` protocols at same time.

Learn more about the router: - [Configure routes using expressions](https://docs.konghq.com/gateway/latest/key-concepts/routes/expressions) - [Router Expressions language reference](https://docs.konghq.com/gateway/latest/reference/router-expressions-language/) name: Routes - description: | A plugin entity represents a plugin configuration that will be executed during the HTTP request/response lifecycle. Plugins let you add functionality to services that run behind a Kong Gateway instance, like authentication or rate limiting. You can find more information about available plugins and which values each plugin accepts at the [Plugin Hub](https://docs.konghq.com/hub/).

When adding a plugin configuration to a service, the plugin will run on every request made by a client to that service. If a plugin needs to be tuned to different values for some specific consumers, you can do so by creating a separate plugin instance that specifies both the service and the consumer, through the service and consumer fields.

Plugins can be both [tagged and filtered by tags](https://docs.konghq.com/gateway/latest/admin-api/#tags). name: Plugins - description: | The consumer object represents a consumer - or a user - of a service. You can either rely on Kong Gateway as the primary datastore, or you can map the consumer list with your database to keep consistency between Kong Gateway and your existing primary datastore. name: Consumers - description: "Consumer groups enable the organization and categorization of consumers (users or applications) within an API ecosystem. \nBy grouping consumers together, you eliminate the need to manage them individually, providing a scalable, efficient approach to managing configurations." name: Consumer Groups - description: | A certificate object represents a public certificate, and can be optionally paired with the corresponding private key. These objects are used by Kong Gateway to handle SSL/TLS termination for encrypted requests, or for use as a trusted CA store when validating peer certificate of client/service.

Certificates are optionally associated with SNI objects to tie a cert/key pair to one or more hostnames.

If intermediate certificates are required in addition to the main certificate, they should be concatenated together into one string. name: Certificates - description: "An SNI object represents a many-to-one mapping of hostnames to a certificate. \n

\nA certificate object can have many hostnames associated with it. When Kong Gateway receives an SSL request, it uses the SNI field in the Client Hello to look up the certificate object based on the SNI associated with the certificate." name: SNIs - description: "A CA certificate object represents a trusted certificate authority. \nThese objects are used by Kong Gateway to verify the validity of a client or server certificate." name: CA Certificates - description: "The upstream object represents a virtual hostname and can be used to load balance incoming requests over multiple services (targets). \n

\nAn upstream also includes a [health checker](https://docs.konghq.com/gateway/latest/how-kong-works/health-checks/), which can enable and disable targets based on their ability or inability to serve requests. \nThe configuration for the health checker is stored in the upstream object, and applies to all of its targets." name: Upstreams - description: | Vault objects are used to configure different vault connectors for [managing secrets](https://docs.konghq.com/gateway/latest/kong-enterprise/secrets-management/). Configuring a vault lets you reference secrets from other entities. This allows for a proper separation of secrets and configuration and prevents secret sprawl.

For example, you could store a certificate and a key in a vault, then reference them from a certificate entity. This way, the certificate and key are not stored in the entity directly and are more secure.

Secrets rotation can be managed using [TTLs](https://docs.konghq.com/gateway/latest/kong-enterprise/secrets-management/advanced-usage/). name: Vaults - description: | A key object holds a representation of asymmetric keys in various formats. When Kong Gateway or a Kong plugin requires a specific public or private key to perform certain operations, it can use this entity. name: Keys - description: | A JSON Web key set. Key sets are the preferred way to expose keys to plugins because they tell the plugin where to look for keys or have a scoping mechanism to restrict plugins to specific keys. name: KeySets - name: API-keys - name: Basic-auth credentials - name: JWTs - name: HMAC-auth credentials - name: ACLs