
# Organisation auswählen

`POST /fapi/v1/authorization-requests/{authorization_request_id}:select-organization` · wird vom Anmeldehost der Umgebung aufgerufen

Bindet die Organisation, die der Benutzer im gehosteten Auswahlfenster gewählt hat, an die Autorisierungsanfrage. Der Server prüft die Wahl erneut. Sie wird nur angenommen, wenn `organization_id` zum Zeitpunkt des Aufrufs in der Liste aus [Auswählbare Organisationen auflisten](/docs/api/fapi/authorization-requests/organizations/list) für diesen Benutzer und diese Anwendung enthalten ist. Jeder andere Wert erhält `422 validation_failed`, und es wird nichts gebunden, auch in den folgenden Fällen:

- die Organisation eines anderen Benutzers
- eine Organisation aus einer anderen Umgebung
- eine Organisation, in der die Anwendung nicht aktiviert ist
- eine fehlerhafte Kennung

Bei Erfolg wird die Organisation einmalig in die Anfrage geschrieben und kann nicht mehr geändert werden. Die Antwort enthält `continue_url`, die Fortsetzungs-URL des Autorisierungsendpunkts. Der Browser geht dorthin, und die Autorisierung wird mit gebundener Organisation fortgesetzt.

Die Bedingungen der Anfrage und die `404`-Antwort sind dieselben wie bei der Liste. Erfordert das Cookie `__Host-idp_session` des authentifizierten Benutzers; fehlt das Cookie, ist es abgelaufen oder widerrufen, wird `401 unauthenticated` zurückgegeben.

## Anfrage

Pfadparameter:

| Parameter | Beschreibung |
| --- | --- |
| `authorization_request_id` | Der Wert `authorization_request` der URL des Auswahlfensters (`azr_…`). |

Header:

| Header | Erforderlich | Beschreibung |
| --- | --- | --- |
| `Idp-Client` | ja | SDK-Kennung. |
| `Origin` | ja | Muss genau `https://<Anmeldehost>` sein. |
| `Content-Type` | ja | `application/json`. |

Body:

| Feld | Typ | Erforderlich | Beschreibung |
| --- | --- | --- | --- |
| `organization_id` | string | ja | Die `id` einer aufgelisteten Organisation (`org_…`). |

## Antwort

`200 OK`:

| Feld | Typ | Beschreibung |
| --- | --- | --- |
| `continue_url` | string | Wohin der Browser weitergeht: die Fortsetzungs-URL des Autorisierungsendpunkts. |

```json
{"continue_url": "/oauth2/authorize/resume?authorization_request=azr_01jbz6x8kq3m2n4p5r6s7t8v9w"}
```

## Fehler

| Status | Code | Wann |
| --- | --- | --- |
| 400 | `malformed_request` | Der Body ist kein gültiges JSON. |
| 400 | `unknown_field` | Der Body enthält ein anderes Feld als `organization_id`. |
| 401 | `unauthenticated` | Kein gültiges Sitzungs-Cookie. |
| 403 | `origin_not_allowed` | `Origin` fehlt oder ist falsch. |
| 404 | `not_found` | Die Anfrage ist fehlerhaft, unbekannt, abgelaufen, abgeschlossen, gehört zu einem anderen Host oder zu einem anderen Browser. |
| 409 | `conflict` | Die Anfrage hat bereits eine Organisation. |
| 413 | `payload_too_large` | Der Body ist zu groß. |
| 415 | `unsupported_media_type` | `Content-Type` ist nicht `application/json`. |
| 422 | `validation_failed` | `organization_id` fehlt oder ist nicht eine der aufgelisteten Organisationen. |
| 503 | `temporarily_unavailable` | Die Organisationsliste konnte nicht gelesen werden. |

## Beispiel

```bash
curl -X POST https://example.keenauth.app/fapi/v1/authorization-requests/azr_01jbz6x8kq3m2n4p5r6s7t8v9w:select-organization \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -H "Content-Type: application/json" \
  -b cookies.txt \
  -d '{"organization_id": "org_01jbz6x8kq3m2n4p5r6s7t8v9w"}'
```
