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
ConsumerGroupIdManageConsumers:
in: path
name: ConsumerGroupId
required: true
schema:
type: string
x-speakeasy-name-override: consumer_group_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
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
always_use_authenticated_groups:
default: false
description: If enabled (`true`), the authenticated groups will always be used even when an authenticated consumer already exists. If the authenticated groups don't exist, it will fallback to use the groups associated with the consumer. By default the authenticated groups will only be used when there is no consumer or the consumer is anonymous.
type: boolean
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
AcmePlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/AcmePluginConfig'
x-speakeasy-entity: PluginAcme
AcmePluginConfig:
properties:
config:
properties:
account_email:
description: The account identifier. Can be reused in a different plugin instance.
pattern: '[a-zA-Z0-9]*[!-/:-@[-`{-~]*@+[a-zA-Z0-9]*%.?[a-zA-Z0-9]*'
type: string
account_key:
description: The private key associated with the account.
properties:
key_id:
description: The Key ID.
type: string
key_set:
description: The ID of the key set to associate the Key ID with.
type: string
required:
- key_id
type: object
allow_any_domain:
default: false
description: If set to `true`, the plugin allows all domains and ignores any values in the `domains` list.
type: boolean
api_uri:
default: https://acme-v02.api.letsencrypt.org/directory
description: A string representing a URL, such as https://example.com/path/to/resource?q=search.
type: string
cert_type:
default: rsa
description: The certificate type to create. The possible values are `'rsa'` for RSA certificate or `'ecc'` for EC certificate.
enum:
- rsa
- ecc
type: string
domains:
description: An array of strings representing hosts. A valid host is a string containing one or more labels separated by periods, with at most one wildcard label ('*')
items:
match_all:
pattern: ^[^*]*%*?[^*]*$
match_any:
patterns:
- ^%*%.
- '%.%*$'
- ^[^*]*$
type: string
type: array
eab_hmac_key:
description: External account binding (EAB) base64-encoded URL string of the HMAC key. You usually don't need to set this unless it is explicitly required by the CA.
type: string
eab_kid:
description: External account binding (EAB) key id. You usually don't need to set this unless it is explicitly required by the CA.
type: string
enable_ipv4_common_name:
default: true
description: A boolean value that controls whether to include the IPv4 address in the common name field of generated certificates.
type: boolean
fail_backoff_minutes:
default: 5
description: |-
Minutes to wait for each domain that fails to create a certificate. This applies to both a
new certificate and a renewal certificate.
type: number
preferred_chain:
description: A string value that specifies the preferred certificate chain to use when generating certificates.
type: string
renew_threshold_days:
default: 14
description: Days remaining to renew the certificate before it expires.
type: number
rsa_key_size:
default: 4096
description: RSA private key size for the certificate. The possible values are 2048, 3072, or 4096.
enum:
- 2048
- 3072
- 4096
type: integer
storage:
default: shm
description: The backend storage type to use. The possible values are `'kong'`, `'shm'`, `'redis'`, `'consul'`, or `'vault'`. In DB-less mode, `'kong'` storage is unavailable. Note that `'shm'` storage does not persist during Kong restarts and does not work for Kong running on different machines, so consider using one of `'kong'`, `'redis'`, `'consul'`, or `'vault'` in production. Please refer to the Hybrid Mode sections below as well.
enum:
- kong
- shm
- redis
- consul
- vault
type: string
storage_config:
properties:
consul:
properties:
host:
description: A string representing a host name, such as example.com.
type: string
https:
default: false
description: Boolean representation of https.
type: boolean
kv_path:
description: KV prefix path.
type: string
port:
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
timeout:
description: Timeout in milliseconds.
type: number
token:
description: Consul ACL token.
type: string
type: object
kong:
additionalProperties: true
type: object
redis:
properties:
database:
default: 0
description: Database to use for the Redis connection when using the `redis` strategy
type: integer
extra_options:
description: Custom ACME Redis options
properties:
namespace:
default: ""
description: A namespace to prepend to all keys stored in Redis.
type: string
scan_count:
default: 10
description: The number of keys to return in Redis SCAN calls.
type: number
type: object
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
shorthand_fields:
auth:
minLength: 0
translate_backwards:
- password
type: string
namespace:
minLength: 0
translate_backwards:
- extra_options
- namespace
type: string
scan_count:
translate_backwards:
- extra_options
- scan_count
type: integer
ssl_server_name:
translate_backwards:
- server_name
type: string
type: object
shm:
properties:
shm_name:
default: kong
description: Name of shared memory zone used for Kong API gateway storage
type: string
type: object
vault:
properties:
auth_method:
default: token
description: Auth Method, default to token, can be 'token' or 'kubernetes'.
enum:
- token
- kubernetes
type: string
auth_path:
description: Vault's authentication path to use.
type: string
auth_role:
description: The role to try and assign.
type: string
host:
description: A string representing a host name, such as example.com.
type: string
https:
default: false
description: Boolean representation of https.
type: boolean
jwt_path:
description: The path to the JWT.
type: string
kv_path:
description: KV prefix path.
type: string
port:
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
timeout:
description: Timeout in milliseconds.
type: number
tls_server_name:
description: SNI used in request, default to host if omitted.
type: string
tls_verify:
default: true
description: Turn on TLS verification.
type: boolean
token:
description: Consul ACL token.
type: string
type: object
type: object
tos_accepted:
default: false
description: If you are using Let's Encrypt, you must set this to `true` to agree the terms of service.
type: boolean
type: object
name:
const: acme
type: string
AiPromptDecoratorPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/AiPromptDecoratorPluginConfig'
x-speakeasy-entity: PluginAiPromptDecorator
AiPromptDecoratorPluginConfig:
properties:
config:
properties:
max_request_body_size:
default: 8192
description: max allowed body size allowed to be introspected
minimum: 0
type: integer
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
match_all_roles:
default: false
description: If true, will match all roles in addition to 'user' role in conversation history.
type: boolean
max_request_body_size:
default: 8192
description: max allowed body size allowed to be introspected
minimum: 0
type: integer
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
max_request_body_size:
default: 8192
description: max allowed body size allowed to be introspected
minimum: 0
type: integer
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:
allow_override:
default: false
description: If enabled, the authorization header or parameter can be overridden in the request by the value configured in the plugin.
type: boolean
aws_access_key_id:
description: Set this if you are using an AWS provider (Bedrock) and you are authenticating using static IAM User credentials. Setting this will override the AWS_ACCESS_KEY_ID environment variable for this plugin instance.
type: string
aws_secret_access_key:
description: Set this if you are using an AWS provider (Bedrock) and you are authenticating using static IAM User credentials. Setting this will override the AWS_SECRET_ACCESS_KEY environment variable for this plugin instance.
type: string
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
gcp_service_account_json:
description: Set this field to the full JSON of the GCP service account to authenticate, if required. If null (and gcp_use_service_account is true), Kong will attempt to read from environment variable `GCP_SERVICE_ACCOUNT`.
type: string
gcp_use_service_account:
default: false
description: Use service account auth for GCP-based providers and 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
max_request_body_size:
default: 8192
description: max allowed body size allowed to be introspected
minimum: 0
type: integer
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
bedrock:
properties:
aws_region:
description: If using AWS providers (Bedrock) you can override the `AWS_REGION` environment variable by setting this option.
type: string
type: object
gemini:
properties:
api_endpoint:
description: If running Gemini on Vertex, specify the regional API endpoint (hostname only).
type: string
location_id:
description: If running Gemini on Vertex, specify the location ID.
type: string
project_id:
description: If running Gemini on Vertex, specify the project ID.
type: string
type: object
input_cost:
description: Defines the cost per 1M tokens in your prompt.
minimum: 0
type: number
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
output_cost:
description: Defines the cost per 1M tokens in the output of the AI.
minimum: 0
type: number
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
- gemini
- bedrock
type: string
type: object
model_name_header:
default: true
description: Display the model name selected in the X-Kong-LLM-Model response header
type: boolean
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
AiRequestTransformerPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/AiRequestTransformerPluginConfig'
x-speakeasy-entity: PluginAiRequestTransformer
AiRequestTransformerPluginConfig:
properties:
config:
properties:
http_proxy_host:
description: A string representing a host name, such as example.com.
type: string
http_proxy_port:
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
http_timeout:
default: 60000
description: Timeout in milliseconds for the AI upstream service.
type: integer
https_proxy_host:
description: A string representing a host name, such as example.com.
type: string
https_proxy_port:
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
https_verify:
default: true
description: Verify the TLS certificate of the AI upstream service.
type: boolean
llm:
properties:
auth:
properties:
allow_override:
default: false
description: If enabled, the authorization header or parameter can be overridden in the request by the value configured in the plugin.
type: boolean
aws_access_key_id:
description: Set this if you are using an AWS provider (Bedrock) and you are authenticating using static IAM User credentials. Setting this will override the AWS_ACCESS_KEY_ID environment variable for this plugin instance.
type: string
aws_secret_access_key:
description: Set this if you are using an AWS provider (Bedrock) and you are authenticating using static IAM User credentials. Setting this will override the AWS_SECRET_ACCESS_KEY environment variable for this plugin instance.
type: string
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
gcp_service_account_json:
description: Set this field to the full JSON of the GCP service account to authenticate, if required. If null (and gcp_use_service_account is true), Kong will attempt to read from environment variable `GCP_SERVICE_ACCOUNT`.
type: string
gcp_use_service_account:
default: false
description: Use service account auth for GCP-based providers and 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
bedrock:
properties:
aws_region:
description: If using AWS providers (Bedrock) you can override the `AWS_REGION` environment variable by setting this option.
type: string
type: object
gemini:
properties:
api_endpoint:
description: If running Gemini on Vertex, specify the regional API endpoint (hostname only).
type: string
location_id:
description: If running Gemini on Vertex, specify the location ID.
type: string
project_id:
description: If running Gemini on Vertex, specify the project ID.
type: string
type: object
input_cost:
description: Defines the cost per 1M tokens in your prompt.
minimum: 0
type: number
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
output_cost:
description: Defines the cost per 1M tokens in the output of the AI.
minimum: 0
type: number
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
- gemini
- bedrock
type: string
type: object
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
max_request_body_size:
default: 8192
description: max allowed body size allowed to be introspected
minimum: 0
type: integer
prompt:
description: Use this prompt to tune the LLM system/assistant message for the incoming proxy request (from the client), and what you are expecting in return.
type: string
transformation_extract_pattern:
description: Defines the regular expression that must match to indicate a successful AI transformation at the request phase. The first match will be set as the outgoing body. If the AI service's response doesn't match this pattern, it is marked as a failure.
type: string
type: object
name:
const: ai-request-transformer
type: string
AiResponseTransformerPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/AiResponseTransformerPluginConfig'
x-speakeasy-entity: PluginAiResponseTransformer
AiResponseTransformerPluginConfig:
properties:
config:
properties:
http_proxy_host:
description: A string representing a host name, such as example.com.
type: string
http_proxy_port:
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
http_timeout:
default: 60000
description: Timeout in milliseconds for the AI upstream service.
type: integer
https_proxy_host:
description: A string representing a host name, such as example.com.
type: string
https_proxy_port:
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
https_verify:
default: true
description: Verify the TLS certificate of the AI upstream service.
type: boolean
llm:
properties:
auth:
properties:
allow_override:
default: false
description: If enabled, the authorization header or parameter can be overridden in the request by the value configured in the plugin.
type: boolean
aws_access_key_id:
description: Set this if you are using an AWS provider (Bedrock) and you are authenticating using static IAM User credentials. Setting this will override the AWS_ACCESS_KEY_ID environment variable for this plugin instance.
type: string
aws_secret_access_key:
description: Set this if you are using an AWS provider (Bedrock) and you are authenticating using static IAM User credentials. Setting this will override the AWS_SECRET_ACCESS_KEY environment variable for this plugin instance.
type: string
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
gcp_service_account_json:
description: Set this field to the full JSON of the GCP service account to authenticate, if required. If null (and gcp_use_service_account is true), Kong will attempt to read from environment variable `GCP_SERVICE_ACCOUNT`.
type: string
gcp_use_service_account:
default: false
description: Use service account auth for GCP-based providers and 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
bedrock:
properties:
aws_region:
description: If using AWS providers (Bedrock) you can override the `AWS_REGION` environment variable by setting this option.
type: string
type: object
gemini:
properties:
api_endpoint:
description: If running Gemini on Vertex, specify the regional API endpoint (hostname only).
type: string
location_id:
description: If running Gemini on Vertex, specify the location ID.
type: string
project_id:
description: If running Gemini on Vertex, specify the project ID.
type: string
type: object
input_cost:
description: Defines the cost per 1M tokens in your prompt.
minimum: 0
type: number
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
output_cost:
description: Defines the cost per 1M tokens in the output of the AI.
minimum: 0
type: number
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
- gemini
- bedrock
type: string
type: object
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
max_request_body_size:
default: 8192
description: max allowed body size allowed to be introspected
minimum: 0
type: integer
parse_llm_response_json_instructions:
default: false
description: Set true to read specific response format from the LLM, and accordingly set the status code / body / headers that proxy back to the client. You need to engineer your LLM prompt to return the correct format, see plugin docs 'Overview' page for usage instructions.
type: boolean
prompt:
description: Use this prompt to tune the LLM system/assistant message for the returning proxy response (from the upstream), adn what response format you are expecting.
type: string
transformation_extract_pattern:
description: Defines the regular expression that must match to indicate a successful AI transformation at the response phase. The first match will be set as the returning body. If the AI service's response doesn't match this pattern, a failure is returned to the client.
type: string
type: object
name:
const: ai-response-transformer
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
aws_sts_endpoint_url:
description: A string representing a URL, such as https://example.com/path/to/resource?q=search.
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
empty_arrays_mode:
default: legacy
description: An optional value that defines whether Kong should send empty arrays (returned by Lambda function) as `[]` arrays or `{}` objects in JSON responses. The value `legacy` means Kong will send empty arrays as `{}` objects in response
enum:
- legacy
- correct
type: string
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
AzureFunctionsPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/AzureFunctionsPluginConfig'
x-speakeasy-entity: PluginAzureFunctions
AzureFunctionsPluginConfig:
properties:
config:
properties:
apikey:
description: The apikey to access the Azure resources. If provided, it is injected as the `x-functions-key` header.
type: string
appname:
description: The Azure app name.
type: string
clientid:
description: The `clientid` to access the Azure resources. If provided, it is injected as the `x-functions-clientid` header.
type: string
functionname:
description: Name of the Azure function to invoke.
type: string
hostdomain:
default: azurewebsites.net
description: The domain where the function resides.
type: string
https:
default: true
description: Use of HTTPS to connect with the Azure Functions server.
type: boolean
https_verify:
default: false
description: Set to `true` to authenticate the Azure Functions server.
type: boolean
keepalive:
default: 60000
description: Time in milliseconds during which an idle connection to the Azure Functions server lives before being closed.
type: number
routeprefix:
default: api
description: Route prefix to use.
type: string
timeout:
default: 600000
description: Timeout in milliseconds before closing a connection to the Azure Functions server.
type: number
type: object
name:
const: azure-functions
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
BotDetectionPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/BotDetectionPluginConfig'
x-speakeasy-entity: PluginBotDetection
BotDetectionPluginConfig:
properties:
config:
properties:
allow:
default: []
description: An array of regular expressions that should be allowed. The regular expressions will be checked against the `User-Agent` header.
items:
is_regex: true
type: string
type: array
deny:
default: []
description: An array of regular expressions that should be denied. The regular expressions will be checked against the `User-Agent` header.
items:
is_regex: true
type: string
type: array
type: object
name:
const: bot-detection
type: string
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
CanaryPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/CanaryPluginConfig'
x-speakeasy-entity: PluginCanary
CanaryPluginConfig:
properties:
config:
properties:
canary_by_header_name:
description: A string representing an HTTP header name.
type: string
duration:
default: 3600
description: The duration of the canary release in seconds.
minimum: 0
type: number
groups:
description: The groups allowed to access the canary release.
items:
type: string
type: array
hash:
default: consumer
description: |-
Hash algorithm to be used for canary release.
* `consumer`: The hash will be based on the consumer.
* `ip`: The hash will be based on the client IP address.
* `none`: No hash will be applied.
* `allow`: Allows the specified groups to access the canary release.
* `deny`: Denies the specified groups from accessing the canary release.
* `header`: The hash will be based on the specified header value.
enum:
- consumer
- ip
- none
- allow
- deny
- header
type: string
hash_header:
description: A string representing an HTTP header name.
type: string
percentage:
description: The percentage of traffic to be routed to the canary release.
maximum: 100
minimum: 0
type: number
start:
description: Future time in seconds since epoch, when the canary release will start. Ignored when `percentage` is set, or when using `allow` or `deny` in `hash`.
type: number
steps:
default: 1000
description: The number of steps for the canary release.
minimum: 1
type: number
upstream_fallback:
default: false
description: Specifies whether to fallback to the upstream server if the canary release fails.
type: boolean
upstream_host:
description: A string representing a host name, such as example.com.
type: string
upstream_port:
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
upstream_uri:
description: The URI of the upstream server to be used for the canary release.
minLength: 1
type: string
shorthand_fields:
hash:
description: Hash algorithm to be used for canary release. `whitelist` is deprecated. Use `allow` instead `blacklist` is deprecated. Use `deny` instead.
type: string
type: object
name:
const: canary
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
ConsumerGroupInsideWrapper:
properties:
consumer_group:
$ref: '#/components/schemas/ConsumerGroup'
type: object
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
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
CreateACLPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/ACLPluginConfig'
x-speakeasy-entity: PluginACL
CreateAcmePlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/AcmePluginConfig'
x-speakeasy-entity: PluginAcme
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
CreateAiRequestTransformerPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/AiRequestTransformerPluginConfig'
x-speakeasy-entity: PluginAiRequestTransformer
CreateAiResponseTransformerPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/AiResponseTransformerPluginConfig'
x-speakeasy-entity: PluginAiResponseTransformer
CreateAwsLambdaPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/AwsLambdaPluginConfig'
x-speakeasy-entity: PluginAwsLambda
CreateAzureFunctionsPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/AzureFunctionsPluginConfig'
x-speakeasy-entity: PluginAzureFunctions
CreateBasicAuthPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/BasicAuthPluginConfig'
x-speakeasy-entity: PluginBasicAuth
CreateBotDetectionPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/BotDetectionPluginConfig'
x-speakeasy-entity: PluginBotDetection
CreateCanaryPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/CanaryPluginConfig'
x-speakeasy-entity: PluginCanary
CreateCorrelationIdPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/CorrelationIdPluginConfig'
x-speakeasy-entity: PluginCorrelationId
CreateCorsPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/CorsPluginConfig'
x-speakeasy-entity: PluginCors
CreateDatadogPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/DatadogPluginConfig'
x-speakeasy-entity: PluginDatadog
CreateDegraphqlPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/DegraphqlPluginConfig'
x-speakeasy-entity: PluginDegraphql
CreateExitTransformerPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/ExitTransformerPluginConfig'
x-speakeasy-entity: PluginExitTransformer
CreateFileLogPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/FileLogPluginConfig'
x-speakeasy-entity: PluginFileLog
CreateForwardProxyPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/ForwardProxyPluginConfig'
x-speakeasy-entity: PluginForwardProxy
CreateGraphqlProxyCacheAdvancedPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/GraphqlProxyCacheAdvancedPluginConfig'
x-speakeasy-entity: PluginGraphqlProxyCacheAdvanced
CreateGraphqlRateLimitingAdvancedPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/GraphqlRateLimitingAdvancedPluginConfig'
x-speakeasy-entity: PluginGraphqlRateLimitingAdvanced
CreateGrpcGatewayPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/GrpcGatewayPluginConfig'
x-speakeasy-entity: PluginGrpcGateway
CreateGrpcWebPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/GrpcWebPluginConfig'
x-speakeasy-entity: PluginGrpcWeb
CreateHmacAuthPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/HmacAuthPluginConfig'
x-speakeasy-entity: PluginHmacAuth
CreateHttpLogPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/HttpLogPluginConfig'
x-speakeasy-entity: PluginHttpLog
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
CreateJweDecryptPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/JweDecryptPluginConfig'
x-speakeasy-entity: PluginJweDecrypt
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
CreateKafkaLogPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/KafkaLogPluginConfig'
x-speakeasy-entity: PluginKafkaLog
CreateKafkaUpstreamPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/KafkaUpstreamPluginConfig'
x-speakeasy-entity: PluginKafkaUpstream
CreateKeyAuthEncPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/KeyAuthEncPluginConfig'
x-speakeasy-entity: PluginKeyAuthEnc
CreateKeyAuthPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/KeyAuthPluginConfig'
x-speakeasy-entity: PluginKeyAuth
CreateKonnectApplicationAuthPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/KonnectApplicationAuthPluginConfig'
x-speakeasy-entity: PluginKonnectApplicationAuth
CreateLdapAuthAdvancedPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/LdapAuthAdvancedPluginConfig'
x-speakeasy-entity: PluginLdapAuthAdvanced
CreateLdapAuthPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/LdapAuthPluginConfig'
x-speakeasy-entity: PluginLdapAuth
CreateLogglyPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/LogglyPluginConfig'
x-speakeasy-entity: PluginLoggly
CreateMockingPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/MockingPluginConfig'
x-speakeasy-entity: PluginMocking
CreateMtlsAuthPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/MtlsAuthPluginConfig'
x-speakeasy-entity: PluginMtlsAuth
CreateOasValidationPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/OasValidationPluginConfig'
x-speakeasy-entity: PluginOasValidation
CreateOauth2IntrospectionPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/Oauth2IntrospectionPluginConfig'
x-speakeasy-entity: PluginOauth2Introspection
CreateOauth2Plugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/Oauth2PluginConfig'
x-speakeasy-entity: PluginOauth2
CreateOpaPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/OpaPluginConfig'
x-speakeasy-entity: PluginOpa
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
CreatePostFunctionPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/PostFunctionPluginConfig'
x-speakeasy-entity: PluginPostFunction
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
CreateProxyCacheAdvancedPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/ProxyCacheAdvancedPluginConfig'
x-speakeasy-entity: PluginProxyCacheAdvanced
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
CreateRequestSizeLimitingPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/RequestSizeLimitingPluginConfig'
x-speakeasy-entity: PluginRequestSizeLimiting
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
CreateRequestValidatorPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/RequestValidatorPluginConfig'
x-speakeasy-entity: PluginRequestValidator
CreateResponseRatelimitingPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/ResponseRatelimitingPluginConfig'
x-speakeasy-entity: PluginResponseRatelimiting
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
CreateRouteByHeaderPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/RouteByHeaderPluginConfig'
x-speakeasy-entity: PluginRouteByHeader
CreateRouteTransformerAdvancedPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/RouteTransformerAdvancedPluginConfig'
x-speakeasy-entity: PluginRouteTransformerAdvanced
CreateSamlPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/SamlPluginConfig'
x-speakeasy-entity: PluginSaml
CreateSessionPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/SessionPluginConfig'
x-speakeasy-entity: PluginSession
CreateStatsdAdvancedPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/StatsdAdvancedPluginConfig'
x-speakeasy-entity: PluginStatsdAdvanced
CreateStatsdPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/StatsdPluginConfig'
x-speakeasy-entity: PluginStatsd
CreateSyslogPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/SyslogPluginConfig'
x-speakeasy-entity: PluginSyslog
CreateTcpLogPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/TcpLogPluginConfig'
x-speakeasy-entity: PluginTcpLog
CreateTlsHandshakeModifierPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/TlsHandshakeModifierPluginConfig'
x-speakeasy-entity: PluginTlsHandshakeModifier
CreateTlsMetadataHeadersPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/TlsMetadataHeadersPluginConfig'
x-speakeasy-entity: PluginTlsMetadataHeaders
CreateUdpLogPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/UdpLogPluginConfig'
x-speakeasy-entity: PluginUdpLog
CreateUpstreamTimeoutPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/UpstreamTimeoutPluginConfig'
x-speakeasy-entity: PluginUpstreamTimeout
CreateVaultAuthPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/VaultAuthPluginConfig'
x-speakeasy-entity: PluginVaultAuth
CreateWebsocketSizeLimitPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/WebsocketSizeLimitPluginConfig'
x-speakeasy-entity: PluginWebsocketSizeLimit
CreateWebsocketValidatorPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/WebsocketValidatorPluginConfig'
x-speakeasy-entity: PluginWebsocketValidator
CreateXmlThreatProtectionPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/XmlThreatProtectionPluginConfig'
x-speakeasy-entity: PluginXmlThreatProtection
CreateZipkinPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/ZipkinPluginConfig'
x-speakeasy-entity: PluginZipkin
DatadogPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/DatadogPluginConfig'
x-speakeasy-entity: PluginDatadog
DatadogPluginConfig:
properties:
config:
properties:
consumer_tag:
default: consumer
description: String to be attached as tag of the consumer.
type: string
flush_timeout:
description: Optional time in seconds. If `queue_size` > 1, this is the max idle time before sending a log with less than `queue_size` records.
type: number
host:
default: localhost
description: A string representing a host name, such as example.com.
type: string
metrics:
default:
- consumer_identifier: custom_id
name: kong_latency
sample_rate: 1
stat_type: timer
tags:
- app:kong
description: List of metrics to be logged.
items:
properties:
consumer_identifier:
description: Authenticated user detail
enum:
- consumer_id
- custom_id
- username
type: string
name:
description: Datadog metric’s name
enum:
- kong_latency
- latency
- request_count
- request_size
- response_size
- upstream_latency
type: string
sample_rate:
description: Sampling rate
maximum: 1
minimum: 0
type: number
stat_type:
description: Determines what sort of event the metric represents
enum:
- counter
- gauge
- histogram
- meter
- set
- timer
- distribution
type: string
tags:
description: List of tags
items:
pattern: ^.*[^:]$
type: string
type: array
required:
- name
- stat_type
type: object
type: array
port:
default: 8125
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
prefix:
default: kong
description: String to be attached as a prefix to a metric's name.
type: string
queue:
properties:
concurrency_limit:
default: 1
description: The number of of queue delivery timers. -1 indicates unlimited.
enum:
- -1
- 1
type: integer
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
queue_size:
description: Maximum number of log entries to be sent on each message to the upstream server.
type: integer
retry_count:
description: Number of times to retry when sending data to the upstream server.
type: integer
service_name_tag:
default: name
description: String to be attached as the name of the service.
type: string
status_tag:
default: status
description: String to be attached as the tag of the HTTP status.
type: string
type: object
name:
const: datadog
type: string
DegraphqlPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/DegraphqlPluginConfig'
x-speakeasy-entity: PluginDegraphql
DegraphqlPluginConfig:
properties:
config:
properties:
graphql_server_path:
default: /graphql
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
type: object
name:
const: degraphql
type: string
ExitTransformerPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/ExitTransformerPluginConfig'
x-speakeasy-entity: PluginExitTransformer
ExitTransformerPluginConfig:
properties:
config:
properties:
functions:
items:
type: string
type: array
handle_unexpected:
default: false
description: Determines whether to handle unexpected errors by transforming their responses.
type: boolean
handle_unknown:
default: false
description: Determines whether to handle unknown status codes by transforming their responses.
type: boolean
type: object
name:
const: exit-transformer
type: string
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
ForwardProxyPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/ForwardProxyPluginConfig'
x-speakeasy-entity: PluginForwardProxy
ForwardProxyPluginConfig:
properties:
config:
properties:
auth_password:
description: |-
The password to authenticate with, if the forward proxy is protected
by basic authentication.
type: string
auth_username:
description: |-
The username to authenticate with, if the forward proxy is protected
by basic authentication.
type: string
http_proxy_host:
description: A string representing a host name, such as example.com.
type: string
http_proxy_port:
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
https_proxy_host:
description: A string representing a host name, such as example.com.
type: string
https_proxy_port:
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
https_verify:
default: false
description: Whether the server certificate will be verified according to the CA certificates specified in lua_ssl_trusted_certificate.
type: boolean
proxy_scheme:
default: http
description: The proxy scheme to use when connecting. Only `http` is supported.
enum:
- http
type: string
x_headers:
default: append
description: Determines how to handle headers when forwarding the request.
enum:
- append
- transparent
- delete
type: string
shorthand_fields:
proxy_host:
type: string
proxy_port:
type: integer
type: object
name:
const: forward-proxy
type: string
GatewayUnauthorizedError:
properties:
message:
type: string
status:
type: integer
required:
- message
- status
type: object
GraphqlProxyCacheAdvancedPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/GraphqlProxyCacheAdvancedPluginConfig'
x-speakeasy-entity: PluginGraphqlProxyCacheAdvanced
GraphqlProxyCacheAdvancedPluginConfig:
properties:
config:
properties:
bypass_on_err:
default: false
description: Unhandled errors while trying to retrieve a cache entry (such as redis down) are resolved with `Bypass`, with the request going upstream.
type: boolean
cache_ttl:
default: 300
description: TTL in seconds of cache entities. Must be a value greater than 0.
minimum: 0
type: integer
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. This dictionary currently must be defined manually in the Kong Nginx template.
type: string
type: object
redis:
properties:
cluster_max_redirections:
default: 5
description: Maximum retry attempts for redirection.
type: integer
cluster_nodes:
description: Cluster addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element.
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
minLength: 1
type: array
connect_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
connection_is_proxied:
default: false
description: If the connection to Redis is proxied (e.g. Envoy), set it `true`. Set the `host` and `port` to point to the proxy address.
type: boolean
database:
default: 0
description: Database to use for the Redis connection when using the `redis` strategy
type: integer
host:
default: 127.0.0.1
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:
default: 6379
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
read_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
send_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
sentinel_master:
description: Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel.
type: string
sentinel_nodes:
description: Sentinel node addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element.
items:
properties:
host:
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
minLength: 1
type: array
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
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
shorthand_fields:
cluster_addresses:
items:
type: string
minLength: 1
type: array
sentinel_addresses:
items:
type: string
minLength: 1
type: array
timeout:
translate_backwards:
- connect_timeout
type: integer
type: object
strategy:
default: memory
description: The backing data store in which to hold cached entities. Accepted value is `memory`.
enum:
- memory
- redis
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
type: object
name:
const: graphql-proxy-cache-advanced
type: string
GraphqlRateLimitingAdvancedPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/GraphqlRateLimitingAdvancedPluginConfig'
x-speakeasy-entity: PluginGraphqlRateLimitingAdvanced
GraphqlRateLimitingAdvancedPluginConfig:
properties:
config:
properties:
cost_strategy:
default: default
description: Strategy to use to evaluate query costs. Either `default` or `node_quantifier`.
enum:
- default
- node_quantifier
type: string
dictionary_name:
default: kong_rate_limiting_counters
description: The shared dictionary where counters will be stored until the next sync cycle.
type: string
hide_client_headers:
default: false
description: 'Optionally hide informative response headers. Available options: `true` or `false`.'
type: boolean
identifier:
default: consumer
description: How to define the rate limit key. Can be `ip`, `credential`, `consumer`.
enum:
- ip
- credential
- consumer
type: string
limit:
description: One or more requests-per-window limits to apply.
items:
type: number
type: array
max_cost:
default: 0
description: A defined maximum cost per query. 0 means unlimited.
type: number
namespace:
description: 'The rate limiting namespace to use for this plugin instance. This namespace is used to share rate limiting counters across different instances. If it is not provided, a random UUID is generated. 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
redis:
properties:
cluster_max_redirections:
default: 5
description: Maximum retry attempts for redirection.
type: integer
cluster_nodes:
description: Cluster addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element.
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
minLength: 1
type: array
connect_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
connection_is_proxied:
default: false
description: If the connection to Redis is proxied (e.g. Envoy), set it `true`. Set the `host` and `port` to point to the proxy address.
type: boolean
database:
default: 0
description: Database to use for the Redis connection when using the `redis` strategy
type: integer
host:
default: 127.0.0.1
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:
default: 6379
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
read_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
send_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
sentinel_master:
description: Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel.
type: string
sentinel_nodes:
description: Sentinel node addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element.
items:
properties:
host:
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
minLength: 1
type: array
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
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
shorthand_fields:
cluster_addresses:
items:
type: string
minLength: 1
type: array
sentinel_addresses:
items:
type: string
minLength: 1
type: array
timeout:
translate_backwards:
- connect_timeout
type: integer
type: object
score_factor:
default: 1
description: A scoring factor to multiply (or divide) the cost. The `score_factor` must always be greater than 0.
minimum: 0
type: number
strategy:
default: cluster
description: The rate-limiting strategy to use for retrieving and incrementing the limits.
enum:
- cluster
- redis
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 syncs the counters in that many number of seconds.
type: number
window_size:
description: One or more window sizes to apply a limit to (defined in seconds).
items:
type: number
type: array
window_type:
default: sliding
description: Sets the time window to either `sliding` or `fixed`.
enum:
- fixed
- sliding
type: string
type: object
name:
const: graphql-rate-limiting-advanced
type: string
GrpcGatewayPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/GrpcGatewayPluginConfig'
x-speakeasy-entity: PluginGrpcGateway
GrpcGatewayPluginConfig:
properties:
config:
properties:
proto:
description: Describes the gRPC types and methods.
type: string
type: object
name:
const: grpc-gateway
type: string
GrpcWebPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/GrpcWebPluginConfig'
x-speakeasy-entity: PluginGrpcWeb
GrpcWebPluginConfig:
properties:
config:
properties:
allow_origin_header:
default: '*'
description: The value of the `Access-Control-Allow-Origin` header in the response to the gRPC-Web client.
type: string
pass_stripped_path:
description: If set to `true` causes the plugin to pass the stripped request path to the upstream gRPC service.
type: boolean
proto:
description: If present, describes the gRPC types and methods. Required to support payload transcoding. When absent, the web client must use application/grpw-web+proto content.
type: string
type: object
name:
const: grpc-web
type: string
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
HmacAuthPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/HmacAuthPluginConfig'
x-speakeasy-entity: PluginHmacAuth
HmacAuthPluginConfig:
properties:
config:
properties:
algorithms:
default:
- hmac-sha1
- hmac-sha256
- hmac-sha384
- hmac-sha512
description: A list of HMAC digest algorithms that the user wants to support. Allowed values are `hmac-sha1`, `hmac-sha256`, `hmac-sha384`, and `hmac-sha512`
items:
enum:
- hmac-sha1
- hmac-sha256
- hmac-sha384
- hmac-sha512
type: string
type: array
anonymous:
description: An optional string (Consumer UUID or username) value to use as an “anonymous” consumer if authentication fails.
type: string
clock_skew:
default: 300
description: Clock skew in seconds to prevent replay attacks.
minimum: 0
type: number
enforce_headers:
default: []
description: A list of headers that the client should at least use for HTTP signature creation.
items:
type: string
type: array
hide_credentials:
default: false
description: An optional boolean value telling the plugin to show or hide the credential from the upstream service.
type: boolean
realm:
description: When authentication fails the plugin sends `WWW-Authenticate` header with `realm` attribute value.
type: string
validate_request_body:
default: false
description: A boolean value telling the plugin to enable body validation.
type: boolean
type: object
name:
const: hmac-auth
type: string
HttpLogPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/HttpLogPluginConfig'
x-speakeasy-entity: PluginHttpLog
HttpLogPluginConfig:
properties:
config:
properties:
content_type:
default: application/json
description: Indicates the type of data sent. The only available option is `application/json`.
enum:
- application/json
- application/json; charset=utf-8
type: string
custom_fields_by_lua:
additionalProperties: true
description: Lua code as a key-value map
type: object
flush_timeout:
description: Optional time in seconds. If `queue_size` > 1, this is the max idle time before sending a log with less than `queue_size` records.
type: number
headers:
additionalProperties: true
description: An optional table of headers included in the HTTP message to the upstream server. Values are indexed by header name, and each header name accepts a single string.
type: object
http_endpoint:
description: A string representing a URL, such as https://example.com/path/to/resource?q=search.
type: string
keepalive:
default: 60000
description: An optional value in milliseconds that defines how long an idle connection will live before being closed.
type: number
method:
default: POST
description: An optional method used to send data to the HTTP server. Supported values are `POST` (default), `PUT`, and `PATCH`.
enum:
- POST
- PUT
- PATCH
type: string
queue:
properties:
concurrency_limit:
default: 1
description: The number of of queue delivery timers. -1 indicates unlimited.
enum:
- -1
- 1
type: integer
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
queue_size:
description: Maximum number of log entries to be sent on each message to the upstream server.
type: integer
retry_count:
description: Number of times to retry when sending data to the upstream server.
type: integer
timeout:
default: 10000
description: An optional timeout in milliseconds when sending data to the upstream server.
type: number
type: object
name:
const: http-log
type: string
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
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
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
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
JweDecryptPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/JweDecryptPluginConfig'
x-speakeasy-entity: PluginJweDecrypt
JweDecryptPluginConfig:
properties:
config:
properties:
forward_header_name:
default: Authorization
description: The name of the header that is used to set the decrypted value.
type: string
key_sets:
description: Denote the name or names of all Key Sets that should be inspected when trying to find a suitable key to decrypt the JWE token.
items:
type: string
type: array
lookup_header_name:
default: Authorization
description: The name of the header to look for the JWE token.
type: string
strict:
default: true
description: Defines how the plugin behaves in cases where no token was found in the request. When using `strict` mode, the request requires a token to be present and subsequently raise an error if none could be found.
type: boolean
type: object
name:
const: jwe-decrypt
type: string
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
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 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
KafkaLogPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/KafkaLogPluginConfig'
x-speakeasy-entity: PluginKafkaLog
KafkaLogPluginConfig:
properties:
config:
properties:
authentication:
properties:
mechanism:
description: 'The SASL authentication mechanism. Supported options: `PLAIN` or `SCRAM-SHA-256`.'
enum:
- PLAIN
- SCRAM-SHA-256
- SCRAM-SHA-512
type: string
password:
description: Password for SASL authentication.
type: string
strategy:
description: The authentication strategy for the plugin, the only option for the value is `sasl`.
enum:
- sasl
type: string
tokenauth:
description: Enable this to indicate `DelegationToken` authentication
type: boolean
user:
description: Username for SASL authentication.
type: string
type: object
bootstrap_servers:
description: 'Set of bootstrap brokers in a `{host: host, port: port}` list format.'
items:
properties:
host:
description: A string representing a host name, such as example.com.
type: string
port:
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
required:
- host
- port
type: object
type: array
cluster_name:
description: An identifier for the Kafka cluster. By default, this field generates a random string. You can also set your own custom cluster identifier. If more than one Kafka plugin is configured without a `cluster_name` (that is, if the default autogenerated value is removed), these plugins will use the same producer, and by extension, the same cluster. Logs will be sent to the leader of the cluster.
type: string
custom_fields_by_lua:
additionalProperties: true
description: Lua code as a key-value map
type: object
keepalive:
default: 60000
type: integer
keepalive_enabled:
default: false
type: boolean
producer_async:
default: true
description: Flag to enable asynchronous mode.
type: boolean
producer_async_buffering_limits_messages_in_memory:
default: 50000
description: Maximum number of messages that can be buffered in memory in asynchronous mode.
type: integer
producer_async_flush_timeout:
default: 1000
description: Maximum time interval in milliseconds between buffer flushes in asynchronous mode.
type: integer
producer_request_acks:
default: 1
description: 'The number of acknowledgments the producer requires the leader to have received before considering a request complete. Allowed values: 0 for no acknowledgments; 1 for only the leader; and -1 for the full ISR (In-Sync Replica set).'
enum:
- -1
- 0
- 1
type: integer
producer_request_limits_bytes_per_request:
default: 1.048576e+06
description: Maximum size of a Produce request in bytes.
type: integer
producer_request_limits_messages_per_request:
default: 200
description: Maximum number of messages to include into a single Produce request.
type: integer
producer_request_retries_backoff_timeout:
default: 100
description: Backoff interval between retry attempts in milliseconds.
type: integer
producer_request_retries_max_attempts:
default: 10
description: Maximum number of retry attempts per single Produce request.
type: integer
producer_request_timeout:
default: 2000
description: Time to wait for a Produce response in milliseconds
type: integer
security:
properties:
certificate_id:
description: UUID of certificate entity for mTLS authentication.
type: string
uuid: true
ssl:
description: Enables TLS.
type: boolean
type: object
timeout:
default: 10000
description: Socket timeout in milliseconds.
type: integer
topic:
description: The Kafka topic to publish to.
type: string
type: object
name:
const: kafka-log
type: string
KafkaUpstreamPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/KafkaUpstreamPluginConfig'
x-speakeasy-entity: PluginKafkaUpstream
KafkaUpstreamPluginConfig:
properties:
config:
properties:
authentication:
properties:
mechanism:
description: 'The SASL authentication mechanism. Supported options: `PLAIN`, `SCRAM-SHA-256`, or `SCRAM-SHA-512`.'
enum:
- PLAIN
- SCRAM-SHA-256
- SCRAM-SHA-512
type: string
password:
description: Password for SASL authentication.
type: string
strategy:
description: The authentication strategy for the plugin, the only option for the value is `sasl`.
enum:
- sasl
type: string
tokenauth:
description: Enable this to indicate `DelegationToken` authentication.
type: boolean
user:
description: Username for SASL authentication.
type: string
type: object
bootstrap_servers:
description: 'Set of bootstrap brokers in a `{host: host, port: port}` list format.'
items:
properties:
host:
description: A string representing a host name, such as example.com.
type: string
port:
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
required:
- host
- port
type: object
type: array
cluster_name:
description: An identifier for the Kafka cluster. By default, this field generates a random string. You can also set your own custom cluster identifier. If more than one Kafka plugin is configured without a `cluster_name` (that is, if the default autogenerated value is removed), these plugins will use the same producer, and by extension, the same cluster. Logs will be sent to the leader of the cluster.
type: string
forward_body:
default: true
description: 'Include the request body in the message. At least one of these must be true: `forward_method`, `forward_uri`, `forward_headers`, `forward_body`.'
type: boolean
forward_headers:
default: false
description: 'Include the request headers in the message. At least one of these must be true: `forward_method`, `forward_uri`, `forward_headers`, `forward_body`.'
type: boolean
forward_method:
default: false
description: 'Include the request method in the message. At least one of these must be true: `forward_method`, `forward_uri`, `forward_headers`, `forward_body`.'
type: boolean
forward_uri:
default: false
description: 'Include the request URI and URI arguments (as in, query arguments) in the message. At least one of these must be true: `forward_method`, `forward_uri`, `forward_headers`, `forward_body`.'
type: boolean
keepalive:
default: 60000
description: Keepalive timeout in milliseconds.
type: integer
keepalive_enabled:
default: false
type: boolean
producer_async:
default: true
description: Flag to enable asynchronous mode.
type: boolean
producer_async_buffering_limits_messages_in_memory:
default: 50000
description: Maximum number of messages that can be buffered in memory in asynchronous mode.
type: integer
producer_async_flush_timeout:
default: 1000
description: Maximum time interval in milliseconds between buffer flushes in asynchronous mode.
type: integer
producer_request_acks:
default: 1
description: 'The number of acknowledgments the producer requires the leader to have received before considering a request complete. Allowed values: 0 for no acknowledgments; 1 for only the leader; and -1 for the full ISR (In-Sync Replica set).'
enum:
- -1
- 0
- 1
type: integer
producer_request_limits_bytes_per_request:
default: 1.048576e+06
description: Maximum size of a Produce request in bytes.
type: integer
producer_request_limits_messages_per_request:
default: 200
description: Maximum number of messages to include into a single producer request.
type: integer
producer_request_retries_backoff_timeout:
default: 100
description: Backoff interval between retry attempts in milliseconds.
type: integer
producer_request_retries_max_attempts:
default: 10
description: Maximum number of retry attempts per single Produce request.
type: integer
producer_request_timeout:
default: 2000
description: Time to wait for a Produce response in milliseconds.
type: integer
security:
properties:
certificate_id:
description: UUID of certificate entity for mTLS authentication.
type: string
uuid: true
ssl:
description: Enables TLS.
type: boolean
type: object
timeout:
default: 10000
description: Socket timeout in milliseconds.
type: integer
topic:
description: The Kafka topic to publish to.
type: string
type: object
name:
const: kafka-upstream
type: string
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
KeyAuthEncPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/KeyAuthEncPluginConfig'
x-speakeasy-entity: PluginKeyAuthEnc
KeyAuthEncPluginConfig:
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`. 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 strips the credential from the request (i.e., the header, query string, or request body containing the key) before proxying it.
type: boolean
key_in_body:
default: false
description: 'If enabled, the plugin reads the request body (if said request has one and its MIME type is supported) and tries to find the key in it. 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 client must send the authentication key in one of those key names, and the plugin will try to read the credential from a header, request body, or query string parameter with the same name. 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-enc
type: string
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
KonnectApplicationAuthPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/KonnectApplicationAuthPluginConfig'
x-speakeasy-entity: PluginKonnectApplicationAuth
KonnectApplicationAuthPluginConfig:
properties:
config:
properties:
auth_type:
default: openid-connect
description: 'The type of authentication to be performed. Possible values are: ''openid-connect'', ''key-auth'', ''v2-strategies''.'
enum:
- openid-connect
- key-auth
- v2-strategies
type: string
key_names:
default:
- apikey
description: The names of the headers containing the API key. You can specify multiple header names.
items:
description: A string representing an HTTP header name.
type: string
type: array
scope:
description: The unique scope identifier for the plugin configuration.
type: string
v2_strategies:
description: The map of v2 strategies.
properties:
key_auth:
description: List of key_auth strategies.
items:
properties:
config:
properties:
key_names:
default:
- apikey
description: The names of the headers containing the API key. You can specify multiple header names.
items:
description: A string representing an HTTP header name.
type: string
type: array
type: object
strategy_id:
description: The strategy id the config is tied to.
type: string
required:
- strategy_id
- config
type: object
type: array
openid_connect:
description: List of openid_connect strategies.
items:
properties:
config:
description: openid-connect plugin configuration.
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
claims_forbidden:
description: If given, these claims are forbidden in the token payload.
items:
type: string
type: array
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
cluster_cache_redis:
properties:
cluster_max_redirections:
default: 5
description: Maximum retry attempts for redirection.
type: integer
cluster_nodes:
description: Cluster addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element.
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
minLength: 1
type: array
connect_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
connection_is_proxied:
default: false
description: If the connection to Redis is proxied (e.g. Envoy), set it `true`. Set the `host` and `port` to point to the proxy address.
type: boolean
database:
default: 0
description: Database to use for the Redis connection when using the `redis` strategy
type: integer
host:
default: 127.0.0.1
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:
default: 6379
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
read_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
send_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
sentinel_master:
description: Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel.
type: string
sentinel_nodes:
description: Sentinel node addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element.
items:
properties:
host:
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
minLength: 1
type: array
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
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
shorthand_fields:
cluster_addresses:
items:
type: string
minLength: 1
type: array
sentinel_addresses:
items:
type: string
minLength: 1
type: array
timeout:
translate_backwards:
- connect_timeout
type: integer
type: object
cluster_cache_strategy:
default: "off"
description: The strategy to use for the cluster cache. If set, the plugin will share cache with nodes configured with the same strategy backend. Currentlly only introspection cache is shared.
enum:
- "off"
- redis
type: string
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
redis:
properties:
cluster_max_redirections:
default: 5
description: Maximum retry attempts for redirection.
type: integer
cluster_nodes:
description: Cluster addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element.
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
minLength: 1
type: array
connect_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
connection_is_proxied:
default: false
description: If the connection to Redis is proxied (e.g. Envoy), set it `true`. Set the `host` and `port` to point to the proxy address.
type: boolean
database:
default: 0
description: Database to use for the Redis connection when using the `redis` strategy
type: integer
host:
default: 127.0.0.1
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:
default: 6379
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
prefix:
description: The Redis session key prefix.
type: string
read_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
send_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
sentinel_master:
description: Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel.
type: string
sentinel_nodes:
description: Sentinel node addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element.
items:
properties:
host:
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
minLength: 1
type: array
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
socket:
description: The Redis unix socket path.
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
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
shorthand_fields:
cluster_addresses:
items:
type: string
minLength: 1
type: array
sentinel_addresses:
items:
type: string
minLength: 1
type: array
timeout:
translate_backwards:
- connect_timeout
type: integer
type: object
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_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
required:
- issuer
- redis
- cluster_cache_redis
type: object
strategy_id:
description: The strategy id the config is tied to.
type: string
required:
- strategy_id
type: object
type: array
type: object
type: object
name:
const: konnect-application-auth
type: string
LdapAuthAdvancedPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/LdapAuthAdvancedPluginConfig'
x-speakeasy-entity: PluginLdapAuthAdvanced
LdapAuthAdvancedPluginConfig:
properties:
config:
properties:
anonymous:
default: ""
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`. Note that this value must refer to the consumer `id` or `username` attribute, and **not** its `custom_id`.
type: string
attribute:
description: Attribute to be used to search the user; e.g., "cn".
type: string
base_dn:
description: Base DN as the starting point for the search; e.g., 'dc=example,dc=com'.
type: string
bind_dn:
description: The DN to bind to. Used to perform LDAP search of user. This `bind_dn` should have permissions to search for the user being authenticated.
type: string
cache_ttl:
default: 60
description: Cache expiry time in seconds.
type: number
consumer_by:
default:
- username
- custom_id
description: Whether to authenticate consumers based on `username`, `custom_id`, or both.
items:
enum:
- username
- custom_id
type: string
type: array
consumer_optional:
default: false
description: Whether consumer mapping is optional. If `consumer_optional=true`, the plugin will not attempt to associate a consumer with the LDAP authenticated user.
type: boolean
group_base_dn:
description: Sets a distinguished name (DN) for the entry where LDAP searches for groups begin. This field is case-insensitive.',dc=com'.
type: string
group_member_attribute:
default: memberOf
description: Sets the attribute holding the members of the LDAP group. This field is case-sensitive.
type: string
group_name_attribute:
description: Sets the attribute holding the name of a group, typically called `name` (in Active Directory) or `cn` (in OpenLDAP). This field is case-insensitive.
type: string
groups_required:
description: The groups required to be present in the LDAP search result for successful authorization. This config parameter works in both **AND** / **OR** cases. - When `["group1 group2"]` are in the same array indices, both `group1` AND `group2` need to be present in the LDAP search result. - When `["group1", "group2"]` are in different array indices, either `group1` OR `group2` need to be present in the LDAP search result.
items:
type: string
type: array
header_type:
default: ldap
description: 'An optional string to use as part of the Authorization header. By default, a valid Authorization header looks like this: `Authorization: ldap base64(username:password)`. If `header_type` is set to "basic", then the Authorization header would be `Authorization: basic base64(username:password)`. Note that `header_type` can take any string, not just `''ldap''` and `''basic''`.'
type: string
hide_credentials:
default: false
description: An optional boolean value telling the plugin to hide the credential to the upstream server. It will be removed by Kong before proxying the request.
type: boolean
keepalive:
default: 60000
description: An optional value in milliseconds that defines how long an idle connection to LDAP server will live before being closed.
type: number
ldap_host:
description: Host on which the LDAP server is running.
type: string
ldap_password:
description: The password to the LDAP server.
type: string
ldap_port:
default: 389
description: TCP port where the LDAP server is listening. 389 is the default port for non-SSL LDAP and AD. 636 is the port required for SSL LDAP and AD. If `ldaps` is configured, you must use port 636.
type: number
ldaps:
default: false
description: Set it to `true` to use `ldaps`, a secure protocol (that can be configured to TLS) to connect to the LDAP server. When `ldaps` is configured, you must use port 636. If the `ldap` setting is enabled, ensure the `start_tls` setting is disabled.
type: boolean
log_search_results:
default: false
description: Displays all the LDAP search results received from the LDAP server for debugging purposes. Not recommended to be enabled in a production environment.
type: boolean
realm:
description: When authentication fails the plugin sends `WWW-Authenticate` header with `realm` attribute value.
type: string
start_tls:
default: false
description: Set it to `true` to issue StartTLS (Transport Layer Security) extended operation over `ldap` connection. If the `start_tls` setting is enabled, ensure the `ldaps` setting is disabled.
type: boolean
timeout:
default: 10000
description: An optional timeout in milliseconds when waiting for connection with LDAP server.
type: number
verify_ldap_host:
default: false
description: Set to `true` to authenticate LDAP server. The server certificate will be verified according to the CA certificates specified by the `lua_ssl_trusted_certificate` directive.
type: boolean
type: object
name:
const: ldap-auth-advanced
type: string
LdapAuthPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/LdapAuthPluginConfig'
x-speakeasy-entity: PluginLdapAuth
LdapAuthPluginConfig:
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 fails with an authentication failure `4xx`.
type: string
attribute:
description: Attribute to be used to search the user; e.g. cn
type: string
base_dn:
description: Base DN as the starting point for the search; e.g., dc=example,dc=com
type: string
cache_ttl:
default: 60
description: Cache expiry time in seconds.
type: number
header_type:
default: ldap
description: An optional string to use as part of the Authorization header
type: string
hide_credentials:
default: false
description: An optional boolean value telling the plugin to hide the credential to the upstream server. It will be removed by Kong before proxying the request.
type: boolean
keepalive:
default: 60000
description: An optional value in milliseconds that defines how long an idle connection to LDAP server will live before being closed.
type: number
ldap_host:
description: A string representing a host name, such as example.com.
type: string
ldap_port:
default: 389
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
ldaps:
default: false
description: Set to `true` to connect using the LDAPS protocol (LDAP over TLS). When `ldaps` is configured, you must use port 636. If the `ldap` setting is enabled, ensure the `start_tls` setting is disabled.
type: boolean
realm:
description: When authentication fails the plugin sends `WWW-Authenticate` header with `realm` attribute value.
type: string
start_tls:
default: false
description: Set it to `true` to issue StartTLS (Transport Layer Security) extended operation over `ldap` connection. If the `start_tls` setting is enabled, ensure the `ldaps` setting is disabled.
type: boolean
timeout:
default: 10000
description: An optional timeout in milliseconds when waiting for connection with LDAP server.
type: number
verify_ldap_host:
default: false
description: Set to `true` to authenticate LDAP server. The server certificate will be verified according to the CA certificates specified by the `lua_ssl_trusted_certificate` directive.
type: boolean
type: object
name:
const: ldap-auth
type: string
LogglyPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/LogglyPluginConfig'
x-speakeasy-entity: PluginLoggly
LogglyPluginConfig:
properties:
config:
properties:
client_errors_severity:
default: info
enum:
- debug
- info
- notice
- warning
- err
- crit
- alert
- emerg
type: string
custom_fields_by_lua:
additionalProperties: true
description: Lua code as a key-value map
type: object
host:
default: logs-01.loggly.com
description: A string representing a host name, such as example.com.
type: string
key:
type: string
log_level:
default: info
enum:
- debug
- info
- notice
- warning
- err
- crit
- alert
- emerg
type: string
port:
default: 514
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
server_errors_severity:
default: info
enum:
- debug
- info
- notice
- warning
- err
- crit
- alert
- emerg
type: string
successful_severity:
default: info
enum:
- debug
- info
- notice
- warning
- err
- crit
- alert
- emerg
type: string
tags:
default:
- kong
items:
type: string
type: array
timeout:
default: 10000
type: number
type: object
name:
const: loggly
type: string
MockingPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/MockingPluginConfig'
x-speakeasy-entity: PluginMocking
MockingPluginConfig:
properties:
config:
properties:
api_specification:
description: The contents of the specification file. You must use this option for hybrid or DB-less mode. You can include the full specification as part of the configuration. In Kong Manager, you can copy and paste the contents of the spec directly into the `Config.Api Specification` text field.
type: string
api_specification_filename:
description: The path and name of the specification file loaded into Kong Gateway's database. You cannot use this option for DB-less or hybrid mode.
type: string
custom_base_path:
description: The base path to be used for path match evaluation. This value is ignored if `include_base_path` is set to `false`.
type: string
include_base_path:
default: false
description: Indicates whether to include the base path when performing path match evaluation.
type: boolean
included_status_codes:
description: A global list of the HTTP status codes that can only be selected and returned.
items:
type: integer
type: array
max_delay_time:
default: 1
description: The maximum value in seconds of delay time. Set this value when `random_delay` is enabled and you want to adjust the default. The value must be greater than the `min_delay_time`.
type: number
min_delay_time:
default: 0.001
description: The minimum value in seconds of delay time. Set this value when `random_delay` is enabled and you want to adjust the default. The value must be less than the `max_delay_time`.
type: number
random_delay:
default: false
description: Enables a random delay in the mocked response. Introduces delays to simulate real-time response times by APIs.
type: boolean
random_examples:
default: false
description: Randomly selects one example and returns it. This parameter requires the spec to have multiple examples configured.
type: boolean
random_status_code:
default: false
description: Determines whether to randomly select an HTTP status code from the responses of the corresponding API method. The default value is `false`, which means the minimum HTTP status code is always selected and returned.
type: boolean
type: object
name:
const: mocking
type: string
MtlsAuthPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/MtlsAuthPluginConfig'
x-speakeasy-entity: PluginMtlsAuth
MtlsAuthPluginConfig:
properties:
config:
properties:
allow_partial_chain:
default: false
description: Allow certificate verification with only an intermediate certificate. When this is enabled, you don't need to upload the full chain to Kong Certificates.
type: boolean
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 fails with an authentication failure `4xx`. Note that this value must refer to the consumer `id` or `username` attribute, and **not** its `custom_id`.
type: string
authenticated_group_by:
default: CN
description: Certificate property to use as the authenticated group. Valid values are `CN` (Common Name) or `DN` (Distinguished Name). Once `skip_consumer_lookup` is applied, any client with a valid certificate can access the Service/API. To restrict usage to only some of the authenticated users, also add the ACL plugin (not covered here) and create allowed or denied groups of users.
enum:
- CN
- DN
type: string
ca_certificates:
description: List of CA Certificates strings to use as Certificate Authorities (CA) when validating a client certificate. At least one is required but you can specify as many as needed. The value of this array is comprised of primary keys (`id`).
items:
type: string
uuid: true
type: array
cache_ttl:
default: 60
description: Cache expiry time in seconds.
type: number
cert_cache_ttl:
default: 60000
description: The length of time in milliseconds between refreshes of the revocation check status cache.
type: number
consumer_by:
default:
- username
- custom_id
description: Whether to match the subject name of the client-supplied certificate against consumer's `username` and/or `custom_id` attribute. If set to `[]` (the empty array), then auto-matching is disabled.
items:
enum:
- username
- custom_id
type: string
type: array
default_consumer:
description: The UUID or username of the consumer to use when a trusted client certificate is presented but no consumer matches. Note that this value must refer to the consumer `id` or `username` attribute, and **not** its `custom_id`.
type: string
http_proxy_host:
description: A string representing a host name, such as example.com.
type: string
http_proxy_port:
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
http_timeout:
default: 30000
description: HTTP timeout threshold in milliseconds when communicating with the OCSP server or downloading CRL.
type: number
https_proxy_host:
description: A string representing a host name, such as example.com.
type: string
https_proxy_port:
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
revocation_check_mode:
default: IGNORE_CA_ERROR
description: Controls client certificate revocation check behavior. If set to `SKIP`, no revocation check is performed. If set to `IGNORE_CA_ERROR`, the plugin respects the revocation status when either OCSP or CRL URL is set, and doesn't fail on network issues. If set to `STRICT`, the plugin only treats the certificate as valid when it's able to verify the revocation status.
enum:
- SKIP
- IGNORE_CA_ERROR
- STRICT
type: string
send_ca_dn:
default: false
description: Sends the distinguished names (DN) of the configured CA list in the TLS handshake message.
type: boolean
skip_consumer_lookup:
default: false
description: Skip consumer lookup once certificate is trusted against the configured CA list.
type: boolean
type: object
name:
const: mtls-auth
type: string
OasValidationPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/OasValidationPluginConfig'
x-speakeasy-entity: PluginOasValidation
OasValidationPluginConfig:
properties:
config:
properties:
allowed_header_parameters:
default: Host,Content-Type,User-Agent,Accept,Content-Length
description: List of header parameters in the request that will be ignored when performing HTTP header validation. These are additional headers added to an API request beyond those defined in the API specification. For example, you might include the HTTP header `User-Agent`, which lets servers and network peers identify the application, operating system, vendor, and/or version of the requesting user agent.
type: string
api_spec:
description: The API specification defined using either Swagger or the OpenAPI. This can be either a JSON or YAML based file. If using a YAML file, the spec needs to be URI-Encoded to preserve the YAML format.
type: string
api_spec_encoded:
default: true
description: Indicates whether the api_spec is URI-Encoded.
type: boolean
custom_base_path:
description: The base path to be used for path match evaluation. This value is ignored if `include_base_path` is set to `false`.
type: string
header_parameter_check:
default: false
description: If set to true, checks if HTTP header parameters in the request exist in the API specification.
type: boolean
include_base_path:
default: false
description: Indicates whether to include the base path when performing path match evaluation.
type: boolean
notify_only_request_validation_failure:
default: false
description: If set to true, notifications via event hooks are enabled, but request based validation failures don't affect the request flow.
type: boolean
notify_only_response_body_validation_failure:
default: false
description: If set to true, notifications via event hooks are enabled, but response validation failures don't affect the response flow.
type: boolean
query_parameter_check:
default: false
description: If set to true, checks if query parameters in the request exist in the API specification.
type: boolean
validate_request_body:
default: true
description: If set to true, validates the request body content against the API specification.
type: boolean
validate_request_header_params:
default: true
description: If set to true, validates HTTP header parameters against the API specification.
type: boolean
validate_request_query_params:
default: true
description: If set to true, validates query parameters against the API specification.
type: boolean
validate_request_uri_params:
default: true
description: If set to true, validates URI parameters in the request against the API specification.
type: boolean
validate_response_body:
default: false
description: If set to true, validates the response from the upstream services against the API specification. If validation fails, it results in an `HTTP 406 Not Acceptable` status code.
type: boolean
verbose_response:
default: false
description: If set to true, returns a detailed error message for invalid requests & responses. This is useful while testing.
type: boolean
type: object
name:
const: oas-validation
type: string
Oauth2IntrospectionPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/Oauth2IntrospectionPluginConfig'
x-speakeasy-entity: PluginOauth2Introspection
Oauth2IntrospectionPluginConfig:
properties:
config:
properties:
anonymous:
default: ""
description: An optional string (consumer UUID or username) value to use as an “anonymous” consumer if authentication fails. If empty (default null), the request fails with an authentication failure `4xx`. Note that this value must refer to the consumer `id` or `username` attribute, and **not** its `custom_id`.
type: string
authorization_value:
description: The value to set as the `Authorization` header when querying the introspection endpoint. This depends on the OAuth 2.0 server, but usually is the `client_id` and `client_secret` as a Base64-encoded Basic Auth string (`Basic MG9hNWl...`).
type: string
consumer_by:
default: username
description: A string indicating whether to associate OAuth2 `username` or `client_id` with the consumer's username. OAuth2 `username` is mapped to a consumer's `username` field, while an OAuth2 `client_id` maps to a consumer's `custom_id`.
enum:
- username
- client_id
type: string
custom_claims_forward:
default: []
description: A list of custom claims to be forwarded from the introspection response to the upstream request. Claims are forwarded in headers with prefix `X-Credential-{claim-name}`.
items:
type: string
type: array
custom_introspection_headers:
additionalProperties: true
description: A list of custom headers to be added in the introspection request.
type: object
hide_credentials:
default: false
description: An optional boolean value telling the plugin to hide the credential to the upstream API server. It will be removed by Kong before proxying the request.
type: boolean
introspect_request:
default: false
description: A boolean indicating whether to forward information about the current downstream request to the introspect endpoint. If true, headers `X-Request-Path` and `X-Request-Http-Method` will be inserted into the introspect request.
type: boolean
introspection_url:
description: A string representing a URL, such as https://example.com/path/to/resource?q=search.
type: string
keepalive:
default: 60000
description: An optional value in milliseconds that defines how long an idle connection lives before being closed.
type: integer
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
timeout:
default: 10000
description: An optional timeout in milliseconds when sending data to the upstream server.
type: integer
token_type_hint:
description: The `token_type_hint` value to associate to introspection requests.
type: string
ttl:
default: 30
description: The TTL in seconds for the introspection response. Set to 0 to disable the expiration.
type: number
type: object
name:
const: oauth-2-introspection
type: string
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
realm:
description: When authentication fails the plugin sends `WWW-Authenticate` header with `realm` attribute value.
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
OpaPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/OpaPluginConfig'
x-speakeasy-entity: PluginOpa
OpaPluginConfig:
properties:
config:
properties:
include_body_in_opa_input:
default: false
type: boolean
include_consumer_in_opa_input:
default: false
description: If set to true, the Kong Gateway Consumer object in use for the current request (if any) is included as input to OPA.
type: boolean
include_parsed_json_body_in_opa_input:
default: false
description: If set to true and the `Content-Type` header of the current request is `application/json`, the request body will be JSON decoded and the decoded struct is included as input to OPA.
type: boolean
include_route_in_opa_input:
default: false
description: If set to true, the Kong Gateway Route object in use for the current request is included as input to OPA.
type: boolean
include_service_in_opa_input:
default: false
description: If set to true, the Kong Gateway Service object in use for the current request is included as input to OPA.
type: boolean
include_uri_captures_in_opa_input:
default: false
description: If set to true, the regex capture groups captured on the Kong Gateway Route's path field in the current request (if any) are included as input to OPA.
type: boolean
opa_host:
default: localhost
description: A string representing a host name, such as example.com.
type: string
opa_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
opa_port:
default: 8181
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
opa_protocol:
default: http
description: The protocol to use when talking to Open Policy Agent (OPA) server. Allowed protocols are `http` and `https`.
enum:
- http
- https
type: string
ssl_verify:
default: true
description: If set to true, the OPA certificate will be verified according to the CA certificates specified in lua_ssl_trusted_certificate.
type: boolean
type: object
name:
const: opa
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
claims_forbidden:
description: If given, these claims are forbidden in the token payload.
items:
type: string
type: array
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
cluster_cache_redis:
properties:
cluster_max_redirections:
default: 5
description: Maximum retry attempts for redirection.
type: integer
cluster_nodes:
description: Cluster addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element.
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
minLength: 1
type: array
connect_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
connection_is_proxied:
default: false
description: If the connection to Redis is proxied (e.g. Envoy), set it `true`. Set the `host` and `port` to point to the proxy address.
type: boolean
database:
default: 0
description: Database to use for the Redis connection when using the `redis` strategy
type: integer
host:
default: 127.0.0.1
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:
default: 6379
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
read_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
send_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
sentinel_master:
description: Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel.
type: string
sentinel_nodes:
description: Sentinel node addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element.
items:
properties:
host:
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
minLength: 1
type: array
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
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
shorthand_fields:
cluster_addresses:
items:
type: string
minLength: 1
type: array
sentinel_addresses:
items:
type: string
minLength: 1
type: array
timeout:
translate_backwards:
- connect_timeout
type: integer
type: object
cluster_cache_strategy:
default: "off"
description: The strategy to use for the cluster cache. If set, the plugin will share cache with nodes configured with the same strategy backend. Currentlly only introspection cache is shared.
enum:
- "off"
- redis
type: string
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
redis:
properties:
cluster_max_redirections:
default: 5
description: Maximum retry attempts for redirection.
type: integer
cluster_nodes:
description: Cluster addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element.
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
minLength: 1
type: array
connect_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
connection_is_proxied:
default: false
description: If the connection to Redis is proxied (e.g. Envoy), set it `true`. Set the `host` and `port` to point to the proxy address.
type: boolean
database:
default: 0
description: Database to use for the Redis connection when using the `redis` strategy
type: integer
host:
default: 127.0.0.1
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:
default: 6379
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
prefix:
description: The Redis session key prefix.
type: string
read_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
send_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
sentinel_master:
description: Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel.
type: string
sentinel_nodes:
description: Sentinel node addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element.
items:
properties:
host:
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
minLength: 1
type: array
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
socket:
description: The Redis unix socket path.
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
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
shorthand_fields:
cluster_addresses:
items:
type: string
minLength: 1
type: array
sentinel_addresses:
items:
type: string
minLength: 1
type: array
timeout:
translate_backwards:
- connect_timeout
type: integer
type: object
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_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_max_redirections:
translate_backwards:
- redis
- cluster_max_redirections
type: integer
session_redis_cluster_nodes:
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
translate_backwards:
- redis
- cluster_nodes
type: array
session_redis_connect_timeout:
translate_backwards:
- redis
- connect_timeout
type: integer
session_redis_host:
translate_backwards:
- redis
- host
type: string
session_redis_password:
translate_backwards:
- redis
- password
type: string
session_redis_port:
translate_backwards:
- redis
- port
type: integer
session_redis_prefix:
translate_backwards:
- redis
- prefix
type: string
session_redis_read_timeout:
translate_backwards:
- redis
- read_timeout
type: integer
session_redis_send_timeout:
translate_backwards:
- redis
- send_timeout
type: integer
session_redis_server_name:
translate_backwards:
- redis
- server_name
type: string
session_redis_socket:
translate_backwards:
- redis
- socket
type: string
session_redis_ssl:
translate_backwards:
- redis
- ssl
type: boolean
session_redis_ssl_verify:
translate_backwards:
- redis
- ssl_verify
type: boolean
session_redis_username:
translate_backwards:
- redis
- username
type: string
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
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
logs_endpoint:
description: A string representing a URL, such as https://example.com/path/to/resource?q=search.
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:
- w3c
- datadog
- b3
- gcp
- b3-single
- jaeger
- aws
- ot
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:
- w3c
- datadog
- b3
- gcp
- jaeger
- aws
- ot
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
- w3c
- datadog
- b3
- gcp
- b3-single
- jaeger
- aws
- ot
type: string
type: array
required:
- default_format
type: object
queue:
default:
max_batch_size: 200
properties:
concurrency_limit:
default: 1
description: The number of of queue delivery timers. -1 indicates unlimited.
enum:
- -1
- 1
type: integer
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
traces_endpoint:
description: A string representing a URL, such as https://example.com/path/to/resource?q=search.
type: string
shorthand_fields:
endpoint:
description: A string representing a URL, such as https://example.com/path/to/resource?q=search.
type: string
type: object
name:
const: opentelemetry
type: string
PaginationNextResponse:
description: URI to the next page (may be null)
type: string
PaginationOffsetResponse:
description: Offset is used to paginate through the API. Provide this value to the next list operation to fetch the next page
type: string
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:
properties:
after:
properties:
access:
items:
type: string
type: array
type: object
before:
properties:
access:
items:
type: string
type: array
type: object
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
PostFunctionPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/PostFunctionPluginConfig'
x-speakeasy-entity: PluginPostFunction
PostFunctionPluginConfig:
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: post-function
type: string
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:
ai_metrics:
default: false
description: A boolean value that determines if ai metrics should be collected. If enabled, the `ai_llm_requests_total`, `ai_llm_cost_total` and `ai_llm_tokens_total` metrics will be exported.
type: boolean
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
ProxyCacheAdvancedPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/ProxyCacheAdvancedPluginConfig'
x-speakeasy-entity: PluginProxyCacheAdvanced
ProxyCacheAdvancedPluginConfig:
properties:
config:
properties:
bypass_on_err:
default: false
description: Unhandled errors while trying to retrieve a cache entry (such as redis down) are resolved with `Bypass`, with the request going upstream.
type: boolean
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; for example, if the upstream is expected to respond with a `application/json; charset=utf-8` content-type, the plugin configuration must contain said value or a `Bypass` cache status is returned.
items:
type: string
type: array
ignore_uri_case:
default: false
description: Determines whether to treat URIs as case sensitive. By default, case sensitivity is enabled. If set to true, requests are cached while ignoring case sensitivity in the URI.
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
redis:
properties:
cluster_max_redirections:
default: 5
description: Maximum retry attempts for redirection.
type: integer
cluster_nodes:
description: Cluster addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element.
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
minLength: 1
type: array
connect_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
connection_is_proxied:
default: false
description: If the connection to Redis is proxied (e.g. Envoy), set it `true`. Set the `host` and `port` to point to the proxy address.
type: boolean
database:
default: 0
description: Database to use for the Redis connection when using the `redis` strategy
type: integer
host:
default: 127.0.0.1
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:
default: 6379
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
read_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
send_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
sentinel_master:
description: Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel.
type: string
sentinel_nodes:
description: Sentinel node addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element.
items:
properties:
host:
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
minLength: 1
type: array
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
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
shorthand_fields:
cluster_addresses:
items:
type: string
minLength: 1
type: array
sentinel_addresses:
items:
type: string
minLength: 1
type: array
timeout:
translate_backwards:
- connect_timeout
type: integer
type: object
request_method:
default:
- GET
- HEAD
description: 'Downstream request methods considered cacheable. Available options: `HEAD`, `GET`, `POST`, `PATCH`, `PUT`.'
items:
enum:
- HEAD
- GET
- POST
- PATCH
- PUT
type: string
type: array
response_code:
default:
- 200
- 301
- 404
description: Upstream response status code considered cacheable. The integers must be a value between 100 and 900.
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. Accepted values are: `memory` and `redis`.'
enum:
- memory
- redis
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-advanced
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_max_redirections:
default: 5
description: Maximum retry attempts for redirection.
type: integer
cluster_nodes:
description: Cluster addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element.
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
minLength: 1
type: array
connect_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
connection_is_proxied:
default: false
description: If the connection to Redis is proxied (e.g. Envoy), set it `true`. Set the `host` and `port` to point to the proxy address.
type: boolean
database:
default: 0
description: Database to use for the Redis connection when using the `redis` strategy
type: integer
host:
default: 127.0.0.1
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:
default: 6379
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
read_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
send_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
sentinel_master:
description: Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel.
type: string
sentinel_nodes:
description: Sentinel node addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element.
items:
properties:
host:
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
minLength: 1
type: array
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
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
shorthand_fields:
cluster_addresses:
items:
type: string
minLength: 1
type: array
sentinel_addresses:
items:
type: string
minLength: 1
type: array
timeout:
translate_backwards:
- connect_timeout
type: integer
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
RequestSizeLimitingPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/RequestSizeLimitingPluginConfig'
x-speakeasy-entity: PluginRequestSizeLimiting
RequestSizeLimitingPluginConfig:
properties:
config:
properties:
allowed_payload_size:
default: 128
description: Allowed request payload size in megabytes. Default is `128` megabytes (128000000 bytes).
type: integer
require_content_length:
default: false
description: Set to `true` to ensure a valid `Content-Length` header exists before reading the request body.
type: boolean
size_unit:
default: megabytes
description: Size unit can be set either in `bytes`, `kilobytes`, or `megabytes` (default). This configuration is not available in versions prior to Kong Gateway 1.3 and Kong Gateway (OSS) 2.0.
enum:
- megabytes
- kilobytes
- bytes
type: string
type: object
name:
const: request-size-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: ^[A-Z]+$
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: ^[A-Z]+$
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
RequestValidatorPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/RequestValidatorPluginConfig'
x-speakeasy-entity: PluginRequestValidator
RequestValidatorPluginConfig:
properties:
config:
properties:
allowed_content_types:
default:
- application/json
description: List of allowed content types. The value can be configured with the `charset` parameter. For example, `application/json; charset=UTF-8`.
items:
type: string
type: array
body_schema:
description: The request body schema specification. One of `body_schema` or `parameter_schema` must be specified.
type: string
content_type_parameter_validation:
default: true
description: Determines whether to enable parameters validation of request content-type.
type: boolean
parameter_schema:
description: Array of parameter validator specification. One of `body_schema` or `parameter_schema` must be specified.
items:
properties:
explode:
description: Required when `schema` and `style` are set. When `explode` is `true`, parameter values of type `array` or `object` generate separate parameters for each value of the array or key-value pair of the map. For other types of parameters, this property has no effect.
type: boolean
in:
description: The location of the parameter.
enum:
- query
- header
- path
type: string
name:
description: The name of the parameter. Parameter names are case-sensitive, and correspond to the parameter name used by the `in` property. If `in` is `path`, the `name` field MUST correspond to the named capture group from the configured `route`.
type: string
required:
description: Determines whether this parameter is mandatory.
type: boolean
schema:
description: Requred when `style` and `explode` are set. This is the schema defining the type used for the parameter. It is validated using `draft4` for JSON Schema draft 4 compliant validator. In addition to being a valid JSON Schema, the parameter schema MUST have a top-level `type` property to enable proper deserialization before validating.
type: string
style:
description: Required when `schema` and `explode` are set. Describes how the parameter value will be deserialized depending on the type of the parameter value.
enum:
- label
- form
- matrix
- simple
- spaceDelimited
- pipeDelimited
- deepObject
type: string
required:
- in
- name
- required
type: object
type: array
verbose_response:
default: false
description: If enabled, the plugin returns more verbose and detailed validation errors.
type: boolean
version:
default: kong
description: Which validator to use. Supported values are `kong` (default) for using Kong's own schema validator, or `draft4` for using a JSON Schema Draft 4-compliant validator.
enum:
- kong
- draft4
type: string
type: object
name:
const: request-validator
type: string
ResponseRatelimitingPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/ResponseRatelimitingPluginConfig'
x-speakeasy-entity: PluginResponseRatelimiting
ResponseRatelimitingPluginConfig:
properties:
config:
properties:
block_on_first_violation:
default: false
description: A boolean value that determines if the requests should be blocked as soon as one limit is being exceeded. This will block requests that are supposed to consume other limits too.
type: boolean
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 datastore. If `true`, requests will be proxied anyway, effectively disabling the rate-limiting function until the datastore is working again. If `false`, then the clients will see `500` errors.
type: boolean
header_name:
default: x-kong-limit
description: The name of the response header used to increment the counters.
type: string
hide_client_headers:
default: false
description: Optionally hide informative response headers.
type: boolean
limit_by:
default: consumer
description: 'The entity that will be used when aggregating the limits: `consumer`, `credential`, `ip`. If the `consumer` or the `credential` cannot be determined, the system will always fallback to `ip`.'
enum:
- consumer
- credential
- ip
type: string
limits:
additionalProperties: true
description: A map that defines rate limits for the plugin.
minLength: 1
type: object
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
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: response-ratelimiting
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
json:
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
RouteByHeaderPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/RouteByHeaderPluginConfig'
x-speakeasy-entity: PluginRouteByHeader
RouteByHeaderPluginConfig:
properties:
config:
properties:
rules:
default: []
description: Route by header rules.
items:
properties:
condition:
additionalProperties: true
minLength: 1
type: object
upstream_name:
type: string
required:
- upstream_name
- condition
type: object
type: array
type: object
name:
const: route-by-header
type: string
RouteTransformerAdvancedPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/RouteTransformerAdvancedPluginConfig'
x-speakeasy-entity: PluginRouteTransformerAdvanced
RouteTransformerAdvancedPluginConfig:
properties:
config:
properties:
escape_path:
default: false
type: boolean
host:
type: string
path:
type: string
port:
type: string
type: object
name:
const: route-transformer-advanced
type: string
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
redis:
properties:
cluster_max_redirections:
default: 5
description: Maximum retry attempts for redirection.
type: integer
cluster_nodes:
description: Cluster addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Cluster. The minimum length of the array is 1 element.
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
minLength: 1
type: array
connect_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
connection_is_proxied:
default: false
description: If the connection to Redis is proxied (e.g. Envoy), set it `true`. Set the `host` and `port` to point to the proxy address.
type: boolean
database:
default: 0
description: Database to use for the Redis connection when using the `redis` strategy
type: integer
host:
default: 127.0.0.1
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:
default: 6379
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
prefix:
description: The Redis session key prefix.
type: string
read_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
send_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
sentinel_master:
description: Sentinel master to use for Redis connections. Defining this value implies using Redis Sentinel.
type: string
sentinel_nodes:
description: Sentinel node addresses to use for Redis connections when the `redis` strategy is defined. Defining this field implies using a Redis Sentinel. The minimum length of the array is 1 element.
items:
properties:
host:
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
minLength: 1
type: array
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
socket:
description: The Redis unix socket path.
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
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
shorthand_fields:
cluster_addresses:
items:
type: string
minLength: 1
type: array
sentinel_addresses:
items:
type: string
minLength: 1
type: array
timeout:
translate_backwards:
- connect_timeout
type: integer
type: object
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_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_max_redirections:
translate_backwards:
- redis
- cluster_max_redirections
type: integer
session_redis_cluster_maxredirections:
translate_backwards:
- redis
- cluster_max_redirections
type: integer
session_redis_cluster_nodes:
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
translate_backwards:
- redis
- cluster_nodes
type: array
session_redis_connect_timeout:
translate_backwards:
- redis
- connect_timeout
type: integer
session_redis_host:
translate_backwards:
- redis
- host
type: string
session_redis_password:
translate_backwards:
- redis
- password
type: string
session_redis_port:
translate_backwards:
- redis
- port
type: integer
session_redis_prefix:
translate_backwards:
- redis
- prefix
type: string
session_redis_read_timeout:
translate_backwards:
- redis
- read_timeout
type: integer
session_redis_send_timeout:
translate_backwards:
- redis
- send_timeout
type: integer
session_redis_server_name:
translate_backwards:
- redis
- server_name
type: string
session_redis_socket:
translate_backwards:
- redis
- socket
type: string
session_redis_ssl:
translate_backwards:
- redis
- ssl
type: boolean
session_redis_ssl_verify:
translate_backwards:
- redis
- ssl_verify
type: boolean
session_redis_username:
translate_backwards:
- redis
- username
type: string
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
SessionPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/SessionPluginConfig'
x-speakeasy-entity: PluginSession
SessionPluginConfig:
properties:
config:
properties:
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
audience:
default: default
description: The session audience, which is the intended target application. For example `"my-application"`.
type: string
cookie_domain:
description: The domain with which the cookie is intended to be exchanged.
type: string
cookie_http_only:
default: true
description: Applies the `HttpOnly` tag so that the cookie is sent only to a server.
type: boolean
cookie_name:
default: session
description: The name of the cookie.
type: string
cookie_path:
default: /
description: The resource in the host where the cookie is available.
type: string
cookie_same_site:
default: Strict
description: Determines whether and how a cookie may be sent with cross-site requests.
enum:
- Strict
- Lax
- None
- Default
type: string
cookie_secure:
default: true
description: Applies the Secure directive so that the cookie may be sent to the server only with an encrypted request over the HTTPS protocol.
type: boolean
idling_timeout:
default: 900
description: The session cookie idle time, in seconds.
type: number
logout_methods:
default:
- POST
- DELETE
description: A set of HTTP methods that the plugin will respond to.
items:
enum:
- GET
- POST
- DELETE
type: string
type: array
logout_post_arg:
default: session_logout
description: The POST argument passed to logout requests. Do not change this property.
type: string
logout_query_arg:
default: session_logout
description: The query argument passed to logout requests.
type: string
read_body_for_logout:
default: false
type: boolean
remember:
default: false
description: Enables or disables persistent sessions.
type: boolean
remember_absolute_timeout:
default: 2.592e+06
description: The persistent session absolute timeout limit, in seconds.
type: number
remember_cookie_name:
default: remember
description: Persistent session cookie name. Use with the `remember` configuration parameter.
type: string
remember_rolling_timeout:
default: 604800
description: The persistent session rolling timeout window, in seconds.
type: number
request_headers:
description: List of information to include, as headers, in the response to the downstream.
items:
enum:
- id
- audience
- subject
- timeout
- idling-timeout
- rolling-timeout
- absolute-timeout
type: string
type: array
response_headers:
description: List of information to include, as headers, in the response to the downstream.
items:
enum:
- id
- audience
- subject
- timeout
- idling-timeout
- rolling-timeout
- absolute-timeout
type: string
type: array
rolling_timeout:
default: 3600
description: The session cookie rolling timeout, in seconds. Specifies how long the session can be used until it needs to be renewed.
type: number
secret:
default: KGg8ztcE9GbvoU8omRUBHE7fxIRY48WYl2Gn0fwuC6Aw
description: The secret that is used in keyed HMAC generation.
type: string
stale_ttl:
default: 10
description: The duration, in seconds, after which an old cookie is discarded, starting from the moment when the session becomes outdated and is replaced by a new one.
type: number
storage:
default: cookie
description: 'Determines where the session data is stored. `kong`: Stores encrypted session data into Kong''s current database strategy; the cookie will not contain any session data. `cookie`: Stores encrypted session data within the cookie itself.'
enum:
- cookie
- kong
type: string
shorthand_fields:
cookie_discard:
type: number
cookie_httponly:
type: boolean
cookie_idletime:
type: number
cookie_lifetime:
type: number
cookie_persistent:
type: boolean
cookie_renew:
type: number
cookie_samesite:
type: string
type: object
name:
const: session
type: string
StatsdAdvancedPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/StatsdAdvancedPluginConfig'
x-speakeasy-entity: PluginStatsdAdvanced
StatsdAdvancedPluginConfig:
properties:
config:
properties:
allow_status_codes:
description: List of status code ranges that are allowed to be logged in metrics.
items:
pattern: ^[0-9]+-[0-9]+$
type: string
type: array
consumer_identifier_default:
default: custom_id
description: The default consumer identifier for metrics. This will take effect when a metric's consumer identifier is omitted. Allowed values are `custom_id`, `consumer_id`, `username`.
enum:
- consumer_id
- custom_id
- username
type: string
host:
default: localhost
description: A string representing a host name, such as example.com.
type: string
hostname_in_prefix:
default: false
description: Include the `hostname` in the `prefix` for each metric name.
type: boolean
metrics:
default:
- name: cache_datastore_misses_total
sample_rate: 1
stat_type: counter
description: List of Metrics to be logged.
items:
properties:
consumer_identifier:
enum:
- consumer_id
- custom_id
- username
type: string
name:
enum:
- kong_latency
- latency
- request_count
- request_per_user
- request_size
- response_size
- status_count
- status_count_per_user
- unique_users
- upstream_latency
- status_count_per_workspace
- status_count_per_user_per_route
- shdict_usage
- cache_datastore_hits_total
- cache_datastore_misses_total
type: string
sample_rate:
minimum: 0
type: number
service_identifier:
enum:
- service_id
- service_name
- service_host
- service_name_or_host
type: string
stat_type:
enum:
- counter
- gauge
- histogram
- meter
- set
- timer
type: string
workspace_identifier:
enum:
- workspace_id
- workspace_name
type: string
required:
- name
- stat_type
type: object
type: array
port:
default: 8125
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
prefix:
default: kong
description: String to prefix to each metric's name.
type: string
queue:
properties:
concurrency_limit:
default: 1
description: The number of of queue delivery timers. -1 indicates unlimited.
enum:
- -1
- 1
type: integer
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
service_identifier_default:
default: service_name_or_host
description: The default service identifier for metrics. This will take effect when a metric's service identifier is omitted. Allowed values are `service_name_or_host`, `service_id`, `service_name`, `service_host`.
enum:
- service_id
- service_name
- service_host
- service_name_or_host
type: string
udp_packet_size:
default: 0
description: Combine UDP packet up to the size configured. If zero (0), don't combine the UDP packet. Must be a number between 0 and 65507 (inclusive).
maximum: 65507
minimum: 0
type: number
use_tcp:
default: false
description: Use TCP instead of UDP.
type: boolean
workspace_identifier_default:
default: workspace_id
description: 'The default workspace identifier for metrics. This will take effect when a metric''s workspace identifier is omitted. Allowed values are `workspace_id`, `workspace_name`. '
enum:
- workspace_id
- workspace_name
type: string
type: object
name:
const: statsd-advanced
type: string
StatsdPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/StatsdPluginConfig'
x-speakeasy-entity: PluginStatsd
StatsdPluginConfig:
properties:
config:
properties:
allow_status_codes:
description: List of status code ranges that are allowed to be logged in metrics.
items:
pattern: ^[0-9]+-[0-9]+$
type: string
type: array
consumer_identifier_default:
default: custom_id
enum:
- consumer_id
- custom_id
- username
type: string
flush_timeout:
type: number
host:
default: localhost
description: The IP address or hostname of StatsD server to send data to.
type: string
hostname_in_prefix:
default: false
type: boolean
metrics:
description: List of metrics to be logged.
items:
properties:
consumer_identifier:
description: Authenticated user detail.
enum:
- consumer_id
- custom_id
- username
type: string
name:
description: StatsD metric’s name.
enum:
- kong_latency
- latency
- request_count
- request_per_user
- request_size
- response_size
- status_count
- status_count_per_user
- unique_users
- upstream_latency
- status_count_per_workspace
- status_count_per_user_per_route
- shdict_usage
- cache_datastore_hits_total
- cache_datastore_misses_total
type: string
sample_rate:
description: Sampling rate
minimum: 0
type: number
service_identifier:
description: Service detail.
enum:
- service_id
- service_name
- service_host
- service_name_or_host
type: string
stat_type:
description: Determines what sort of event a metric represents.
enum:
- counter
- gauge
- histogram
- meter
- set
- timer
type: string
workspace_identifier:
description: Workspace detail.
enum:
- workspace_id
- workspace_name
type: string
required:
- name
- stat_type
type: object
type: array
port:
default: 8125
description: The port of StatsD server to send data to.
maximum: 65535
minimum: 0
type: integer
prefix:
default: kong
description: String to prefix to each metric's name.
type: string
queue:
properties:
concurrency_limit:
default: 1
description: The number of of queue delivery timers. -1 indicates unlimited.
enum:
- -1
- 1
type: integer
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
queue_size:
type: integer
retry_count:
type: integer
service_identifier_default:
default: service_name_or_host
enum:
- service_id
- service_name
- service_host
- service_name_or_host
type: string
tag_style:
enum:
- dogstatsd
- influxdb
- librato
- signalfx
type: string
udp_packet_size:
default: 0
maximum: 65507
minimum: 0
type: number
use_tcp:
default: false
type: boolean
workspace_identifier_default:
default: workspace_id
enum:
- workspace_id
- workspace_name
type: string
type: object
name:
const: statsd
type: string
SyslogPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/SyslogPluginConfig'
x-speakeasy-entity: PluginSyslog
SyslogPluginConfig:
properties:
config:
properties:
client_errors_severity:
default: info
enum:
- debug
- info
- notice
- warning
- err
- crit
- alert
- emerg
type: string
custom_fields_by_lua:
additionalProperties: true
description: Lua code as a key-value map
type: object
facility:
default: user
description: The facility is used by the operating system to decide how to handle each log message.
enum:
- auth
- authpriv
- cron
- daemon
- ftp
- kern
- lpr
- mail
- news
- syslog
- user
- uucp
- local0
- local1
- local2
- local3
- local4
- local5
- local6
- local7
type: string
log_level:
default: info
enum:
- debug
- info
- notice
- warning
- err
- crit
- alert
- emerg
type: string
server_errors_severity:
default: info
enum:
- debug
- info
- notice
- warning
- err
- crit
- alert
- emerg
type: string
successful_severity:
default: info
enum:
- debug
- info
- notice
- warning
- err
- crit
- alert
- emerg
type: string
type: object
name:
const: syslog
type: string
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
TcpLogPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/TcpLogPluginConfig'
x-speakeasy-entity: PluginTcpLog
TcpLogPluginConfig:
properties:
config:
properties:
custom_fields_by_lua:
additionalProperties: true
description: A list of key-value pairs, where the key is the name of a log field and the value is a chunk of Lua code, whose return value sets or replaces the log field value.
type: object
host:
description: The IP address or host name to send data to.
type: string
keepalive:
default: 60000
description: An optional value in milliseconds that defines how long an idle connection lives before being closed.
type: number
port:
description: The port to send data to on the upstream server.
maximum: 65535
minimum: 0
type: integer
timeout:
default: 10000
description: An optional timeout in milliseconds when sending data to the upstream server.
type: number
tls:
default: false
description: Indicates whether to perform a TLS handshake against the remote server.
type: boolean
tls_sni:
description: An optional string that defines the SNI (Server Name Indication) hostname to send in the TLS handshake.
type: string
type: object
name:
const: tcp-log
type: string
TlsHandshakeModifierPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/TlsHandshakeModifierPluginConfig'
x-speakeasy-entity: PluginTlsHandshakeModifier
TlsHandshakeModifierPluginConfig:
properties:
config:
properties:
tls_client_certificate:
default: REQUEST
description: TLS Client Certificate
enum:
- REQUEST
type: string
type: object
name:
const: tls-handshake-modifier
type: string
TlsMetadataHeadersPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/TlsMetadataHeadersPluginConfig'
x-speakeasy-entity: PluginTlsMetadataHeaders
TlsMetadataHeadersPluginConfig:
properties:
config:
properties:
client_cert_fingerprint_header_name:
default: X-Client-Cert-Fingerprint
description: Define the HTTP header name used for the SHA1 fingerprint of the client certificate.
type: string
client_cert_header_name:
default: X-Client-Cert
description: Define the HTTP header name used for the PEM format URL encoded client certificate.
type: string
client_cert_issuer_dn_header_name:
default: X-Client-Cert-Issuer-DN
description: Define the HTTP header name used for the issuer DN of the client certificate.
type: string
client_cert_subject_dn_header_name:
default: X-Client-Cert-Subject-DN
description: Define the HTTP header name used for the subject DN of the client certificate.
type: string
client_serial_header_name:
default: X-Client-Cert-Serial
description: Define the HTTP header name used for the serial number of the client certificate.
type: string
inject_client_cert_details:
default: false
description: Enables TLS client certificate metadata values to be injected into HTTP headers.
type: boolean
type: object
name:
const: tls-metadata-headers
type: string
UdpLogPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/UdpLogPluginConfig'
x-speakeasy-entity: PluginUdpLog
UdpLogPluginConfig:
properties:
config:
properties:
custom_fields_by_lua:
additionalProperties: true
description: Lua code as a key-value map
type: object
host:
description: A string representing a host name, such as example.com.
type: string
port:
description: An integer representing a port number between 0 and 65535, inclusive.
maximum: 65535
minimum: 0
type: integer
timeout:
default: 10000
description: An optional timeout in milliseconds when sending data to the upstream server.
type: number
type: object
name:
const: udp-log
type: string
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
UpstreamTimeoutPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/UpstreamTimeoutPluginConfig'
x-speakeasy-entity: PluginUpstreamTimeout
UpstreamTimeoutPluginConfig:
properties:
config:
properties:
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
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
type: object
name:
const: upstream-timeout
type: string
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
VaultAuthPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/VaultAuthPluginConfig'
x-speakeasy-entity: PluginVaultAuth
VaultAuthPluginConfig:
properties:
config:
properties:
access_token_name:
default: access_token
description: Describes an array of comma-separated parameter names where the plugin looks for an access token. The client must send the access token in one of those key names, and the plugin will try to read the credential from a header or the querystring parameter with the same name. The key names can only contain [a-z], [A-Z], [0-9], [_], and [-].
items:
description: A string representing an HTTP header name.
type: string
type: string
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 fails with an authentication failure `4xx`. 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 header or querystring containing the key) before proxying it.
type: boolean
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_token_name:
default: secret_token
description: Describes an array of comma-separated parameter names where the plugin looks for a secret token. The client must send the secret in one of those key names, and the plugin will try to read the credential from a header or the querystring parameter with the same name. The key names can only contain [a-z], [A-Z], [0-9], [_], and [-].
items:
description: A string representing an HTTP header name.
type: string
type: string
tokens_in_body:
default: false
description: If enabled, the plugin will read the request body (if said request has one and its MIME type is supported) and try to find the key in it. Supported MIME types are `application/www-form-urlencoded`, `application/json`, and `multipart/form-data`.
type: boolean
vault:
description: A reference to an existing `vault` object within the database. `vault` entities define the connection and authentication parameters used to connect to a Vault HTTP(S) API.
type: string
type: object
name:
const: vault-auth
type: string
WebsocketSizeLimitPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/WebsocketSizeLimitPluginConfig'
x-speakeasy-entity: PluginWebsocketSizeLimit
WebsocketSizeLimitPluginConfig:
properties:
config:
properties:
client_max_payload:
maximum: 3.3554432e+07
minimum: 1
type: integer
upstream_max_payload:
maximum: 3.3554432e+07
minimum: 1
type: integer
type: object
name:
const: websocket-size-limit
type: string
WebsocketValidatorPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/WebsocketValidatorPluginConfig'
x-speakeasy-entity: PluginWebsocketValidator
WebsocketValidatorPluginConfig:
properties:
config:
properties:
client:
properties:
binary:
properties:
schema:
description: Schema used to validate upstream-originated binary frames. The semantics of this field depend on the validation type set by `config.upstream.binary.type`.
type: string
type:
description: The corresponding validation library for `config.upstream.binary.schema`. Currently, only `draft4` is supported.
enum:
- draft4
type: string
required:
- type
- schema
type: object
text:
properties:
schema:
description: Schema used to validate upstream-originated binary frames. The semantics of this field depend on the validation type set by `config.upstream.binary.type`.
type: string
type:
description: The corresponding validation library for `config.upstream.binary.schema`. Currently, only `draft4` is supported.
enum:
- draft4
type: string
required:
- type
- schema
type: object
type: object
upstream:
properties:
binary:
properties:
schema:
description: Schema used to validate upstream-originated binary frames. The semantics of this field depend on the validation type set by `config.upstream.binary.type`.
type: string
type:
description: The corresponding validation library for `config.upstream.binary.schema`. Currently, only `draft4` is supported.
enum:
- draft4
type: string
required:
- type
- schema
type: object
text:
properties:
schema:
description: Schema used to validate upstream-originated binary frames. The semantics of this field depend on the validation type set by `config.upstream.binary.type`.
type: string
type:
description: The corresponding validation library for `config.upstream.binary.schema`. Currently, only `draft4` is supported.
enum:
- draft4
type: string
required:
- type
- schema
type: object
type: object
type: object
name:
const: websocket-validator
type: string
XmlThreatProtectionPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/XmlThreatProtectionPluginConfig'
x-speakeasy-entity: PluginXmlThreatProtection
XmlThreatProtectionPluginConfig:
properties:
config:
properties:
allow_dtd:
default: false
description: Indicates whether an XML Document Type Definition (DTD) section is allowed.
type: boolean
allowed_content_types:
default: []
description: A list of Content-Type values with payloads that are allowed, but aren't validated.
items:
pattern: ^[^\t\n\v\f\r ]+\/[^ ;]+$
type: string
type: array
attribute:
default: 1.048576e+06
description: Maximum size of the attribute value.
minimum: 0
type: integer
bla_max_amplification:
default: 100
description: Sets the maximum allowed amplification. This protects against the Billion Laughs Attack.
minimum: 1
type: number
bla_threshold:
default: 8.388608e+06
description: Sets the threshold after which the protection starts. This protects against the Billion Laughs Attack.
minimum: 1024
type: integer
buffer:
default: 1.048576e+06
description: Maximum size of the unparsed buffer (see below).
minimum: 0
type: integer
checked_content_types:
default:
- application/xml
description: A list of Content-Type values with payloads that must be validated.
items:
pattern: ^[^\t\n\v\f\r ]+\/[^ ;]+$
type: string
type: array
comment:
default: 1024
description: Maximum size of comments.
minimum: 0
type: integer
document:
default: 1.048576e+07
description: Maximum size of the entire document.
minimum: 0
type: integer
entity:
default: 1024
description: Maximum size of entity values in EntityDecl.
minimum: 0
type: integer
entityname:
default: 1024
description: Maximum size of entity names in EntityDecl.
minimum: 0
type: integer
entityproperty:
default: 1024
description: Maximum size of systemId, publicId, or notationName in EntityDecl.
minimum: 0
type: integer
localname:
default: 1024
description: Maximum size of the localname. This applies to tags and attributes.
minimum: 0
type: integer
max_attributes:
default: 100
description: 'Maximum number of attributes allowed on a tag, including default ones. Note: If namespace-aware parsing is disabled, then the namespaces definitions are counted as attributes.'
minimum: 0
type: integer
max_children:
default: 100
description: 'Maximum number of children allowed (Element, Text, Comment, ProcessingInstruction, CDATASection). Note: Adjacent text and CDATA sections are counted as one. For example, text-cdata-text-cdata is one child.'
minimum: 0
type: integer
max_depth:
default: 50
description: Maximum depth of tags. Child elements such as Text or Comments are not counted as another level.
minimum: 0
type: integer
max_namespaces:
default: 20
description: Maximum number of namespaces defined on a tag. This value is required if parsing is namespace-aware.
minimum: 0
type: integer
namespace_aware:
default: true
description: If not parsing namespace aware, all prefixes and namespace attributes will be counted as regular attributes and element names, and validated as such.
type: boolean
namespaceuri:
default: 1024
description: Maximum size of the namespace URI. This value is required if parsing is namespace-aware.
minimum: 0
type: integer
pidata:
default: 1024
description: Maximum size of processing instruction data.
minimum: 0
type: integer
pitarget:
default: 1024
description: Maximum size of processing instruction targets.
minimum: 0
type: integer
prefix:
default: 1024
description: Maximum size of the prefix. This applies to tags and attributes. This value is required if parsing is namespace-aware.
minimum: 0
type: integer
text:
default: 1.048576e+06
description: Maximum text inside tags (counted over all adjacent text/CDATA elements combined).
minimum: 0
type: integer
type: object
name:
const: xml-threat-protection
type: string
ZipkinPlugin:
allOf:
- $ref: '#/components/schemas/Plugin'
- $ref: '#/components/schemas/ZipkinPluginConfig'
x-speakeasy-entity: PluginZipkin
ZipkinPluginConfig:
properties:
config:
properties:
connect_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
default_header_type:
default: b3
description: Allows specifying the type of header to be added to requests with no pre-existing tracing headers and when `config.header_type` is set to `"preserve"`. When `header_type` is set to any other value, `default_header_type` is ignored.
enum:
- b3
- b3-single
- w3c
- jaeger
- ot
- aws
- datadog
- gcp
type: string
default_service_name:
description: Set a default service name to override `unknown-service-name` in the Zipkin spans.
type: string
header_type:
default: preserve
description: All HTTP requests going through the plugin are tagged with a tracing HTTP request. This property codifies what kind of tracing header the plugin expects on incoming requests
enum:
- preserve
- ignore
- b3
- b3-single
- w3c
- jaeger
- ot
- aws
- datadog
- gcp
type: string
http_endpoint:
description: A string representing a URL, such as https://example.com/path/to/resource?q=search.
type: string
http_response_header_for_traceid:
type: string
http_span_name:
default: method
description: Specify whether to include the HTTP path in the span name.
enum:
- method
- method_path
type: string
include_credential:
default: true
description: Specify whether the credential of the currently authenticated consumer should be included in metadata sent to the Zipkin server.
type: boolean
local_service_name:
default: kong
description: The name of the service as displayed in Zipkin.
type: string
phase_duration_flavor:
default: annotations
description: Specify whether to include the duration of each phase as an annotation or a tag.
enum:
- annotations
- tags
type: string
propagation:
default:
default_format: b3
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:
- w3c
- datadog
- b3
- gcp
- b3-single
- jaeger
- aws
- ot
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:
- w3c
- datadog
- b3
- gcp
- jaeger
- aws
- ot
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
- w3c
- datadog
- b3
- gcp
- b3-single
- jaeger
- aws
- ot
type: string
type: array
required:
- default_format
type: object
queue:
properties:
concurrency_limit:
default: 1
description: The number of of queue delivery timers. -1 indicates unlimited.
enum:
- -1
- 1
type: integer
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
sample_ratio:
default: 0.001
description: 'How often to sample requests that do not contain trace IDs. Set to `0` to turn sampling off, or to `1` to sample **all** requests. '
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
static_tags:
description: The tags specified on this property will be added to the generated request traces.
items:
properties:
name:
not_one_of:
- error
- http.method
- http.path
- http.status_code
- kong.balancer.state
- kong.balancer.try
- kong.consumer
- kong.credential
- kong.node.id
- kong.route
- kong.service
- lc
- peer.hostname
type: string
value:
type: string
required:
- name
- value
type: object
type: array
tags_header:
default: Zipkin-Tags
description: The Zipkin plugin will add extra headers to the tags associated with any HTTP requests that come with a header named as configured by this property.
type: string
traceid_byte_count:
default: 16
description: The length in bytes of each request's Trace ID.
enum:
- 8
- 16
type: integer
type: object
name:
const: zipkin
type: string
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
next:
$ref: '#/components/schemas/PaginationNextResponse'
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
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
parameters:
- $ref: '#/components/parameters/ACLId'
patch:
description: Update an ACL
operationId: update-acl
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
put:
description: Create or Update ACL using ID.
operationId: upsert-acl
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
x-speakeasy-entity-operation: ACL#update
/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
next:
$ref: '#/components/schemas/PaginationNextResponse'
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
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
parameters:
- $ref: '#/components/parameters/BasicAuthId'
patch:
description: Update a Basic-auth credential
operationId: update-basic-auth
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
put:
description: Create or Update Basic-auth credential using ID.
operationId: upsert-basic-auth
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
x-speakeasy-entity-operation: BasicAuth#update
/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
next:
$ref: '#/components/schemas/PaginationNextResponse'
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
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
parameters:
- $ref: '#/components/parameters/CACertificateId'
patch:
description: Update a CA Certificate
operationId: update-ca_certificate
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
put:
description: Create or Update CA Certificate using ID.
operationId: upsert-ca_certificate
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
x-speakeasy-entity-operation: CACertificate#update
/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
next:
$ref: '#/components/schemas/PaginationNextResponse'
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
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
parameters:
- $ref: '#/components/parameters/CertificateId'
patch:
description: Update a Certificate
operationId: update-certificate
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
put:
description: Create or Update Certificate using ID.
operationId: upsert-certificate
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
x-speakeasy-entity-operation: Certificate#update
/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
next:
$ref: '#/components/schemas/PaginationNextResponse'
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
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ConsumerGroupInsideWrapper'
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
parameters:
- $ref: '#/components/parameters/ConsumerGroupId'
patch:
description: Update a Consumer Group
operationId: update-consumer_group
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
put:
description: Create or Update Consumer Group using ID.
operationId: upsert-consumer_group
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
x-speakeasy-entity-operation: ConsumerGroup#update
/consumer_groups/{ConsumerGroupId}/consumers:
parameters:
- $ref: '#/components/parameters/ConsumerGroupIdManageConsumers'
post:
description: Add a consumer to a consumer group
operationId: add-consumer-to-group
requestBody:
content:
application/json:
schema:
properties:
consumer:
example: cf4c7e60-11db-49dd-b300-7c7e5f0f7e6b
type: string
x-speakeasy-name-override: consumer_id
type: object
responses:
"201":
content:
application/json:
schema:
properties:
consumer_group:
$ref: '#/components/schemas/ConsumerGroup'
consumers:
items:
$ref: '#/components/schemas/Consumer'
type: array
type: object
description: Consumer added to group
summary: Add consumer to consumer group
tags:
- Consumer Groups
x-speakeasy-entity-operation: GatewayConsumerGroupMember#create
/consumer_groups/{ConsumerGroupId}/consumers/{ConsumerId}:
delete:
description: Remove a consumer from a consumer group
operationId: remove-consumer-from-group
responses:
"204":
description: Consumer removed from group
summary: Remove consumer from consumer group
tags:
- Consumer Groups
x-speakeasy-entity-operation: GatewayConsumerGroupMember#delete
parameters:
- $ref: '#/components/parameters/ConsumerGroupIdManageConsumers'
- in: path
name: ConsumerId
required: true
schema:
type: string
/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
next:
$ref: '#/components/schemas/PaginationNextResponse'
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
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
parameters:
- $ref: '#/components/parameters/ConsumerIdOrUsername'
patch:
description: Update a Consumer
operationId: update-consumer
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
put:
description: Create or Update Consumer using ID or username.
operationId: upsert-consumer
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
x-speakeasy-entity-operation: Consumer#update
/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
next:
$ref: '#/components/schemas/PaginationNextResponse'
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
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
parameters:
- $ref: '#/components/parameters/HMACAuthId'
patch:
description: Update a HMAC-auth credential
operationId: update-hmac-auth
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
put:
description: Create or Update HMAC-auth credential using ID.
operationId: upsert-hmac-auth
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
x-speakeasy-entity-operation: HMACAuth#update
/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
next:
$ref: '#/components/schemas/PaginationNextResponse'
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
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
parameters:
- $ref: '#/components/parameters/JWTId'
patch:
description: Update a JWT
operationId: update-jwt
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
put:
description: Create or Update JWT using ID.
operationId: upsert-jwt
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
x-speakeasy-entity-operation: JWT#update
/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
next:
$ref: '#/components/schemas/PaginationNextResponse'
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
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
parameters:
- $ref: '#/components/parameters/KeyAuthId'
patch:
description: Update an API-key
operationId: update-key-auth
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
put:
description: Create or Update API-key using ID.
operationId: upsert-key-auth
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
x-speakeasy-entity-operation: KeyAuth#update
/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
next:
$ref: '#/components/schemas/PaginationNextResponse'
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
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
parameters:
- $ref: '#/components/parameters/KeySetIdOrName'
patch:
description: Update a KeySet
operationId: update-key-set
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
put:
description: Create or Update KeySet using ID or name.
operationId: upsert-key-set
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
x-speakeasy-entity-operation: KeySet#update
/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
next:
$ref: '#/components/schemas/PaginationNextResponse'
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
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
parameters:
- $ref: '#/components/parameters/KeyIdOrName'
patch:
description: Update a Key
operationId: update-key
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
put:
description: Create or Update Key using ID or name.
operationId: upsert-key
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
x-speakeasy-entity-operation: Key#update
/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
next:
$ref: '#/components/schemas/PaginationNextResponse'
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#Acme:
post:
description: Create a Acme plugin
operationId: create-acme-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAcmePlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/AcmePlugin'
description: Created Acme plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a Acme plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginAcme#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#AiRequestTransformer:
post:
description: Create a AiRequestTransformer plugin
operationId: create-airequesttransformer-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAiRequestTransformerPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/AiRequestTransformerPlugin'
description: Created AiRequestTransformer plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a AiRequestTransformer plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginAiRequestTransformer#create
/plugins#AiResponseTransformer:
post:
description: Create a AiResponseTransformer plugin
operationId: create-airesponsetransformer-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAiResponseTransformerPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/AiResponseTransformerPlugin'
description: Created AiResponseTransformer plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a AiResponseTransformer plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginAiResponseTransformer#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#AzureFunctions:
post:
description: Create a AzureFunctions plugin
operationId: create-azurefunctions-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAzureFunctionsPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/AzureFunctionsPlugin'
description: Created AzureFunctions plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a AzureFunctions plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginAzureFunctions#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#BotDetection:
post:
description: Create a BotDetection plugin
operationId: create-botdetection-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBotDetectionPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/BotDetectionPlugin'
description: Created BotDetection plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a BotDetection plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginBotDetection#create
/plugins#Canary:
post:
description: Create a Canary plugin
operationId: create-canary-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCanaryPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/CanaryPlugin'
description: Created Canary plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a Canary plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginCanary#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#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#Datadog:
post:
description: Create a Datadog plugin
operationId: create-datadog-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDatadogPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/DatadogPlugin'
description: Created Datadog plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a Datadog plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginDatadog#create
/plugins#Degraphql:
post:
description: Create a Degraphql plugin
operationId: create-degraphql-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDegraphqlPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/DegraphqlPlugin'
description: Created Degraphql plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a Degraphql plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginDegraphql#create
/plugins#ExitTransformer:
post:
description: Create a ExitTransformer plugin
operationId: create-exittransformer-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateExitTransformerPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/ExitTransformerPlugin'
description: Created ExitTransformer plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a ExitTransformer plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginExitTransformer#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#ForwardProxy:
post:
description: Create a ForwardProxy plugin
operationId: create-forwardproxy-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateForwardProxyPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/ForwardProxyPlugin'
description: Created ForwardProxy plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a ForwardProxy plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginForwardProxy#create
/plugins#GraphqlProxyCacheAdvanced:
post:
description: Create a GraphqlProxyCacheAdvanced plugin
operationId: create-graphqlproxycacheadvanced-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateGraphqlProxyCacheAdvancedPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/GraphqlProxyCacheAdvancedPlugin'
description: Created GraphqlProxyCacheAdvanced plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a GraphqlProxyCacheAdvanced plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginGraphqlProxyCacheAdvanced#create
/plugins#GraphqlRateLimitingAdvanced:
post:
description: Create a GraphqlRateLimitingAdvanced plugin
operationId: create-graphqlratelimitingadvanced-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateGraphqlRateLimitingAdvancedPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/GraphqlRateLimitingAdvancedPlugin'
description: Created GraphqlRateLimitingAdvanced plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a GraphqlRateLimitingAdvanced plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginGraphqlRateLimitingAdvanced#create
/plugins#GrpcGateway:
post:
description: Create a GrpcGateway plugin
operationId: create-grpcgateway-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateGrpcGatewayPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/GrpcGatewayPlugin'
description: Created GrpcGateway plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a GrpcGateway plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginGrpcGateway#create
/plugins#GrpcWeb:
post:
description: Create a GrpcWeb plugin
operationId: create-grpcweb-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateGrpcWebPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/GrpcWebPlugin'
description: Created GrpcWeb plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a GrpcWeb plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginGrpcWeb#create
/plugins#HmacAuth:
post:
description: Create a HmacAuth plugin
operationId: create-hmacauth-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateHmacAuthPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/HmacAuthPlugin'
description: Created HmacAuth plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a HmacAuth plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginHmacAuth#create
/plugins#HttpLog:
post:
description: Create a HttpLog plugin
operationId: create-httplog-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateHttpLogPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/HttpLogPlugin'
description: Created HttpLog plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a HttpLog plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginHttpLog#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#JweDecrypt:
post:
description: Create a JweDecrypt plugin
operationId: create-jwedecrypt-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateJweDecryptPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/JweDecryptPlugin'
description: Created JweDecrypt plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a JweDecrypt plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginJweDecrypt#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#KafkaLog:
post:
description: Create a KafkaLog plugin
operationId: create-kafkalog-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateKafkaLogPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/KafkaLogPlugin'
description: Created KafkaLog plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a KafkaLog plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginKafkaLog#create
/plugins#KafkaUpstream:
post:
description: Create a KafkaUpstream plugin
operationId: create-kafkaupstream-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateKafkaUpstreamPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/KafkaUpstreamPlugin'
description: Created KafkaUpstream plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a KafkaUpstream plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginKafkaUpstream#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#KeyAuthEnc:
post:
description: Create a KeyAuthEnc plugin
operationId: create-keyauthenc-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateKeyAuthEncPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/KeyAuthEncPlugin'
description: Created KeyAuthEnc plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a KeyAuthEnc plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginKeyAuthEnc#create
/plugins#KonnectApplicationAuth:
post:
description: Create a KonnectApplicationAuth plugin
operationId: create-konnectapplicationauth-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateKonnectApplicationAuthPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/KonnectApplicationAuthPlugin'
description: Created KonnectApplicationAuth plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a KonnectApplicationAuth plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginKonnectApplicationAuth#create
/plugins#LdapAuth:
post:
description: Create a LdapAuth plugin
operationId: create-ldapauth-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateLdapAuthPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/LdapAuthPlugin'
description: Created LdapAuth plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a LdapAuth plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginLdapAuth#create
/plugins#LdapAuthAdvanced:
post:
description: Create a LdapAuthAdvanced plugin
operationId: create-ldapauthadvanced-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateLdapAuthAdvancedPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/LdapAuthAdvancedPlugin'
description: Created LdapAuthAdvanced plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a LdapAuthAdvanced plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginLdapAuthAdvanced#create
/plugins#Loggly:
post:
description: Create a Loggly plugin
operationId: create-loggly-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateLogglyPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/LogglyPlugin'
description: Created Loggly plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a Loggly plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginLoggly#create
/plugins#Mocking:
post:
description: Create a Mocking plugin
operationId: create-mocking-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateMockingPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/MockingPlugin'
description: Created Mocking plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a Mocking plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginMocking#create
/plugins#MtlsAuth:
post:
description: Create a MtlsAuth plugin
operationId: create-mtlsauth-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateMtlsAuthPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/MtlsAuthPlugin'
description: Created MtlsAuth plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a MtlsAuth plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginMtlsAuth#create
/plugins#OasValidation:
post:
description: Create a OasValidation plugin
operationId: create-oasvalidation-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOasValidationPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/OasValidationPlugin'
description: Created OasValidation plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a OasValidation plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginOasValidation#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#Oauth2Introspection:
post:
description: Create a Oauth2Introspection plugin
operationId: create-oauth2introspection-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOauth2IntrospectionPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/Oauth2IntrospectionPlugin'
description: Created Oauth2Introspection plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a Oauth2Introspection plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginOauth2Introspection#create
/plugins#Opa:
post:
description: Create a Opa plugin
operationId: create-opa-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOpaPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/OpaPlugin'
description: Created Opa plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a Opa plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginOpa#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#PostFunction:
post:
description: Create a PostFunction plugin
operationId: create-postfunction-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePostFunctionPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/PostFunctionPlugin'
description: Created PostFunction plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a PostFunction plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginPostFunction#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#ProxyCacheAdvanced:
post:
description: Create a ProxyCacheAdvanced plugin
operationId: create-proxycacheadvanced-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateProxyCacheAdvancedPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/ProxyCacheAdvancedPlugin'
description: Created ProxyCacheAdvanced plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a ProxyCacheAdvanced plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginProxyCacheAdvanced#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#RequestSizeLimiting:
post:
description: Create a RequestSizeLimiting plugin
operationId: create-requestsizelimiting-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRequestSizeLimitingPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/RequestSizeLimitingPlugin'
description: Created RequestSizeLimiting plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a RequestSizeLimiting plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginRequestSizeLimiting#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#RequestValidator:
post:
description: Create a RequestValidator plugin
operationId: create-requestvalidator-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRequestValidatorPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/RequestValidatorPlugin'
description: Created RequestValidator plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a RequestValidator plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginRequestValidator#create
/plugins#ResponseRatelimiting:
post:
description: Create a ResponseRatelimiting plugin
operationId: create-responseratelimiting-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateResponseRatelimitingPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseRatelimitingPlugin'
description: Created ResponseRatelimiting plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a ResponseRatelimiting plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginResponseRatelimiting#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#RouteByHeader:
post:
description: Create a RouteByHeader plugin
operationId: create-routebyheader-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRouteByHeaderPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/RouteByHeaderPlugin'
description: Created RouteByHeader plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a RouteByHeader plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginRouteByHeader#create
/plugins#RouteTransformerAdvanced:
post:
description: Create a RouteTransformerAdvanced plugin
operationId: create-routetransformeradvanced-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRouteTransformerAdvancedPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/RouteTransformerAdvancedPlugin'
description: Created RouteTransformerAdvanced plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a RouteTransformerAdvanced plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginRouteTransformerAdvanced#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#Session:
post:
description: Create a Session plugin
operationId: create-session-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSessionPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/SessionPlugin'
description: Created Session plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a Session plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginSession#create
/plugins#Statsd:
post:
description: Create a Statsd plugin
operationId: create-statsd-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateStatsdPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/StatsdPlugin'
description: Created Statsd plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a Statsd plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginStatsd#create
/plugins#StatsdAdvanced:
post:
description: Create a StatsdAdvanced plugin
operationId: create-statsdadvanced-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateStatsdAdvancedPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/StatsdAdvancedPlugin'
description: Created StatsdAdvanced plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a StatsdAdvanced plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginStatsdAdvanced#create
/plugins#Syslog:
post:
description: Create a Syslog plugin
operationId: create-syslog-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSyslogPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/SyslogPlugin'
description: Created Syslog plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a Syslog plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginSyslog#create
/plugins#TcpLog:
post:
description: Create a TcpLog plugin
operationId: create-tcplog-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTcpLogPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/TcpLogPlugin'
description: Created TcpLog plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a TcpLog plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginTcpLog#create
/plugins#TlsHandshakeModifier:
post:
description: Create a TlsHandshakeModifier plugin
operationId: create-tlshandshakemodifier-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTlsHandshakeModifierPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/TlsHandshakeModifierPlugin'
description: Created TlsHandshakeModifier plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a TlsHandshakeModifier plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginTlsHandshakeModifier#create
/plugins#TlsMetadataHeaders:
post:
description: Create a TlsMetadataHeaders plugin
operationId: create-tlsmetadataheaders-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTlsMetadataHeadersPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/TlsMetadataHeadersPlugin'
description: Created TlsMetadataHeaders plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a TlsMetadataHeaders plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginTlsMetadataHeaders#create
/plugins#UdpLog:
post:
description: Create a UdpLog plugin
operationId: create-udplog-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUdpLogPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/UdpLogPlugin'
description: Created UdpLog plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a UdpLog plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginUdpLog#create
/plugins#UpstreamTimeout:
post:
description: Create a UpstreamTimeout plugin
operationId: create-upstreamtimeout-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUpstreamTimeoutPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/UpstreamTimeoutPlugin'
description: Created UpstreamTimeout plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a UpstreamTimeout plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginUpstreamTimeout#create
/plugins#VaultAuth:
post:
description: Create a VaultAuth plugin
operationId: create-vaultauth-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateVaultAuthPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/VaultAuthPlugin'
description: Created VaultAuth plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a VaultAuth plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginVaultAuth#create
/plugins#WebsocketSizeLimit:
post:
description: Create a WebsocketSizeLimit plugin
operationId: create-websocketsizelimit-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWebsocketSizeLimitPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/WebsocketSizeLimitPlugin'
description: Created WebsocketSizeLimit plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a WebsocketSizeLimit plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginWebsocketSizeLimit#create
/plugins#WebsocketValidator:
post:
description: Create a WebsocketValidator plugin
operationId: create-websocketvalidator-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWebsocketValidatorPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/WebsocketValidatorPlugin'
description: Created WebsocketValidator plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a WebsocketValidator plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginWebsocketValidator#create
/plugins#XmlThreatProtection:
post:
description: Create a XmlThreatProtection plugin
operationId: create-xmlthreatprotection-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateXmlThreatProtectionPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/XmlThreatProtectionPlugin'
description: Created XmlThreatProtection plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a XmlThreatProtection plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginXmlThreatProtection#create
/plugins#Zipkin:
post:
description: Create a Zipkin plugin
operationId: create-zipkin-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateZipkinPlugin'
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/ZipkinPlugin'
description: Created Zipkin plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Create a Zipkin plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginZipkin#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
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
parameters:
- $ref: '#/components/parameters/PluginId'
patch:
description: Update a Plugin
operationId: update-plugin
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
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}#Acme:
delete:
description: Delete a Acme plugin
operationId: delete-acme-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a Acme plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginAcme#delete
get:
description: Get a Acme plugin
operationId: get-acme-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/AcmePlugin'
description: Acme plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a Acme plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginAcme#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a Acme plugin
operationId: update-acme-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAcmePlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/AcmePlugin'
description: Acme plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a Acme plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginAcme#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}#AiRequestTransformer:
delete:
description: Delete a AiRequestTransformer plugin
operationId: delete-airequesttransformer-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a AiRequestTransformer plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginAiRequestTransformer#delete
get:
description: Get a AiRequestTransformer plugin
operationId: get-airequesttransformer-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/AiRequestTransformerPlugin'
description: AiRequestTransformer plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a AiRequestTransformer plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginAiRequestTransformer#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a AiRequestTransformer plugin
operationId: update-airequesttransformer-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAiRequestTransformerPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/AiRequestTransformerPlugin'
description: AiRequestTransformer plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a AiRequestTransformer plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginAiRequestTransformer#update
/plugins/{PluginId}#AiResponseTransformer:
delete:
description: Delete a AiResponseTransformer plugin
operationId: delete-airesponsetransformer-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a AiResponseTransformer plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginAiResponseTransformer#delete
get:
description: Get a AiResponseTransformer plugin
operationId: get-airesponsetransformer-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/AiResponseTransformerPlugin'
description: AiResponseTransformer plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a AiResponseTransformer plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginAiResponseTransformer#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a AiResponseTransformer plugin
operationId: update-airesponsetransformer-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAiResponseTransformerPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/AiResponseTransformerPlugin'
description: AiResponseTransformer plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a AiResponseTransformer plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginAiResponseTransformer#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}#AzureFunctions:
delete:
description: Delete a AzureFunctions plugin
operationId: delete-azurefunctions-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a AzureFunctions plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginAzureFunctions#delete
get:
description: Get a AzureFunctions plugin
operationId: get-azurefunctions-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/AzureFunctionsPlugin'
description: AzureFunctions plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a AzureFunctions plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginAzureFunctions#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a AzureFunctions plugin
operationId: update-azurefunctions-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAzureFunctionsPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/AzureFunctionsPlugin'
description: AzureFunctions plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a AzureFunctions plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginAzureFunctions#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}#BotDetection:
delete:
description: Delete a BotDetection plugin
operationId: delete-botdetection-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a BotDetection plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginBotDetection#delete
get:
description: Get a BotDetection plugin
operationId: get-botdetection-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/BotDetectionPlugin'
description: BotDetection plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a BotDetection plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginBotDetection#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a BotDetection plugin
operationId: update-botdetection-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBotDetectionPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/BotDetectionPlugin'
description: BotDetection plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a BotDetection plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginBotDetection#update
/plugins/{PluginId}#Canary:
delete:
description: Delete a Canary plugin
operationId: delete-canary-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a Canary plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginCanary#delete
get:
description: Get a Canary plugin
operationId: get-canary-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/CanaryPlugin'
description: Canary plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a Canary plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginCanary#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a Canary plugin
operationId: update-canary-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCanaryPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/CanaryPlugin'
description: Canary plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a Canary plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginCanary#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}#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}#Datadog:
delete:
description: Delete a Datadog plugin
operationId: delete-datadog-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a Datadog plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginDatadog#delete
get:
description: Get a Datadog plugin
operationId: get-datadog-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/DatadogPlugin'
description: Datadog plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a Datadog plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginDatadog#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a Datadog plugin
operationId: update-datadog-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDatadogPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/DatadogPlugin'
description: Datadog plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a Datadog plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginDatadog#update
/plugins/{PluginId}#Degraphql:
delete:
description: Delete a Degraphql plugin
operationId: delete-degraphql-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a Degraphql plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginDegraphql#delete
get:
description: Get a Degraphql plugin
operationId: get-degraphql-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/DegraphqlPlugin'
description: Degraphql plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a Degraphql plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginDegraphql#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a Degraphql plugin
operationId: update-degraphql-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDegraphqlPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/DegraphqlPlugin'
description: Degraphql plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a Degraphql plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginDegraphql#update
/plugins/{PluginId}#ExitTransformer:
delete:
description: Delete a ExitTransformer plugin
operationId: delete-exittransformer-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a ExitTransformer plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginExitTransformer#delete
get:
description: Get a ExitTransformer plugin
operationId: get-exittransformer-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ExitTransformerPlugin'
description: ExitTransformer plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a ExitTransformer plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginExitTransformer#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a ExitTransformer plugin
operationId: update-exittransformer-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateExitTransformerPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ExitTransformerPlugin'
description: ExitTransformer plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a ExitTransformer plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginExitTransformer#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}#ForwardProxy:
delete:
description: Delete a ForwardProxy plugin
operationId: delete-forwardproxy-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a ForwardProxy plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginForwardProxy#delete
get:
description: Get a ForwardProxy plugin
operationId: get-forwardproxy-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ForwardProxyPlugin'
description: ForwardProxy plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a ForwardProxy plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginForwardProxy#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a ForwardProxy plugin
operationId: update-forwardproxy-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateForwardProxyPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ForwardProxyPlugin'
description: ForwardProxy plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a ForwardProxy plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginForwardProxy#update
/plugins/{PluginId}#GraphqlProxyCacheAdvanced:
delete:
description: Delete a GraphqlProxyCacheAdvanced plugin
operationId: delete-graphqlproxycacheadvanced-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a GraphqlProxyCacheAdvanced plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginGraphqlProxyCacheAdvanced#delete
get:
description: Get a GraphqlProxyCacheAdvanced plugin
operationId: get-graphqlproxycacheadvanced-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/GraphqlProxyCacheAdvancedPlugin'
description: GraphqlProxyCacheAdvanced plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a GraphqlProxyCacheAdvanced plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginGraphqlProxyCacheAdvanced#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a GraphqlProxyCacheAdvanced plugin
operationId: update-graphqlproxycacheadvanced-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateGraphqlProxyCacheAdvancedPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/GraphqlProxyCacheAdvancedPlugin'
description: GraphqlProxyCacheAdvanced plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a GraphqlProxyCacheAdvanced plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginGraphqlProxyCacheAdvanced#update
/plugins/{PluginId}#GraphqlRateLimitingAdvanced:
delete:
description: Delete a GraphqlRateLimitingAdvanced plugin
operationId: delete-graphqlratelimitingadvanced-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a GraphqlRateLimitingAdvanced plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginGraphqlRateLimitingAdvanced#delete
get:
description: Get a GraphqlRateLimitingAdvanced plugin
operationId: get-graphqlratelimitingadvanced-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/GraphqlRateLimitingAdvancedPlugin'
description: GraphqlRateLimitingAdvanced plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a GraphqlRateLimitingAdvanced plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginGraphqlRateLimitingAdvanced#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a GraphqlRateLimitingAdvanced plugin
operationId: update-graphqlratelimitingadvanced-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateGraphqlRateLimitingAdvancedPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/GraphqlRateLimitingAdvancedPlugin'
description: GraphqlRateLimitingAdvanced plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a GraphqlRateLimitingAdvanced plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginGraphqlRateLimitingAdvanced#update
/plugins/{PluginId}#GrpcGateway:
delete:
description: Delete a GrpcGateway plugin
operationId: delete-grpcgateway-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a GrpcGateway plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginGrpcGateway#delete
get:
description: Get a GrpcGateway plugin
operationId: get-grpcgateway-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/GrpcGatewayPlugin'
description: GrpcGateway plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a GrpcGateway plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginGrpcGateway#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a GrpcGateway plugin
operationId: update-grpcgateway-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateGrpcGatewayPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/GrpcGatewayPlugin'
description: GrpcGateway plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a GrpcGateway plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginGrpcGateway#update
/plugins/{PluginId}#GrpcWeb:
delete:
description: Delete a GrpcWeb plugin
operationId: delete-grpcweb-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a GrpcWeb plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginGrpcWeb#delete
get:
description: Get a GrpcWeb plugin
operationId: get-grpcweb-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/GrpcWebPlugin'
description: GrpcWeb plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a GrpcWeb plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginGrpcWeb#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a GrpcWeb plugin
operationId: update-grpcweb-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateGrpcWebPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/GrpcWebPlugin'
description: GrpcWeb plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a GrpcWeb plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginGrpcWeb#update
/plugins/{PluginId}#HmacAuth:
delete:
description: Delete a HmacAuth plugin
operationId: delete-hmacauth-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a HmacAuth plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginHmacAuth#delete
get:
description: Get a HmacAuth plugin
operationId: get-hmacauth-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/HmacAuthPlugin'
description: HmacAuth plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a HmacAuth plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginHmacAuth#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a HmacAuth plugin
operationId: update-hmacauth-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateHmacAuthPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/HmacAuthPlugin'
description: HmacAuth plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a HmacAuth plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginHmacAuth#update
/plugins/{PluginId}#HttpLog:
delete:
description: Delete a HttpLog plugin
operationId: delete-httplog-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a HttpLog plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginHttpLog#delete
get:
description: Get a HttpLog plugin
operationId: get-httplog-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/HttpLogPlugin'
description: HttpLog plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a HttpLog plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginHttpLog#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a HttpLog plugin
operationId: update-httplog-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateHttpLogPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/HttpLogPlugin'
description: HttpLog plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a HttpLog plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginHttpLog#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}#JweDecrypt:
delete:
description: Delete a JweDecrypt plugin
operationId: delete-jwedecrypt-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a JweDecrypt plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginJweDecrypt#delete
get:
description: Get a JweDecrypt plugin
operationId: get-jwedecrypt-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/JweDecryptPlugin'
description: JweDecrypt plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a JweDecrypt plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginJweDecrypt#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a JweDecrypt plugin
operationId: update-jwedecrypt-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateJweDecryptPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/JweDecryptPlugin'
description: JweDecrypt plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a JweDecrypt plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginJweDecrypt#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}#KafkaLog:
delete:
description: Delete a KafkaLog plugin
operationId: delete-kafkalog-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a KafkaLog plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginKafkaLog#delete
get:
description: Get a KafkaLog plugin
operationId: get-kafkalog-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/KafkaLogPlugin'
description: KafkaLog plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a KafkaLog plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginKafkaLog#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a KafkaLog plugin
operationId: update-kafkalog-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateKafkaLogPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/KafkaLogPlugin'
description: KafkaLog plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a KafkaLog plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginKafkaLog#update
/plugins/{PluginId}#KafkaUpstream:
delete:
description: Delete a KafkaUpstream plugin
operationId: delete-kafkaupstream-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a KafkaUpstream plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginKafkaUpstream#delete
get:
description: Get a KafkaUpstream plugin
operationId: get-kafkaupstream-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/KafkaUpstreamPlugin'
description: KafkaUpstream plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a KafkaUpstream plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginKafkaUpstream#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a KafkaUpstream plugin
operationId: update-kafkaupstream-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateKafkaUpstreamPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/KafkaUpstreamPlugin'
description: KafkaUpstream plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a KafkaUpstream plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginKafkaUpstream#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}#KeyAuthEnc:
delete:
description: Delete a KeyAuthEnc plugin
operationId: delete-keyauthenc-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a KeyAuthEnc plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginKeyAuthEnc#delete
get:
description: Get a KeyAuthEnc plugin
operationId: get-keyauthenc-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/KeyAuthEncPlugin'
description: KeyAuthEnc plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a KeyAuthEnc plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginKeyAuthEnc#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a KeyAuthEnc plugin
operationId: update-keyauthenc-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateKeyAuthEncPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/KeyAuthEncPlugin'
description: KeyAuthEnc plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a KeyAuthEnc plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginKeyAuthEnc#update
/plugins/{PluginId}#KonnectApplicationAuth:
delete:
description: Delete a KonnectApplicationAuth plugin
operationId: delete-konnectapplicationauth-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a KonnectApplicationAuth plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginKonnectApplicationAuth#delete
get:
description: Get a KonnectApplicationAuth plugin
operationId: get-konnectapplicationauth-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/KonnectApplicationAuthPlugin'
description: KonnectApplicationAuth plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a KonnectApplicationAuth plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginKonnectApplicationAuth#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a KonnectApplicationAuth plugin
operationId: update-konnectapplicationauth-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateKonnectApplicationAuthPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/KonnectApplicationAuthPlugin'
description: KonnectApplicationAuth plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a KonnectApplicationAuth plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginKonnectApplicationAuth#update
/plugins/{PluginId}#LdapAuth:
delete:
description: Delete a LdapAuth plugin
operationId: delete-ldapauth-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a LdapAuth plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginLdapAuth#delete
get:
description: Get a LdapAuth plugin
operationId: get-ldapauth-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/LdapAuthPlugin'
description: LdapAuth plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a LdapAuth plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginLdapAuth#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a LdapAuth plugin
operationId: update-ldapauth-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateLdapAuthPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/LdapAuthPlugin'
description: LdapAuth plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a LdapAuth plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginLdapAuth#update
/plugins/{PluginId}#LdapAuthAdvanced:
delete:
description: Delete a LdapAuthAdvanced plugin
operationId: delete-ldapauthadvanced-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a LdapAuthAdvanced plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginLdapAuthAdvanced#delete
get:
description: Get a LdapAuthAdvanced plugin
operationId: get-ldapauthadvanced-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/LdapAuthAdvancedPlugin'
description: LdapAuthAdvanced plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a LdapAuthAdvanced plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginLdapAuthAdvanced#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a LdapAuthAdvanced plugin
operationId: update-ldapauthadvanced-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateLdapAuthAdvancedPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/LdapAuthAdvancedPlugin'
description: LdapAuthAdvanced plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a LdapAuthAdvanced plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginLdapAuthAdvanced#update
/plugins/{PluginId}#Loggly:
delete:
description: Delete a Loggly plugin
operationId: delete-loggly-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a Loggly plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginLoggly#delete
get:
description: Get a Loggly plugin
operationId: get-loggly-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/LogglyPlugin'
description: Loggly plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a Loggly plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginLoggly#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a Loggly plugin
operationId: update-loggly-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateLogglyPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/LogglyPlugin'
description: Loggly plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a Loggly plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginLoggly#update
/plugins/{PluginId}#Mocking:
delete:
description: Delete a Mocking plugin
operationId: delete-mocking-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a Mocking plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginMocking#delete
get:
description: Get a Mocking plugin
operationId: get-mocking-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/MockingPlugin'
description: Mocking plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a Mocking plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginMocking#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a Mocking plugin
operationId: update-mocking-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateMockingPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/MockingPlugin'
description: Mocking plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a Mocking plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginMocking#update
/plugins/{PluginId}#MtlsAuth:
delete:
description: Delete a MtlsAuth plugin
operationId: delete-mtlsauth-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a MtlsAuth plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginMtlsAuth#delete
get:
description: Get a MtlsAuth plugin
operationId: get-mtlsauth-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/MtlsAuthPlugin'
description: MtlsAuth plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a MtlsAuth plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginMtlsAuth#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a MtlsAuth plugin
operationId: update-mtlsauth-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateMtlsAuthPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/MtlsAuthPlugin'
description: MtlsAuth plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a MtlsAuth plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginMtlsAuth#update
/plugins/{PluginId}#OasValidation:
delete:
description: Delete a OasValidation plugin
operationId: delete-oasvalidation-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a OasValidation plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginOasValidation#delete
get:
description: Get a OasValidation plugin
operationId: get-oasvalidation-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/OasValidationPlugin'
description: OasValidation plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a OasValidation plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginOasValidation#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a OasValidation plugin
operationId: update-oasvalidation-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOasValidationPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/OasValidationPlugin'
description: OasValidation plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a OasValidation plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginOasValidation#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}#Oauth2Introspection:
delete:
description: Delete a Oauth2Introspection plugin
operationId: delete-oauth2introspection-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a Oauth2Introspection plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginOauth2Introspection#delete
get:
description: Get a Oauth2Introspection plugin
operationId: get-oauth2introspection-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Oauth2IntrospectionPlugin'
description: Oauth2Introspection plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a Oauth2Introspection plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginOauth2Introspection#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a Oauth2Introspection plugin
operationId: update-oauth2introspection-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOauth2IntrospectionPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Oauth2IntrospectionPlugin'
description: Oauth2Introspection plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a Oauth2Introspection plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginOauth2Introspection#update
/plugins/{PluginId}#Opa:
delete:
description: Delete a Opa plugin
operationId: delete-opa-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a Opa plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginOpa#delete
get:
description: Get a Opa plugin
operationId: get-opa-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/OpaPlugin'
description: Opa plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a Opa plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginOpa#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a Opa plugin
operationId: update-opa-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOpaPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/OpaPlugin'
description: Opa plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a Opa plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginOpa#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}#PostFunction:
delete:
description: Delete a PostFunction plugin
operationId: delete-postfunction-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a PostFunction plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginPostFunction#delete
get:
description: Get a PostFunction plugin
operationId: get-postfunction-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/PostFunctionPlugin'
description: PostFunction plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a PostFunction plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginPostFunction#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a PostFunction plugin
operationId: update-postfunction-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePostFunctionPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/PostFunctionPlugin'
description: PostFunction plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a PostFunction plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginPostFunction#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}#ProxyCacheAdvanced:
delete:
description: Delete a ProxyCacheAdvanced plugin
operationId: delete-proxycacheadvanced-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a ProxyCacheAdvanced plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginProxyCacheAdvanced#delete
get:
description: Get a ProxyCacheAdvanced plugin
operationId: get-proxycacheadvanced-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ProxyCacheAdvancedPlugin'
description: ProxyCacheAdvanced plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a ProxyCacheAdvanced plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginProxyCacheAdvanced#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a ProxyCacheAdvanced plugin
operationId: update-proxycacheadvanced-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateProxyCacheAdvancedPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ProxyCacheAdvancedPlugin'
description: ProxyCacheAdvanced plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a ProxyCacheAdvanced plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginProxyCacheAdvanced#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}#RequestSizeLimiting:
delete:
description: Delete a RequestSizeLimiting plugin
operationId: delete-requestsizelimiting-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a RequestSizeLimiting plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginRequestSizeLimiting#delete
get:
description: Get a RequestSizeLimiting plugin
operationId: get-requestsizelimiting-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/RequestSizeLimitingPlugin'
description: RequestSizeLimiting plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a RequestSizeLimiting plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginRequestSizeLimiting#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a RequestSizeLimiting plugin
operationId: update-requestsizelimiting-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRequestSizeLimitingPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/RequestSizeLimitingPlugin'
description: RequestSizeLimiting plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a RequestSizeLimiting plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginRequestSizeLimiting#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}#RequestValidator:
delete:
description: Delete a RequestValidator plugin
operationId: delete-requestvalidator-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a RequestValidator plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginRequestValidator#delete
get:
description: Get a RequestValidator plugin
operationId: get-requestvalidator-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/RequestValidatorPlugin'
description: RequestValidator plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a RequestValidator plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginRequestValidator#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a RequestValidator plugin
operationId: update-requestvalidator-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRequestValidatorPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/RequestValidatorPlugin'
description: RequestValidator plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a RequestValidator plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginRequestValidator#update
/plugins/{PluginId}#ResponseRatelimiting:
delete:
description: Delete a ResponseRatelimiting plugin
operationId: delete-responseratelimiting-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a ResponseRatelimiting plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginResponseRatelimiting#delete
get:
description: Get a ResponseRatelimiting plugin
operationId: get-responseratelimiting-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseRatelimitingPlugin'
description: ResponseRatelimiting plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a ResponseRatelimiting plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginResponseRatelimiting#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a ResponseRatelimiting plugin
operationId: update-responseratelimiting-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateResponseRatelimitingPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseRatelimitingPlugin'
description: ResponseRatelimiting plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a ResponseRatelimiting plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginResponseRatelimiting#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}#RouteByHeader:
delete:
description: Delete a RouteByHeader plugin
operationId: delete-routebyheader-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a RouteByHeader plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginRouteByHeader#delete
get:
description: Get a RouteByHeader plugin
operationId: get-routebyheader-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/RouteByHeaderPlugin'
description: RouteByHeader plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a RouteByHeader plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginRouteByHeader#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a RouteByHeader plugin
operationId: update-routebyheader-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRouteByHeaderPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/RouteByHeaderPlugin'
description: RouteByHeader plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a RouteByHeader plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginRouteByHeader#update
/plugins/{PluginId}#RouteTransformerAdvanced:
delete:
description: Delete a RouteTransformerAdvanced plugin
operationId: delete-routetransformeradvanced-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a RouteTransformerAdvanced plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginRouteTransformerAdvanced#delete
get:
description: Get a RouteTransformerAdvanced plugin
operationId: get-routetransformeradvanced-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/RouteTransformerAdvancedPlugin'
description: RouteTransformerAdvanced plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a RouteTransformerAdvanced plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginRouteTransformerAdvanced#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a RouteTransformerAdvanced plugin
operationId: update-routetransformeradvanced-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRouteTransformerAdvancedPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/RouteTransformerAdvancedPlugin'
description: RouteTransformerAdvanced plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a RouteTransformerAdvanced plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginRouteTransformerAdvanced#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
/plugins/{PluginId}#Session:
delete:
description: Delete a Session plugin
operationId: delete-session-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a Session plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginSession#delete
get:
description: Get a Session plugin
operationId: get-session-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/SessionPlugin'
description: Session plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a Session plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginSession#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a Session plugin
operationId: update-session-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSessionPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/SessionPlugin'
description: Session plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a Session plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginSession#update
/plugins/{PluginId}#Statsd:
delete:
description: Delete a Statsd plugin
operationId: delete-statsd-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a Statsd plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginStatsd#delete
get:
description: Get a Statsd plugin
operationId: get-statsd-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/StatsdPlugin'
description: Statsd plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a Statsd plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginStatsd#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a Statsd plugin
operationId: update-statsd-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateStatsdPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/StatsdPlugin'
description: Statsd plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a Statsd plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginStatsd#update
/plugins/{PluginId}#StatsdAdvanced:
delete:
description: Delete a StatsdAdvanced plugin
operationId: delete-statsdadvanced-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a StatsdAdvanced plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginStatsdAdvanced#delete
get:
description: Get a StatsdAdvanced plugin
operationId: get-statsdadvanced-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/StatsdAdvancedPlugin'
description: StatsdAdvanced plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a StatsdAdvanced plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginStatsdAdvanced#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a StatsdAdvanced plugin
operationId: update-statsdadvanced-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateStatsdAdvancedPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/StatsdAdvancedPlugin'
description: StatsdAdvanced plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a StatsdAdvanced plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginStatsdAdvanced#update
/plugins/{PluginId}#Syslog:
delete:
description: Delete a Syslog plugin
operationId: delete-syslog-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a Syslog plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginSyslog#delete
get:
description: Get a Syslog plugin
operationId: get-syslog-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/SyslogPlugin'
description: Syslog plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a Syslog plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginSyslog#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a Syslog plugin
operationId: update-syslog-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSyslogPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/SyslogPlugin'
description: Syslog plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a Syslog plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginSyslog#update
/plugins/{PluginId}#TcpLog:
delete:
description: Delete a TcpLog plugin
operationId: delete-tcplog-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a TcpLog plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginTcpLog#delete
get:
description: Get a TcpLog plugin
operationId: get-tcplog-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/TcpLogPlugin'
description: TcpLog plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a TcpLog plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginTcpLog#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a TcpLog plugin
operationId: update-tcplog-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTcpLogPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/TcpLogPlugin'
description: TcpLog plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a TcpLog plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginTcpLog#update
/plugins/{PluginId}#TlsHandshakeModifier:
delete:
description: Delete a TlsHandshakeModifier plugin
operationId: delete-tlshandshakemodifier-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a TlsHandshakeModifier plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginTlsHandshakeModifier#delete
get:
description: Get a TlsHandshakeModifier plugin
operationId: get-tlshandshakemodifier-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/TlsHandshakeModifierPlugin'
description: TlsHandshakeModifier plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a TlsHandshakeModifier plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginTlsHandshakeModifier#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a TlsHandshakeModifier plugin
operationId: update-tlshandshakemodifier-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTlsHandshakeModifierPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/TlsHandshakeModifierPlugin'
description: TlsHandshakeModifier plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a TlsHandshakeModifier plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginTlsHandshakeModifier#update
/plugins/{PluginId}#TlsMetadataHeaders:
delete:
description: Delete a TlsMetadataHeaders plugin
operationId: delete-tlsmetadataheaders-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a TlsMetadataHeaders plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginTlsMetadataHeaders#delete
get:
description: Get a TlsMetadataHeaders plugin
operationId: get-tlsmetadataheaders-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/TlsMetadataHeadersPlugin'
description: TlsMetadataHeaders plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a TlsMetadataHeaders plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginTlsMetadataHeaders#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a TlsMetadataHeaders plugin
operationId: update-tlsmetadataheaders-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTlsMetadataHeadersPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/TlsMetadataHeadersPlugin'
description: TlsMetadataHeaders plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a TlsMetadataHeaders plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginTlsMetadataHeaders#update
/plugins/{PluginId}#UdpLog:
delete:
description: Delete a UdpLog plugin
operationId: delete-udplog-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a UdpLog plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginUdpLog#delete
get:
description: Get a UdpLog plugin
operationId: get-udplog-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/UdpLogPlugin'
description: UdpLog plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a UdpLog plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginUdpLog#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a UdpLog plugin
operationId: update-udplog-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUdpLogPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/UdpLogPlugin'
description: UdpLog plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a UdpLog plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginUdpLog#update
/plugins/{PluginId}#UpstreamTimeout:
delete:
description: Delete a UpstreamTimeout plugin
operationId: delete-upstreamtimeout-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a UpstreamTimeout plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginUpstreamTimeout#delete
get:
description: Get a UpstreamTimeout plugin
operationId: get-upstreamtimeout-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/UpstreamTimeoutPlugin'
description: UpstreamTimeout plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a UpstreamTimeout plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginUpstreamTimeout#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a UpstreamTimeout plugin
operationId: update-upstreamtimeout-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUpstreamTimeoutPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/UpstreamTimeoutPlugin'
description: UpstreamTimeout plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a UpstreamTimeout plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginUpstreamTimeout#update
/plugins/{PluginId}#VaultAuth:
delete:
description: Delete a VaultAuth plugin
operationId: delete-vaultauth-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a VaultAuth plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginVaultAuth#delete
get:
description: Get a VaultAuth plugin
operationId: get-vaultauth-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/VaultAuthPlugin'
description: VaultAuth plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a VaultAuth plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginVaultAuth#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a VaultAuth plugin
operationId: update-vaultauth-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateVaultAuthPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/VaultAuthPlugin'
description: VaultAuth plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a VaultAuth plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginVaultAuth#update
/plugins/{PluginId}#WebsocketSizeLimit:
delete:
description: Delete a WebsocketSizeLimit plugin
operationId: delete-websocketsizelimit-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a WebsocketSizeLimit plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginWebsocketSizeLimit#delete
get:
description: Get a WebsocketSizeLimit plugin
operationId: get-websocketsizelimit-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/WebsocketSizeLimitPlugin'
description: WebsocketSizeLimit plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a WebsocketSizeLimit plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginWebsocketSizeLimit#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a WebsocketSizeLimit plugin
operationId: update-websocketsizelimit-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWebsocketSizeLimitPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/WebsocketSizeLimitPlugin'
description: WebsocketSizeLimit plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a WebsocketSizeLimit plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginWebsocketSizeLimit#update
/plugins/{PluginId}#WebsocketValidator:
delete:
description: Delete a WebsocketValidator plugin
operationId: delete-websocketvalidator-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a WebsocketValidator plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginWebsocketValidator#delete
get:
description: Get a WebsocketValidator plugin
operationId: get-websocketvalidator-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/WebsocketValidatorPlugin'
description: WebsocketValidator plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a WebsocketValidator plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginWebsocketValidator#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a WebsocketValidator plugin
operationId: update-websocketvalidator-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWebsocketValidatorPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/WebsocketValidatorPlugin'
description: WebsocketValidator plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a WebsocketValidator plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginWebsocketValidator#update
/plugins/{PluginId}#XmlThreatProtection:
delete:
description: Delete a XmlThreatProtection plugin
operationId: delete-xmlthreatprotection-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a XmlThreatProtection plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginXmlThreatProtection#delete
get:
description: Get a XmlThreatProtection plugin
operationId: get-xmlthreatprotection-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/XmlThreatProtectionPlugin'
description: XmlThreatProtection plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a XmlThreatProtection plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginXmlThreatProtection#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a XmlThreatProtection plugin
operationId: update-xmlthreatprotection-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateXmlThreatProtectionPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/XmlThreatProtectionPlugin'
description: XmlThreatProtection plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a XmlThreatProtection plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginXmlThreatProtection#update
/plugins/{PluginId}#Zipkin:
delete:
description: Delete a Zipkin plugin
operationId: delete-zipkin-plugin
responses:
"204":
description: Successfully deleted Plugin or the resource didn't exist
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Delete a Zipkin plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginZipkin#delete
get:
description: Get a Zipkin plugin
operationId: get-zipkin-plugin
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ZipkinPlugin'
description: Zipkin plugin
"401":
$ref: '#/components/responses/HTTP401Error'
"404":
description: Resource does not exist
summary: Get a Zipkin plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginZipkin#read
parameters:
- $ref: '#/components/parameters/PluginId'
put:
description: Update a Zipkin plugin
operationId: update-zipkin-plugin
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateZipkinPlugin'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ZipkinPlugin'
description: Zipkin plugin
"401":
$ref: '#/components/responses/HTTP401Error'
summary: Update a Zipkin plugin
tags:
- Plugins
x-speakeasy-entity-operation: PluginZipkin#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
next:
$ref: '#/components/schemas/PaginationNextResponse'
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
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
parameters:
- $ref: '#/components/parameters/RouteIdOrName'
patch:
description: Update a Route
operationId: update-route
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
put:
description: Create or Update Route using ID or name.
operationId: upsert-route
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
x-speakeasy-entity-operation: Route#update
/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
next:
$ref: '#/components/schemas/PaginationNextResponse'
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
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
parameters:
- $ref: '#/components/parameters/ServiceIdOrName'
patch:
description: Update a Service
operationId: update-service
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
put:
description: Create or Update Service using ID or name.
operationId: upsert-service
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
x-speakeasy-entity-operation: Service#update
/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
next:
$ref: '#/components/schemas/PaginationNextResponse'
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
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
parameters:
- $ref: '#/components/parameters/SNIIdOrName'
patch:
description: Update an SNI
operationId: update-sni
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
put:
description: Create or Update SNI using ID or name.
operationId: upsert-sni
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
x-speakeasy-entity-operation: SNI#update
/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
next:
$ref: '#/components/schemas/PaginationNextResponse'
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/{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
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
parameters:
- $ref: '#/components/parameters/UpstreamIdOrName'
patch:
description: Update an Upstream
operationId: update-upstream
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
put:
description: Create or Update Upstream using ID or name.
operationId: upsert-upstream
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
x-speakeasy-entity-operation: Upstream#update
/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
next:
$ref: '#/components/schemas/PaginationNextResponse'
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
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
parameters:
- $ref: '#/components/parameters/VaultIdOrPrefix'
patch:
description: Update a Vault
operationId: update-vault
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
put:
description: Create or Update Vault using ID or prefix.
operationId: upsert-vault
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
x-speakeasy-entity-operation: Vault#update
/workspace_/groups:
get:
operationId: list-groups
responses:
"200":
content:
application/json:
schema:
items:
properties:
created_at:
format: date-time
type: string
id:
type: string
name:
type: string
type: object
type: array
description: Successfully retrieved the list of groups
summary: Retrieve a list of all groups
tags:
- Workspaces
post:
operationId: create-group
requestBody:
content:
application/json:
schema:
properties:
name:
type: string
required:
- name
type: object
responses:
"201":
content:
application/json:
schema:
properties:
created_at:
format: date-time
type: string
id:
type: string
name:
type: string
type: object
description: Successfully created the group
summary: Create a new group
tags:
- Workspaces
/workspace_/groups/{groups}:
parameters:
- in: path
name: groups
required: true
schema:
type: string
patch:
operationId: update-group
requestBody:
content:
application/json:
schema:
properties:
name:
type: string
type: object
responses:
"200":
description: Successfully updated the group
summary: Update details of a specific group
tags:
- Workspaces
/workspace_/groups/{groups}/roles:
delete:
operationId: remove-role-from-group
parameters:
- in: query
name: rbac_role_id
required: true
schema:
type: string
- in: query
name: workspace_id
required: true
schema:
type: string
responses:
"204":
description: Successfully removed the role association
summary: Remove a role association from a group
tags:
- Workspaces
get:
operationId: list-group-roles
responses:
"200":
content:
application/json:
schema:
items:
properties:
group:
properties:
id:
type: string
name:
type: string
type: object
rbac_role:
properties:
id:
type: string
name:
type: string
type: object
workspace:
properties:
id:
type: string
type: object
type: object
type: array
description: Successfully retrieved the roles
summary: Retrieve roles associated with a specific group
tags:
- Workspaces
parameters:
- in: path
name: groups
required: true
schema:
type: string
post:
operationId: add-role-to-group
requestBody:
content:
application/json:
schema:
properties:
rbac_role_id:
type: string
workspace_id:
type: string
required:
- rbac_role_id
- workspace_id
type: object
responses:
"201":
content:
application/json:
schema:
properties:
group:
properties:
id:
type: string
name:
type: string
type: object
rbac_role:
properties:
id:
type: string
name:
type: string
type: object
workspace:
properties:
id:
type: string
type: object
type: object
description: Successfully associated the role with the group
summary: Associate a role with a group
tags:
- Workspaces
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