Observer
API

POST /config/apply

Apply a config-as-code document (idempotent upsert by config_key)

Validates the whole document, then upserts services/metrics/SLOs/pages it names. Use ?dryRun=true to get the diff without changing anything (run on PRs); ?prune=true also deletes config-managed objects absent from the document. Body is YAML (text/yaml) or JSON.

Parameters

NameInRequiredTypeDescription
dryRunquerynoboolean
prunequerynoboolean

Request body

{}

Example request

curl -X POST "/api/v1/config/apply" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{}"

Responses

200: applied (or planned)

{}

401: missing or invalid bearer token

403: missing required scope

404: not found (or cross-tenant: same response)

422: document failed validation

429: rate limit exceeded

Was this page helpful?