Create or REPLACE one `export:` definition (upsert), persisted to the config overlay and live after an atomic rebuild-and-swap. A base-config-defined entry is 409 (edit config.yaml)

Changed on
put/api/v1/admin/export/{name}

Request

  • The document declares no server URL.
  • Auth: one of:
    • API key in header x-admin-token
    • HTTP bearer

Path parameters

namestring required

Headers

If-Matchstring

Optimistic concurrency: the resource's ETag from a prior read (or the ETag returned by the previous mutation). Stale = 409 version_conflict (re-read and retry), nothing changes; absent or * = unconditional.

Request body

object required

One export: DEFINITION, exactly as config.yaml spells it ({module, settings, ...}). Parsed into the section's deny_unknown_fields config struct, so an unknown key is the same loud reject the file would give. The accepted shape is the config file's own, documented in the configuration reference; it is not restated here because several of its types parse a wire shape that does not match their field layout.

Response

The stored exporter definition. Additionally carries reload_to_apply (+ a note) when the mutation declared a plugin ROUTE this process cannot serve: each route path is registered on the HTTP router once, at process start, and an apply swaps only the config snapshot, so a path that did not exist at boot (e.g. /metrics for a first prometheus exporter) answers 404 until the next RESTART. Both fields are omitted when nothing is pending

browser_login_configuredboolean nullable

identity-providers ONLY: whether a browser_login: block is configured, the presence that puts a button on the hosted login page.

max_admin_scopestring nullable

identity-providers ONLY: the per-provider ADMIN CEILING (none | read-only | full). None ⇒ the definition names none, so the most restrictive default applies. Omitted entirely for a section that carries no ceiling.

modulestring required

The module: backing this instance (a built-in name or a signed-plugin name/alias).

namestring required

The instance NAME: the map key, and the token every reference site uses.

settings_keysstring[] required

The KEY NAMES of the module's opaque settings bag, sorted, WITHOUT their values, the redacted projection of settings:. Operator/API-owned and never interpreted here, but also never a place a VALUE can leak from: a settings value may be a credential (see the type doc), and this surface is reachable at READ-ONLY admin scope. An empty bag ⇒ an empty list. The values are readable only where they are writable: the config file and the config overlay.

token_configuredboolean nullable

identity-providers ONLY: whether a token: secret REFERENCE is configured (the built-in admin-tokens operator credential). The reference itself is never projected.

unparseablestring nullable

Set ONLY on an entry that is STORED in the config overlay but could NOT be parsed into this section's typed config by this binary (a downgrade whose struct lost a field, a hand-edited overlay); the value is the parse error. Such an entry is dropped at every rebuild, so it is NOT live: module/settings_keys are the raw stored document's best-effort projection, not a resolved definition. Present so the drop is DISCOVERABLE here rather than only in a boot log line. Absent (and omitted from the body) for every live definition.

Changes