Renvoyer une invitation
POST /v1/invitations/{invitation_id}:resend · autorisation invitations:write
Renvoie une invitation en attente avec un nouveau jeton : le lien précédent cesse de fonctionner. Pour une invitation email, le nouveau lien n'est envoyé que par e-mail et la réponse ne contient pas de accept_url. Pour une invitation link_only, le lien d'acceptation (accept_url) n'est renvoyé que dans cette réponse, une seule fois ; aucun point de terminaison ne le renvoie ensuite. La réponse contient Cache-Control: no-store, et une réponse rejouée pour la même Idempotency-Key omet le lien et contient secret_redacted: true. Les renvois doivent être espacés d'au moins 10 minutes et sont limités à 5 envois au total ; expires_at ne change pas. L'écriture est journalisée sous invitation.resent.
Requête
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
invitation_id |
chemin | oui | Identifiant de l'invitation (inv_…). |
Aucun corps de requête.
Réponse
200 OK avec l'invitation et son nouveau lien d'acceptation.
{
"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": 2,
"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,
"accept_url": "https://acme.eu.keenauth.app/u/login?invitation=<token>"
}
Erreurs
| HTTP | code | Quand |
|---|---|---|
| 404 | not_found |
L'invitation n'existe pas dans cet environnement. |
| 409 | conflict |
L'invitation n'est pas en attente. |
| 429 | invite_rate_limited |
Moins de 10 minutes depuis le dernier envoi, ou 5 envois déjà effectués. |
| 501 | not_implemented |
L'invitation utilise la livraison email et l'envoi d'e-mails d'invitation n'est pas configuré pour le déploiement. |
| 401 | unauthenticated |
L'identifiant d'authentification est absent, invalide ou révoqué. |
| 403 | insufficient_permissions |
L'identifiant 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 période indiquée par Retry-After. |
| 503 | service_unavailable |
Une dépendance est temporairement indisponible ; réessayez après la période indiquée par Retry-After. |
Exemple
curl -i -X POST "https://api.eu.keenauth.com/v1/invitations/inv_01j9xt9v3w4y8z0a2b4c6d8e0g:resend" \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
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é, la durée de conservation et la manière dont les données sont supprimées. Ne transmettez aucune catégorie particulière de données personnelles (santé, données biométriques, religion, opinions politiques, orientation sexuelle) dans aucun champ.