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 -)