export_bundle
const url = 'https://example.com/api/v1/config/bundle';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/config/bundle \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”The deployment’s monitoring configuration as a portable bundle. Carries no secrets — credentials, channel configs and ingest tokens stay in this deployment
A whole configuration bundle.
object
A recurring Troubleshoot analysis.
object
A discovery classification rule.
object
One metric inside a collection template.
object
A reusable collection template.
object
A DNS monitor’s configuration (1:1 with its node).
object
A passive-event match rule.
object
A passive-event ingest source.
object
When the export ran.
Always yagra.config-bundle. An importer refuses anything else rather than guessing.
A forwarding destination. Its optional sealed secret is not carried; a destination that had one arrives disabled.
object
Whether the source deployment had a sealed secret on this destination. Carries no secret — it is what tells the importer to arrive disabled and what tells the operator to re-enter it.
A folder in the inventory tree.
object
A monitored node. credential_id is a reference only — see the module docs.
object
IPv4 or IPv6, as text.
What the export left out or changed. Informational; ignored on import.
One note, with the table it concerns and how many rows it covers.
object
What happened.
How many rows this note covers.
The column involved, when the note is about one (e.g. credential_id).
The table the note is about.
A profile↔template attachment.
object
A device profile.
object
A saved report template.
object
A recurring report run.
object
How secrets are represented. Always references — a bundle never carries one.
A threshold rule.
object
A URL / HTTP endpoint monitor’s configuration (1:1 with its node).
object
The monitor’s response-body keyword rule, if it has one.
How many bytes of the response body the monitor reads.
The monitor’s JSON extraction rules, if it has any.
Bundle schema version.
The Yagra version that produced it.
Example
{ "notes": [ { "code": "skipped_builtin" } ], "secrets": "references"}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 ManageConfig
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" }}A table holds more rows than one bundle carries; use a database dump for a deployment this size
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" }}Inventory storage is unavailable (skeleton mode)
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" }}