
# Listar las organizaciones entre las que elegir

`GET /fapi/v1/authorization-requests/{authorization_request_id}/organizations` · llamado desde el host de inicio de sesión del entorno

Lo llama el selector de organización alojado en `/u/organization`. Cuando `organization_usage` de una aplicación es `require` y la solicitud de autorización no indica ninguna `organization`, el endpoint de autorización busca las organizaciones del usuario una vez que este ha iniciado sesión. Si no hay ninguna, la solicitud termina con `access_denied` y `error_description=no_organization_membership`. Si hay exactamente una, esa organización se vincula sin mostrar ninguna pantalla. Si hay dos o más, el navegador pasa al selector, que lee esta lista.

La lista contiene las organizaciones en las que el usuario tiene una membresía activa, la organización está activa y la aplicación está habilitada. Está ordenada por slug y contiene como máximo 100 entradas; `truncated: true` indica que existen más. La organización elegida por última vez en esta sesión aparece primero y tiene `last_used: true`. `name` son datos del cliente con los caracteres de control y de dirección eliminados. Cuando una organización no tiene nombre, `name` es su slug. Leer la lista no vincula nada.

La solicitud de autorización debe estar pendiente, abierta en este host de inicio de sesión y tener la cookie de vinculación que el endpoint de autorización estableció en este navegador. Los casos siguientes reciben todos la misma respuesta `404 not_found`:

- una solicitud mal formada o desconocida
- una solicitud caducada o finalizada
- una solicitud abierta en otro host
- una solicitud abierta en otro navegador

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

Sin cuerpo.

## Respuesta

`200 OK`:

| Campo | Tipo | Descripción |
| --- | --- | --- |
| `data[].id` | string | Identificador de la organización (`org_…`). |
| `data[].slug` | string | Slug de la organización. |
| `data[].name` | string | Nombre para mostrar, texto plano. |
| `data[].last_used` | boolean | Indica si es la organización elegida por última vez en esta sesión. |
| `truncated` | boolean | Indica si el usuario tiene más organizaciones elegibles de las que se muestran. |

```json
{
  "data": [
    {"id": "org_01jbz6x8kq3m2n4p5r6s7t8v9w", "slug": "acme", "name": "Acme", "last_used": false},
    {"id": "org_01jbz6x8kq3m2n4p5r6s7t8v9x", "slug": "globex", "name": "Globex", "last_used": false}
  ],
  "truncated": false
}
```

## Errores

| Estado | Código | Cuándo |
| --- | --- | --- |
| 401 | `unauthenticated` | No hay una cookie de sesión válida. |
| 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. |
| 503 | `temporarily_unavailable` | No se pudo leer la lista de organizaciones. |

## Ejemplo

```bash
curl https://example.keenauth.app/fapi/v1/authorization-requests/azr_01jbz6x8kq3m2n4p5r6s7t8v9w/organizations \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -b cookies.txt
```
