Settings overview
The settings page is divided into named sections. General and Routing sections use an explicit Save button. Timeout, retry, rate-limit, and circuit-breaker controls save automatically when you release a slider or toggle a switch.General
Rename the forwarder. The type is displayed here because it shapes behavior, but you cannot change
EXTERNAL to INTERNAL or the reverse after creation.Routing
Choose
TRANSPARENT or LOCKED path mode, then set http or https and the host[:port][/path] destination.Timeout
Set the maximum time Repost waits for a destination response before marking the attempt as timed out. The slider saves when you release it.
Retry configuration
Enable or disable asynchronous retries and tune the retry schedule. Hidden for proxy bucket forwarders.
Rate limiting
Cap per-forwarder delivery throughput. The switch saves when toggled; the slider saves when released. Hidden for proxy bucket forwarders.
Circuit breaker
Block delivery attempts after repeated downstream failures so the destination has time to recover. Available for external forwarders only.
Destination and routing
These settings define the request Repost constructs before sending it to the destination.External forwarder
Delivers to a public HTTP endpoint. The destination must use
http or https and cannot point to localhost, private networks, single-label hostnames, or internal-only hostnames.Internal forwarder
Delivers to a developer machine through
repost forward. Local hostnames such as localhost:3000 are allowed because the CLI performs the final local hop.- Transparent mode
- Locked mode
- Destination format
Repost treats the configured destination as a base URL and appends the original incoming request path. A request to
/webhooks/stripe with destination https://api.example.com is forwarded to https://api.example.com/webhooks/stripe.When saving an external destination, Repost validates the target. If DNS answers are available, Repost also checks whether the hostname resolves to a blocked address (localhost, private IPs, single-label hostnames, or internal-only hostnames).
Timeout
The timeout slider sets the maximum time Repost waits for a destination response on any single delivery attempt.integer
Range:
5000–60000 ms in 1000 ms steps. Default: 20000 ms. The slider saves automatically when you release it.Retry configuration (queue buckets only)
Retry settings control what happens after a failed delivery attempt. These controls are hidden for proxy bucket forwarders because the provider connection waits on a single synchronous response.boolean
Toggle to enable or disable retries. The switch saves immediately when toggled. Disabling retries sets the count to
0; re-enabling restores the last positive value shown in the dashboard.integer
Range:
0–3. Default at creation: 3. Setting to 0 is equivalent to disabling retries with the toggle.integer
Range:
5000–60000 ms in 1000 ms steps. Default: 15000 ms. Sets the initial retry window.number
Range:
0.5x–3.0x in 0.5x steps. Default: 2.0x. Each failed attempt multiplies the retry window by this value.integer
Range:
60000–1800000 ms in one-minute steps. Default: 900000 ms. Caps the retry window regardless of the backoff multiplier.Retry waits use full jitter. Repost picks a delay between
0 and the current retry window, floors it at 1000 ms, then grows the window by the backoff multiplier until capped by the max retry delay.408, 429, or 5xx. All other 4xx responses are treated as final and are not retried.
Rate limiting (queue buckets only)
Rate limiting caps how many requests per second this forwarder delivers to its destination. The control is hidden for proxy bucket forwarders.boolean
Off by default. The switch saves immediately when toggled.
integer
Range:
5–500 requests per second in steps of 5. The dashboard starts the slider at 50 before the first save.Circuit breaker (external forwarders only)
The circuit breaker prevents Repost from sending requests to a destination that is repeatedly failing, giving the downstream service time to recover.boolean
The switch saves immediately when toggled. Disable it only when every event must attempt delivery regardless of downstream health.
Forwarder lifecycle
Lifecycle state controls whether a forwarder participates in delivery without requiring you to change its destination or delivery settings.Active switch
When disabled, the forwarder stays configured but stops participating in delivery. Re-enable it at any time to resume.
Pause and resume
Pause holds delivery for an active forwarder without disabling it. Resume restarts delivery and preserves the saved rate limit. For internal forwarders, the pause control appears only while a CLI listener is connected.
Internal listener state
Internal forwarders show No listeners when active but no CLI session is connected. If a listener drops, Repost marks the forwarder as disconnected and holds delivery until you reconnect using
repost forward.Delete
Deletion requires you to type the exact forwarder name to confirm. It permanently removes the forwarder and its full request and response history. Deletion is blocked while any replay job is pending, estimating, processing, or paused.
Why a settings save can be rejected
Forwarder not found
Forwarder not found
The forwarder must belong to the current workspace through its bucket. Verify you are working in the correct workspace.
Forwarder type cannot be changed
Forwarder type cannot be changed
Type is set at creation and is immutable. You can change the name, destination, routing, timeout, retry settings, and rate limit — but not the type.
External destination blocked
External destination blocked
External forwarders cannot point to localhost, private or reserved IP ranges, single-label hostnames, internal-only hostnames, or hostnames that resolve to blocked addresses.
Proxy bucket rejected retry or rate controls
Proxy bucket rejected retry or rate controls
Proxy forwarders do not support retry configuration or a non-null rate limit. Move to a queued bucket to use these controls.
Delete blocked by active replay
Delete blocked by active replay
Cancel the replay or wait for it to finish before deleting the forwarder.