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.