
# Elegir una organización

`POST /fapi/v1/authorization-requests/{authorization_request_id}:select-organization` · llamado desde el host de inicio de sesión del entorno

Vincula a la solicitud de autorización la organización que el usuario eligió en el selector alojado. El servidor vuelve a comprobar la elección. Solo se acepta si `organization_id` figura en la lista de [Listar las organizaciones entre las que elegir](/docs/api/fapi/authorization-requests/organizations/list) para este usuario y esta aplicación en el momento de la llamada. Cualquier otro valor recibe `422 validation_failed` y no se vincula nada, incluidos los casos siguientes:

- una organización de otro usuario
- una organización de otro entorno
- una organización en la que la aplicación no está habilitada
- un identificador mal formado

Si tiene éxito, la organización se escribe en la solicitud una sola vez y no puede cambiar. La respuesta incluye `continue_url`, la URL de reanudación del endpoint de autorización. El navegador va a esa URL y la autorización continúa con la organización vinculada.

Las condiciones de la solicitud y la respuesta `404` son las mismas que para la lista. Requiere la cookie `__Host-idp_session` del usuario autenticado; si la cookie falta, ha caducado o ha sido revocada, devuelve `401 unauthenticated`.

## Solicitud

Parámetro de ruta:

| Parámetro | Descripción |
| --- | --- |
| `authorization_request_id` | El valor `authorization_request` de la URL del selector (`azr_…`). |

Encabezados:

| Encabezado | Obligatorio | Descripción |
| --- | --- | --- |
| `Idp-Client` | sí | Identificador del SDK. |
| `Origin` | sí | Debe ser exactamente `https://<host de inicio de sesión>`. |
| `Content-Type` | sí | `application/json`. |

Cuerpo:

| Campo | Tipo | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `organization_id` | string | sí | El `id` de una organización listada (`org_…`). |

## Respuesta

`200 OK`:

| Campo | Tipo | Descripción |
| --- | --- | --- |
| `continue_url` | string | Adonde continúa el navegador: la URL de reanudación del endpoint de autorización. |

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

## Errores

| Estado | Código | Cuándo |
| --- | --- | --- |
| 400 | `malformed_request` | El cuerpo no es un JSON válido. |
| 400 | `unknown_field` | El cuerpo tiene un campo distinto de `organization_id`. |
| 401 | `unauthenticated` | No hay una cookie de sesión válida. |
| 403 | `origin_not_allowed` | `Origin` falta o es incorrecto. |
| 404 | `not_found` | La solicitud está mal formada, es desconocida, ha caducado, ha finalizado, o es de otro host u otro navegador. |
| 409 | `conflict` | La solicitud ya tiene una organización. |
| 413 | `payload_too_large` | El cuerpo es demasiado grande. |
| 415 | `unsupported_media_type` | `Content-Type` no es `application/json`. |
| 422 | `validation_failed` | `organization_id` falta o no es una de las organizaciones listadas. |
| 503 | `temporarily_unavailable` | No se pudo leer la lista de organizaciones. |

## Ejemplo

```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"}'
```
