For the complete documentation index, see llms.txt. Markdown versions of all docs pages are available by appending .md to any docs URL.
Transformations
Mutate and transform requests and responses before forwarding them to the destination.
Templating language
Inject response headers
Extract values from a request header and inject it as a header to your response.
Generate request tracing headers
Use uuid() and random() CEL functions to inject a unique request ID and a random sampling value into …
Encode base64 headers
Automatically encode and decode base64 values in request headers.
Rewrite dynamic path segments
Use CEL functions to rewrite request paths in a header.
Forward request URLs
Use CEL expressions to construct a full request URL from context variables and forward it upstream …
Change request path and method
Use pseudo headers to conditionally rewrite the request path and HTTP method based on a request …
Promote query parameters to request headers
Read a query parameter from the request URI and inject it as a request header using a CEL …
Inject LLM model headers
Detect model fallback by injecting the requested and actual LLM model names as response headers …
Remove headers
Remove sensitive or internal headers from requests before they reach the upstream.
Inject response bodies
Learn how to return a customized response body and how to replace specific values in the body.
Change response bodies
Update the response status based on the headers in a response.
Filter and merge request body fields
Use filterKeys() and merge() CEL functions to strip unwanted fields from a JSON request body and …
Validate and set request body defaults
Use default() and fail() CEL functions to enforce required fields and apply default values on a JSON …
Enrich access logs
Log CEL context variables to access logs to inspect and debug transformation expressions at runtime.