Verbindungen einer Anwendung ersetzen

PUT /v1/applications/{application_id}/connections · Berechtigungen applications:write und connections:write

Ersetzt in einem Schritt die gesamte Liste der auf der Anwendung aktivierten Verbindungen. Die Reihenfolge von connection_ids ist die Reihenfolge der Schaltflächen auf der gehosteten Anmeldeseite; eine leere Liste deaktiviert alle Verbindungen. Jede Verbindung muss in derselben Umgebung existieren: Eine Verbindung einer anderen Umgebung wird wie eine nicht existierende behandelt (422 unter /connection_ids), und es wird nichts geschrieben. Wenn Sie die Liste senden, die die Anwendung bereits hat, ändert sich nichts und die Version bleibt erhalten. Die Änderung wird als application.updated im Verwaltungs-Audit-Log protokolliert und als Ereignis application_changed veröffentlicht; das Entfernen einer Verbindung wirkt sich bei der nächsten Anmeldung aus.

Anfrage

Header: If-Match: "<version>" (optional). Mit If-Match wird die Liste nur geschrieben, wenn die Anwendung noch in dieser Version vorliegt (andernfalls 412); ohne ihn wird die Liste unabhängig von der Version geschrieben. Senden Sie einen Idempotency-Key-Header, damit Wiederholungen sicher sind.

Parameter In Erforderlich Beschreibung
application_id path ja ID der Anwendung mit dem Präfix app_.

Body

Feld Typ Erforderlich Beschreibung
connection_ids array of string ja IDs der Verbindungen (conn_…), eindeutig, höchstens 100, in der Reihenfolge der Schaltflächen.

Antwort

200 OK mit der Anwendung und ihrem neuen ETag.

Fehler

Jeder Fehler ist ein application/problem+json-Body mit einem stabilen code.

HTTP code Wann
400 malformed_request, unknown_field Der Body ist kein gültiges JSON oder enthält ein unbekanntes Feld.
401 unauthenticated Der API-Schlüssel fehlt, ist ungültig oder widerrufen.
403 insufficient_permissions Der Schlüssel besitzt applications:write oder connections:write nicht.
404 not_found Die Anwendung existiert in dieser Umgebung nicht (oder die ID ist fehlerhaft).
412 precondition_failed Die Version in If-Match ist veraltet.
422 validation_failed connection_ids fehlt, enthält mehr als 100 Einträge, eine fehlerhafte oder doppelte ID oder eine Verbindung, die nicht in dieser Umgebung liegt.
429 rate_limited Das Ratenlimit wurde überschritten; beachten Sie Retry-After.
503 service_unavailable Eine Abhängigkeit ist vorübergehend nicht verfügbar; wiederholen Sie die Anfrage später.

Beispiel

curl -X PUT https://api.eu.keenauth.com/v1/applications/app_6f8d0cjgbmf0gtn2rg6pscp3cg/connections \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"connection_ids":["conn_01h455vb4pex5vsknk084sn02q"]}'

CLI: keenauth applications put-connections app_6f8d0cjgbmf0gtn2rg6pscp3cg --connection-ids conn_01h455vb4pex5vsknk084sn02q (um alle Verbindungen zu deaktivieren, senden Sie {"connection_ids":[]} mit --data -)