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). 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.
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
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
{
"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 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.