Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Channel configuration

A channel’s config object (stored as config_json) declares every per-channel guard, from authentication to tracing. All keys are optional and an empty {} is valid; unknown keys are refused at every level. A stored config that no longer parses is quarantined at load rather than served with a guard silently missing.

KeyPurposePage
channel_type, protocol, methods, route_pattern, topic, priorityHow requests reach the channelRouting and protocol
transport_configThe schedule of a cron channelCron transport
authAuthenticate HTTP callers of this channelauth
rate_limitToken-bucket admission rate per callerrate_limit
principal_rate_limitA second limit, keyed on the verified principalprincipal_rate_limit
backpressurePer-node concurrency cap; excess is shed with 503backpressure
deduplicationIdempotency-key replay protectiondeduplication
cacheServe repeated identical requests from a response cachecache
requestHow the HTTP request body becomes data and metadatarequest
responseShaped status, headers, body and cookies; per-status error bodiesresponse
validation_logicJSONLogic predicate; a falsy result rejects with 400validation_logic
timeout_msDeadline on workflow executiontimeout_ms
origin_allow_listServer-side Origin header checkorigin_allow_list
tracingPer-channel override of the trace-storage policytracing
oauth2_loginComplete a browser OAuth2 authorization-code grantoauth2_login

Last verified 14 September 2026