Skip to content

list_forward_destinations

GET
/api/v1/forwarding/destinations
curl --request GET \
--url https://example.com/api/v1/forwarding/destinations \
--header 'Authorization: Bearer <token>'

Every destination, without its stored secret

Media typeapplication/json
Array<object>

A destination as the API exposes it — no secrets, ever.

object
ca_cert

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.

string | null
dest_kind
required

How the collector is spoken to.

string
Allowed values: syslog_udp syslog_tcp syslog_tls snmp_trap_udp flow_udp bigquery
enabled
required

Whether the forwarder currently sends to it.

boolean
filter
required

The filter; {} forwards the whole stream.

object
conditions

The conditions; empty means match everything.

Array<object>

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
field
required

The datum to inspect.

string
Allowed values: source_ip pool kind facility severity hostname app_name message trap_oid varbind src_addr dst_addr proto src_port dst_port src_as dst_as
op
required

The comparison to apply.

string
Allowed values: eq ne contains not_contains prefix regex not_regex in_list in_cidr not_in_cidr lte gte
value

The operand, parsed per field type at compile time.

string
mode

How [Self::conditions] combine.

string
Allowed values: all any
has_secret
required

Whether a sealed secret is stored (so the UI can show “configured” without revealing it).

boolean
id
required

Stable id.

string format: uuid
name
required

Human label (unique).

string
pool

Restrict to one poller pool; None = every pool.

string | null
rate_limit_per_sec

Optional messages/second ceiling.

integer | null format: int32
source_kind
required

Which received stream is teed.

string
Allowed values: syslog trap flow
target
required

host:port of the collector.

string
verbatim
required

true = relay original bytes, false = rebuild from parsed fields.

boolean
Example
[
{
"dest_kind": "syslog_udp",
"filter": {
"conditions": [
{
"field": "source_ip",
"op": "eq"
}
],
"mode": "all"
},
"source_kind": "syslog"
}
]

No valid bearer token

Media typeapplication/json

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
error
required
object
code
required

Stable machine-readable code. Clients branch on this, never on the message.

string
message
required

Operator-facing sentence. Safe to display; never carries an internal error’s own text.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example"
}
}

Role lacks the ManageConfig permission

Media typeapplication/json

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
error
required
object
code
required

Stable machine-readable code. Clients branch on this, never on the message.

string
message
required

Operator-facing sentence. Safe to display; never carries an internal error’s own text.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example"
}
}

Skeleton mode: no destination store

Media typeapplication/json

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
error
required
object
code
required

Stable machine-readable code. Clients branch on this, never on the message.

string
message
required

Operator-facing sentence. Safe to display; never carries an internal error’s own text.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example"
}
}