list_forward_destinations
const url = 'https://example.com/api/v1/forwarding/destinations';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/api/v1/forwarding/destinations \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”Every destination, without its stored secret
A destination as the API exposes it — no secrets, ever.
object
Extra PEM certificate(s) trusted for a TLS destination, on top of the system roots. Not a secret — a CA certificate is public — so it round-trips through the API like any other field.
How the collector is spoken to.
Whether the forwarder currently sends to it.
The filter; {} forwards the whole stream.
object
The conditions; empty means match everything.
One field op value test. value is always a string so the config has a single JSON shape;
[compile] parses it according to the field’s type.
object
The datum to inspect.
The comparison to apply.
The operand, parsed per field type at compile time.
How [Self::conditions] combine.
Whether a sealed secret is stored (so the UI can show “configured” without revealing it).
Stable id.
Human label (unique).
Restrict to one poller pool; None = every pool.
Optional messages/second ceiling.
Which received stream is teed.
host:port of the collector.
true = relay original bytes, false = rebuild from parsed fields.
Example
[ { "dest_kind": "syslog_udp", "filter": { "conditions": [ { "field": "source_ip", "op": "eq" } ], "mode": "all" }, "source_kind": "syslog" }]No valid bearer token
The ADR-019 envelope every failure renders as. pub(crate) and schema-bearing so the OpenAPI
document can name one error shape for every endpoint (ADR-035) instead of leaving 4xx/5xx bodies
undescribed — a client that has to guess the failure shape ends up parsing the success shape and
reading undefined.
object
object
Stable machine-readable code. Clients branch on this, never on the message.
Operator-facing sentence. Safe to display; never carries an internal error’s own text.
Examplegenerated
{ "error": { "code": "example", "message": "example" }}Role lacks the ManageConfig permission
The ADR-019 envelope every failure renders as. pub(crate) and schema-bearing so the OpenAPI
document can name one error shape for every endpoint (ADR-035) instead of leaving 4xx/5xx bodies
undescribed — a client that has to guess the failure shape ends up parsing the success shape and
reading undefined.
object
object
Stable machine-readable code. Clients branch on this, never on the message.
Operator-facing sentence. Safe to display; never carries an internal error’s own text.
Examplegenerated
{ "error": { "code": "example", "message": "example" }}Skeleton mode: no destination store
The ADR-019 envelope every failure renders as. pub(crate) and schema-bearing so the OpenAPI
document can name one error shape for every endpoint (ADR-035) instead of leaving 4xx/5xx bodies
undescribed — a client that has to guess the failure shape ends up parsing the success shape and
reading undefined.
object
object
Stable machine-readable code. Clients branch on this, never on the message.
Operator-facing sentence. Safe to display; never carries an internal error’s own text.
Examplegenerated
{ "error": { "code": "example", "message": "example" }}