
# Lister les invitations

`GET /v1/invitations` · autorisation `invitations:read`

Liste les invitations de l'environnement, de la plus ancienne à la plus récente. Seule la pagination avant est prise en charge. Filtres : `organization_id`, `email` (correspondance exacte) et `status`. Le curseur est lié aux filtres ; l'e-mail n'entre dans le curseur que sous forme de hachage à clé. Les liens d'acceptation ne sont jamais listés.

## Requête

| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| `limit` | query | non | 1 à 100, 20 par défaut. |
| `after` | query | non | Curseur issu de `list_metadata.after`. |
| `organization_id` | query | non | Identifiant de l'organisation (`org_…`). |
| `email` | query | non | Adresse e-mail (correspondance exacte). |
| `status` | query | non | `pending`, `accepted`, `revoked` ou `expired`. |

Aucun corps de requête.

## Réponse

`200 OK` avec une page d'invitations.

```json
{
  "data": [
    {
      "id": "inv_01j9xt9v3w4y8z0a2b4c6d8e0g",
      "organization_id": "org_01j9xk3m7q8r2s4t6v8w0y2z4a",
      "email": "ada@example.com",
      "role_ids": [
        "rol_01j9xr7s1t2w6x8y0z2a4b6c8e"
      ],
      "application_id": null,
      "delivery": "link_only",
      "delivery_status": "not_sent",
      "status": "pending",
      "send_count": 1,
      "last_sent_at": "2026-10-12T09:31:00.123456Z",
      "expires_at": "2026-10-19T09:31:00.123456Z",
      "accepted_user_id": null,
      "accepted_at": null,
      "revoked_at": null,
      "created_at": "2026-10-12T09:31:00.123456Z",
      "updated_at": "2026-10-12T09:31:00.123456Z",
      "version": 1
    }
  ],
  "list_metadata": {
    "before": null,
    "after": null
  }
}
```

## Erreurs

| HTTP | code | Quand |
|---|---|---|
| 400 | `invalid_cursor` | Le curseur est invalide ou appartient à d'autres filtres. |
| 422 | `validation_failed` | Un filtre ou `limit` est invalide, ou `before` ou un `order` autre que `asc` a été fourni. |
| 401 | `unauthenticated` | L'identifiant d'authentification est absent, invalide ou révoqué. |
| 403 | `insufficient_permissions` | L'identifiant d'authentification ne dispose pas de l'autorisation requise. |
| 429 | `rate_limited` | La limite de débit a été dépassée ; réessayez après la durée indiquée par `Retry-After`. |
| 503 | `service_unavailable` | Une dépendance est temporairement indisponible ; réessayez après la durée indiquée par `Retry-After`. |

## Exemple

```bash
curl -i "https://api.eu.keenauth.com/v1/invitations?organization_id=org_01j9xk3m7q8r2s4t6v8w0y2z4a&status=pending" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```

## Données personnelles

Ce point de terminaison traite des données personnelles : adhésions aux organisations et invitations. [Données personnelles dans les API KeenAuth](/docs/policies/personal-data) décrit ce qui est stocké, la durée de conservation et la manière dont elles sont supprimées. N'envoyez pas de catégories particulières de données personnelles (santé, données biométriques, religion, opinions politiques, orientation sexuelle) dans aucun champ.
