
# Lister les invitations d'une organisation

`GET /fapi/v1/organizations/{org_id}/invitations` · appelé depuis l'hôte de connexion de l'environnement

Liste les invitations d'une organisation dans l'ordre de leur création, pour un écran de profil d'organisation. Une invitation en attente n'affiche l'adresse invitée que si vous détenez également `idp_members:read` ; sinon, `email` vaut `null`. Les invitations acceptées, révoquées ou expirées ne comportent jamais d'adresse.

Nécessite le cookie `__Host-idp_session` de l'utilisateur authentifié, ou un jeton d'accès à l'API frontale d'une application de premier niveau (`Authorization: DPoP <token>` avec une preuve DPoP ; voir [Jeton d'accès à l'API frontale](/docs/api/fapi/front-api-token)). L'utilisateur doit être membre actif de l'organisation et disposer de l'autorisation `idp_members:invite`. Un utilisateur qui n'est pas membre reçoit `404 not_found` ; un membre sans cette autorisation reçoit `403 insufficient_permissions`.

Avec `@keenauth/js` : `await keenauth.organizations.invitations(orgId, { status: "pending" })`.

## Requête

En-têtes :

| En-tête | Obligatoire | Description |
| --- | --- | --- |
| `Idp-Client` | oui | Identifiant du SDK. |

`org_id` : l'identifiant de l'organisation (`org_…`).

Paramètres de requête :

| Paramètre | Obligatoire | Description |
| --- | --- | --- |
| `status` | non | `pending`, `accepted`, `revoked` ou `expired` ; les quatre valeurs lorsqu'il est omis. |
| `after` | non | La valeur `next_after` de la page précédente. |
| `limit` | non | 1–100, par défaut 20. |

Aucun corps.

## Réponse

`200 OK` avec `{"data": [...], "next_after": "..."}` ; `next_after` est absent de la dernière page. Chaque élément possède les champs de [une invitation](/docs/api/fapi/organizations/invitations/create).

## Erreurs

| Statut | Code | Quand |
| --- | --- | --- |
| 400 | `invalid_cursor` | `after` est mal formé. |
| 401 | `unauthenticated` | Aucun cookie de session ni jeton valide. |
| 403 | `insufficient_permissions` | L'utilisateur ne dispose pas de `idp_members:invite` dans l'organisation. |
| 404 | `not_found` | Aucune organisation de ce type pour cet utilisateur ; un identifiant inconnu, mal formé ou étranger reçoit la même réponse. |
| 422 | `validation_failed` | `status` ou `limit` est invalide. |
| 503 | `service_unavailable` | Service temporairement indisponible ; réessayez après `Retry-After`. |

## Exemple

```bash
curl "https://example.keenauth.app/fapi/v1/organizations/org_01jbz6x8kq3m2n4p5r6s7t8v9a/invitations?status=pending&limit=1" \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -b cookies.txt
```

```json
{
  "data": [
    {
      "id": "inv_01jbz6x8kq3m2n4p5r6s7t8v9d",
      "email": "new.member@example.com",
      "role_ids": ["rol_01jbz6x8kq3m2n4p5r6s7t8v9w"],
      "delivery": "email",
      "delivery_status": "sent",
      "status": "pending",
      "send_count": 1,
      "last_sent_at": "2026-11-03T10:00:00Z",
      "expires_at": "2026-11-10T10:00:00Z",
      "accepted_user_id": null,
      "accepted_at": null,
      "revoked_at": null,
      "created_at": "2026-11-03T10:00:00Z",
      "updated_at": "2026-11-03T10:00:00Z",
      "version": 1
    }
  ],
  "next_after": "inv_01jbz6x8kq3m2n4p5r6s7t8v9d"
}
```

## Données personnelles

Ce point de terminaison traite des données personnelles : appartenances aux organisations et invitations. [Données personnelles dans les API KeenAuth](/docs/policies/personal-data) décrit ce qui est stocké, combien de temps cela est conservé et comment cela est supprimé. Ne transmettez aucune catégorie particulière de données personnelles (santé, données biométriques, religion, opinions politiques, orientation sexuelle) dans un champ quelconque.
