
# Aktiviere oder deaktiviere eine Anwendung in einer Organisation

`PUT /v1/organizations/{org_id}/applications/{application_id}` · Berechtigung `organizations:write`

Legt den Status der Anwendung in der Organisation fest. Wenn Sie den aktuellen Status erneut schreiben, bleibt die Anfrage ohne Wirkung und die Version bleibt gleich. `If-Match` ist optional; wenn es angegeben wird, muss es mit dem aktuellen `ETag` übereinstimmen. Beim Deaktivieren bleiben die Zuweisungen erhalten; sie gelten wieder, sobald die Anwendung erneut aktiviert wird. Schreibvorgänge werden im Verwaltungs-Auditprotokoll als `organization_application.enabled` oder `organization_application.disabled` erfasst.

## Anfrage

| Parameter | In | Erforderlich | Beschreibung |
|---|---|---|---|
| `org_id` | path | ja | Organisations-ID (`org_…`). |
| `application_id` | path | ja | Anwendungs-ID (`app_…`). |
| `If-Match` | header | nein | Optional. Der aktuelle `ETag` (`"0"` für eine nie geschriebene Zeile); bei Abweichung `412`. |
| `status` | string | ja | `enabled` oder `disabled`. |

## Antwort

`200 OK` mit der Zugriffszeile und ihrem neuen `ETag`.

```json
{
  "organization_id": "org_01j9xk3m7q8r2s4t6v8w0y2z4a",
  "application_id": "app_01j9xm4n8r9s3t5v7w9x1y3z5b",
  "status": "enabled",
  "enabled_at": "2026-10-12T09:30:00.123456Z",
  "updated_at": "2026-10-12T09:30:00.123456Z",
  "version": 1
}
```

## Fehler

| HTTP | code | Wann |
|---|---|---|
| 404 | `not_found` | Die Organisation oder Anwendung existiert in dieser Umgebung nicht. |
| 409 | `organization_pending_deletion` | Aktivierung in einer Organisation, deren Löschung aussteht. |
| 412 | `precondition_failed` | `If-Match` stimmt nicht mit der aktuellen Version überein; bei `"0"` hat eine andere Anfrage die Zeile zuerst geschrieben. |
| 422 | `validation_failed` | `status` fehlt oder ist weder `enabled` noch `disabled`. |
| 401 | `unauthenticated` | Der Berechtigungsnachweis fehlt, ist ungültig oder widerrufen. |
| 403 | `insufficient_permissions` | Der Berechtigungsnachweis hat nicht die erforderliche Berechtigung. |
| 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

```bash
curl -i -X PUT "https://api.eu.keenauth.com/v1/organizations/org_01j9xk3m7q8r2s4t6v8w0y2z4a/applications/app_01j9xm4n8r9s3t5v7w9x1y3z5b" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -H 'If-Match: "0"' \
  -d '{"status":"enabled"}'
```
