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 onRequest
- The document declares no server URL.
- Auth: one of:
- API key in header x-admin-token
- HTTP bearer
Path parameters
Headers
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
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
Changes
- info
endpoint added
- info