tavily relay in these examples. Replace the name, URL and secret with your upstream’s.
Create the relay
- Web UI
- API
- config.json
- Helm
- Open Relays in the sidebar and select Add Relay.
- Enter a Name. Callers use
/relay/<name>/...; it must match[A-Za-z0-9._-]{1,64}and cannot be changed later. - Enter the Base URL, an absolute
http(s)URL such ashttps://api.tavily.com. Every request is pinned under this origin and path. A base URL may carry a path prefix (https://speech.example.com/cognitiveservices/v1) but no query string, fragment or user info. - Choose how the relay authenticates to the upstream and enter the credential. The value is stored encrypted and never shown again; an
env.VAR_NAMEreference reads it from the environment at startup. - Select Add Relay.
Authentication types
The Authentication tab holds one credential and the way it is presented upstream. Callers never send this credential; whateverAuthorization, x-api-key, api-key, x-goog-api-key, Ocp-Apim-Subscription-Key, x-functions-key or cookie header they send is dropped before the request leaves Bifrost.
- Custom header
- Query parameter
- Basic auth
- AWS SigV4
header_name is dropped, and no route may match on it.Extra headers
The Advanced tab’s Extra Headers are sent on every relayed request: a tenant id, an API version, aContent-Type an upstream insists on. They are the operator’s to set, so a caller’s copy of the same header is dropped rather than replacing it, and a route’s header matcher sees the operator’s value.
X-Tenant and x-tenant together are refused). Values of credential-bearing headers are redacted in API responses; other literal values are shown.
Network
The Network tab bounds the direct connection to the upstream.
A buffered reply is held up to 64 MB; a larger one is refused with
502 and the message relay response is too large to buffer, in which case set the route to stream.
Proxy
The Proxy tab sends this relay’s traffic through a forward proxy.proxy_config takes the same shape as a provider’s proxy: type (http, socks5, environment), url, username, password, ca_cert_pem.
proxy_config inherits the global proxy when it is enabled for inference, and connects directly otherwise. Changing the global proxy rebuilds every relay that inherits it.
Update and delete
Edits in Edit Relay Config save per tab; routes are saved from the route table. Through the API,PUT /api/relays/{name} replaces the whole relay. A secret sent back in its redacted form keeps the stored value, so a client that only ever sees redacted values can save without wiping the credential. An env. or vault reference is a real change.
Deleting a relay removes it from every virtual key that granted it. Calls already in flight finish on the old configuration.
Next steps
- Routes and header matchers — Decide which operations callers may use and which are counted.
- Usage mapping and pricing — Price each call and test the mapping before saving.
- Virtual key access — Grant keys access to the relay.

