KrakenD · Schema
KrakenD Endpoint
An Endpoint defines a public-facing URL pattern that the KrakenD gateway exposes to clients, along with its associated backends, encoding, rate limiting, and other configurations.
AggregationAPI GatewayGoOpen Source
Properties
| Name | Type | Description |
|---|---|---|
| endpoint | string | The URL pattern the gateway exposes to clients. Must start with a slash. |
| method | string | The HTTP method this endpoint accepts. Create multiple endpoint entries for different methods. |
| output_encoding | string | The encoding used to render the response to the client. |
| concurrent_calls | integer | Number of concurrent calls to each backend for this endpoint. |
| timeout | string | Maximum time to wait for the endpoint to complete. E.g., 2s or 2000ms. |
| cache_ttl | string | Duration for Cache-Control max-age header. E.g., 300s or 5m. |
| querystring_params | array | Allowed query string parameters to forward to backends. Use * to forward all. |
| headers_to_pass | array | List of client headers forwarded to the backend. |
| backend | array | List of backend definitions this endpoint connects to. |
| extra_config | object | Additional component configurations keyed by namespace. |
| input_query_strings | array | Recognized query string parameters that can be used in the endpoint. |
| input_headers | array | Recognized headers that can be used in the endpoint. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/api-evangelist/krakend/blob/main/json-schema/endpoint.json",
"title": "KrakenD Endpoint",
"description": "An Endpoint defines a public-facing URL pattern that the KrakenD gateway exposes to clients, along with its associated backends, encoding, rate limiting, and other configurations.",
"type": "object",
"required": ["endpoint", "backend"],
"properties": {
"endpoint": {
"type": "string",
"description": "The URL pattern the gateway exposes to clients. Must start with a slash."
},
"method": {
"type": "string",
"enum": ["GET", "POST", "PUT", "PATCH", "DELETE"],
"description": "The HTTP method this endpoint accepts. Create multiple endpoint entries for different methods."
},
"output_encoding": {
"type": "string",
"enum": ["json", "json-collection", "yaml", "fast-json", "xml", "negotiate", "string", "no-op"],
"description": "The encoding used to render the response to the client."
},
"concurrent_calls": {
"type": "integer",
"default": 1,
"description": "Number of concurrent calls to each backend for this endpoint."
},
"timeout": {
"type": "string",
"description": "Maximum time to wait for the endpoint to complete. E.g., 2s or 2000ms."
},
"cache_ttl": {
"type": "string",
"description": "Duration for Cache-Control max-age header. E.g., 300s or 5m."
},
"querystring_params": {
"type": "array",
"items": {
"type": "string"
},
"description": "Allowed query string parameters to forward to backends. Use * to forward all."
},
"headers_to_pass": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of client headers forwarded to the backend."
},
"backend": {
"type": "array",
"items": {
"$ref": "backend.json"
},
"description": "List of backend definitions this endpoint connects to."
},
"extra_config": {
"type": "object",
"description": "Additional component configurations keyed by namespace."
},
"input_query_strings": {
"type": "array",
"items": {
"type": "string"
},
"description": "Recognized query string parameters that can be used in the endpoint."
},
"input_headers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Recognized headers that can be used in the endpoint."
}
}
}