コンテンツにスキップ

Change whether and how often adjacency is collected.

PUT
/api/v1/settings/neighbors
curl --request PUT \
--url https://example.com/api/v1/settings/neighbors \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "arp_enabled": true, "arp_interval_secs": 1, "enabled": true, "interval_secs": 1, "l3_enabled": true, "l3_interval_secs": 1, "max_interval_secs": 1, "min_interval_secs": 1, "routing_enabled": true, "routing_interval_secs": 1 }'

Applies from the next scheduler sweep. Turning collection off stops issuing walks but keeps everything already recorded — the current set and the change history are unaffected.

Media typeapplication/json

How this deployment discovers connectivity: CDP/LLDP neighbours and interface addresses.

object
arp_enabled

Whether ARP / IPv6-neighbour walks are issued at all. Omitted on update leaves it unchanged.

Off unless an operator turns it on: this walk reads a table sized by the network rather than by the device, and it is the only discovery walk here that costs a busy switch measurable work. What it buys is the only answer nothing else can give — which hosts are on your segments that Yagra is not monitoring.

boolean | null
arp_interval_secs

How often each SNMP node’s ARP / IPv6-neighbour tables are walked, in seconds. Omitted on update leaves it unchanged.

integer | null format: int32
enabled
required

Whether CDP/LLDP neighbour walks are issued at all.

boolean
interval_secs
required

How often each SNMP node’s neighbour tables are walked, in seconds.

integer format: int32
l3_enabled

Whether interface-address walks are issued at all. Omitted on update leaves it unchanged.

boolean | null
l3_interval_secs

How often each SNMP node’s interface-address tables are walked, in seconds. Omitted on update leaves it unchanged.

integer | null format: int32
max_interval_secs

Largest cadence this deployment accepts, in seconds.

integer format: int32
min_interval_secs

Smallest cadence this deployment accepts, in seconds.

integer format: int32
routing_enabled

Whether routing-adjacency collection is issued at all. Omitted on update leaves it unchanged.

On unless an operator turns it off. This is what finds the links that share no subnet — a point-to-point /32, an unnumbered OSPF link, an eBGP session across a segment — which the shared-subnet rule structurally cannot see. The tables it reads are sized by the device’s own peering mesh, and the routing table itself is never walked: it is probed one destination at a time.

boolean | null
routing_interval_secs

How often each SNMP node’s routing adjacency is collected, in seconds. Omitted on update leaves it unchanged.

integer | null format: int32
Examplegenerated
{
"arp_enabled": true,
"arp_interval_secs": 1,
"enabled": true,
"interval_secs": 1,
"l3_enabled": true,
"l3_interval_secs": 1,
"max_interval_secs": 1,
"min_interval_secs": 1,
"routing_enabled": true,
"routing_interval_secs": 1
}

Settings updated; the change applies from the next scheduler sweep

The cadence is outside the allowed range

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"
}
}

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 ManageConfig

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"
}
}

Inventory storage is unavailable (skeleton mode)

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"
}
}