Konfiguration exportieren

GET /v1/config-export · Berechtigung config:read und die Leseberechtigung jeder exportierten Art

Gibt die Konfiguration der Umgebung als ein umgebungsunabhängiges Dokument zurück, damit Sie sie prüfen, in der Versionsverwaltung ablegen oder später auf eine andere Umgebung anwenden können. Das Dokument enthält keine umgebungsspezifischen IDs, Versionen, Zeitstempel oder Geheimnisse: Ressourcen verweisen aufeinander über key. Dieselbe Konfiguration erzeugt stets ein byteidentisches Dokument (Arten in der unten genannten Reihenfolge, dann nach key; mengenartige Listen sortiert). Die Antwort ist JSON, das zugleich gültiges YAML ist; keenauth config export gibt standardmäßig YAML aus.

Anfrage

Die Umgebung ergibt sich aus den Anmeldedaten. Der einzige Abfrageparameter ist optional.

Parameter Beschreibung
kinds Durch Kommas getrennte Arten zum Export, zum Beispiel kinds=connection,api. Ohne diesen Parameter wird jede Art exportiert.
Art key Berechtigungen neben config:read
environment_settings default environment-settings:read
identity_settings default identity-settings:read
attack_protection default attack-protection:read
branding default branding:read
connection Verbindung key connections:read
api API key apis:read, applications:read
role Rolle key roles:read, apis:read
application Anwendung key applications:read, apis:read, connections:read
application_branding Anwendung key branding:read, applications:read

api, role und application benötigen außerdem die Berechtigungen der Arten, auf die sie verweisen, weil Verweise zu key-Werten aufgelöst werden. config:read allein gewährt kein Lesen von Ressourcen.

Antwort

200 OK mit Cache-Control: no-store.

{
  "apiVersion": "config.keenauth.com/v1",
  "kinds": ["connection", "api", "application"],
  "resources": [
    {"kind": "connection", "key": "db", "spec": {"type": "database", "strategy": "password", "name": "db", "display_name": null, "status": "active", "settings": {}, "client_secret": null}},
    {"kind": "api", "key": "orders", "spec": {"identifier": "https://api.example.com/orders", "name": "Orders", "access_token_lifetime_s": 3600, "token_format": "jwt", "rbac_mode": "off", "allow_offline_access": false, "require_resource_indicator": false, "dpop_required": false, "mcp_profile": false, "first_party_access": "all", "introspection_applications": [], "permissions": [{"value": "orders:read", "display_name": null, "description": null, "consent_text_i18n": {}, "sensitivity": "normal"}]}},
    {"kind": "application", "key": "web", "spec": {"name": "Web", "app_type": "spa", "default_api": "orders", "connections": ["db"], "api_grants": [{"api": "orders", "scopes": ["orders:read"], "default_scopes": []}], "redirect_uris": ["https://app.example.com/callback"]}}
  ],
  "warnings": [
    {"code": "resource_skipped", "kind": "application", "key": "partner-bot", "reason": "organization_owned"}
  ]
}

Die Spezifikation application oben ist gekürzt; die vollständige Feldliste steht in der API-Referenz.

Fehler

HTTP Code Wann
401 unauthenticated Die Anmeldedaten fehlen, sind ungültig oder wurden widerrufen.
403 insufficient_permissions Den Anmeldedaten fehlt eine erforderliche Berechtigung; required_permissions listet alle auf.
413 config_document_too_large Das Dokument würde 5.000 Ressourcen oder 10 MiB überschreiten; exportieren Sie weniger Arten mit kinds.
422 validation_failed kinds ist mehrfach angegeben, länger als 256 Zeichen oder nennt eine unbekannte Art.
429 rate_limited Das Ratenlimit wurde überschritten; wiederholen Sie die Anfrage nach dem Zeitraum Retry-After.
503 service_unavailable Eine Abhängigkeit ist vorübergehend nicht verfügbar; wiederholen Sie die Anfrage nach dem Zeitraum Retry-After.

Beispiel

curl "https://api.eu.keenauth.com/v1/config-export?kinds=connection,api,application" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"

keenauth config export --kinds connection,api,application > keenauth.yaml