Resend pending invite
/invite/{id}/resend
Mints a fresh token and a fresh 7-day expiry for a pending invite, swapped onto the same row — the invite id is unchanged and the previous link stops working. The answer to "the invite email never arrived": creating the same invite again is refused as a duplicate (`409`), so this is the route that sends a new link. The raw `token` comes back once, as on create. The caller's own grant ceiling is re-checked against the invite's role, so resending can never hand out a role the caller could not grant. Requires `member:manage`.
Path Parameters
Invite id (inv_…).
Response Body
Lowercased at creation.
False when no invite email went out (the token still works).
Seven days after creation.
Invite id (inv_…).
User id (usr_…) of the inviter.
The single role (role_…) the invitee receives on acceptance.
Lifecycle state; only pending invites can still be accepted.
Teams (team_…) they are added to.
Raw invite token — returned once, never retrievable again.
curl -X POST 'https://api.elaichi.ai/invite/<id>/resend' \
-H 'Authorization: Bearer $ELAICHI_API_TOKEN' \
-H 'Content-Type: application/json'const response = await fetch('https://api.elaichi.ai/invite/<id>/resend', {
method: 'POST',
headers: {
'Authorization': 'Bearer ' + process.env.ELAICHI_API_TOKEN,
'Content-Type': 'application/json',
},
});
const data = await response.json();
console.log(data);import os
import requests
url = "https://api.elaichi.ai/invite/<id>/resend"
headers = {
"Authorization": f"Bearer {os.environ['ELAICHI_API_TOKEN']}",
"Content-Type": "application/json",
}
response = requests.post(url, headers=headers)
print(response.json())