Send an invitation again
Email a fresh link for an invitation that has not been accepted, including one that has expired. The link sent before stops working.
POST
/
invitations
/
{invitation_id}
/
resend
# cookies.txt holds the cookies from your signed-in console session.
curl --request POST \
"$MITHUNAI_URL/mithunai/api/v1/invitations/9d4e2a71-3c5b-4f80-a6d1-8e7b2c0f4a13/resend" \
--cookie cookies.txt \
--header "X-CSRF-Token: $MITHUNAI_CSRF_TOKEN"
import os
from http.cookiejar import MozillaCookieJar
import requests
jar = MozillaCookieJar("cookies.txt")
jar.load()
invitation_id = "9d4e2a71-3c5b-4f80-a6d1-8e7b2c0f4a13"
response = requests.post(
f"{os.environ['MITHUNAI_URL']}/mithunai/api/v1/invitations/{invitation_id}/resend",
cookies=jar,
headers={"X-CSRF-Token": os.environ["MITHUNAI_CSRF_TOKEN"]},
timeout=30,
)
response.raise_for_status()
print(response.json()["expires_at"])
// Runs in a page on the MITHUNAI console's own origin, while signed in.
// csrfToken is the value of the csrf_token cookie.
const invitationId = '9d4e2a71-3c5b-4f80-a6d1-8e7b2c0f4a13'
const response = await fetch(`/mithunai/api/v1/invitations/${invitationId}/resend`, {
method: 'POST',
credentials: 'include',
headers: { 'X-CSRF-Token': csrfToken },
})
console.log((await response.json()).expires_at)
{
"id": "9d4e2a71-3c5b-4f80-a6d1-8e7b2c0f4a13",
"email": "sarah.chen@example.com",
"role": "editor",
"status": "pending",
"invited_by_name": "Alex Mercer",
"created_at": "2026-10-13T09:12:05.640021+00:00",
"expires_at": "2026-10-27T08:30:00.115200+00:00",
"last_sent_at": "2026-10-20T08:30:00.115200+00:00"
}
{ "code": "not_found", "message": "The requested resource was not found." }
{ "code": "dependency_failure", "message": "This deployment cannot send e-mail yet." }
Emails the invitation again with a new link and a new seven days. The link sent earlier stops working at once, so the person must use the newest message. This also works for an invitation marked
expired.
This endpoint takes a signed-in console session, not an API key. Send the session cookies your browser received when you signed in, plus the X-CSRF-Token header set to the value of the csrf_token cookie. A request authenticated with an mithunai_sk_ key is refused with 403.
You need the owner or admin role, and you cannot re-send an invitation for a role above your own (403). The request takes no body.
404— no open invitation with that ID in your organisation. An accepted or withdrawn invitation, an invitation in another organisation and a malformed ID all return the same404.429— your organisation has sent 30 invitations in the last hour.503— this deployment is not set up to send email. The earlier link still works.502— the email provider refused the message. The earlier link still works.
string
required
The invitation’s ID (UUID), as returned in
id by List
invitations.string
required
The value of your session’s
csrf_token cookie (named __Host-csrf_token when the console is
served over HTTPS without a shared cookie domain). A missing or mismatched token returns 401.Response
Returns200 with the invitation, with new expires_at and last_sent_at values.
string
required
The invitation’s ID (UUID). It does not change.
string
required
The invited address.
string
required
The role the person will get.
string
required
pending.string | null
required
The display name of the member who first sent it.
string
required
When it was first sent, ISO 8601 in UTC.
string
required
When the new link stops working, ISO 8601 in UTC.
string
required
When it was sent this time, ISO 8601 in UTC.
# cookies.txt holds the cookies from your signed-in console session.
curl --request POST \
"$MITHUNAI_URL/mithunai/api/v1/invitations/9d4e2a71-3c5b-4f80-a6d1-8e7b2c0f4a13/resend" \
--cookie cookies.txt \
--header "X-CSRF-Token: $MITHUNAI_CSRF_TOKEN"
import os
from http.cookiejar import MozillaCookieJar
import requests
jar = MozillaCookieJar("cookies.txt")
jar.load()
invitation_id = "9d4e2a71-3c5b-4f80-a6d1-8e7b2c0f4a13"
response = requests.post(
f"{os.environ['MITHUNAI_URL']}/mithunai/api/v1/invitations/{invitation_id}/resend",
cookies=jar,
headers={"X-CSRF-Token": os.environ["MITHUNAI_CSRF_TOKEN"]},
timeout=30,
)
response.raise_for_status()
print(response.json()["expires_at"])
// Runs in a page on the MITHUNAI console's own origin, while signed in.
// csrfToken is the value of the csrf_token cookie.
const invitationId = '9d4e2a71-3c5b-4f80-a6d1-8e7b2c0f4a13'
const response = await fetch(`/mithunai/api/v1/invitations/${invitationId}/resend`, {
method: 'POST',
credentials: 'include',
headers: { 'X-CSRF-Token': csrfToken },
})
console.log((await response.json()).expires_at)
{
"id": "9d4e2a71-3c5b-4f80-a6d1-8e7b2c0f4a13",
"email": "sarah.chen@example.com",
"role": "editor",
"status": "pending",
"invited_by_name": "Alex Mercer",
"created_at": "2026-10-13T09:12:05.640021+00:00",
"expires_at": "2026-10-27T08:30:00.115200+00:00",
"last_sent_at": "2026-10-20T08:30:00.115200+00:00"
}
{ "code": "not_found", "message": "The requested resource was not found." }
{ "code": "dependency_failure", "message": "This deployment cannot send e-mail yet." }
Last modified on November 3, 2026
# cookies.txt holds the cookies from your signed-in console session.
curl --request POST \
"$MITHUNAI_URL/mithunai/api/v1/invitations/9d4e2a71-3c5b-4f80-a6d1-8e7b2c0f4a13/resend" \
--cookie cookies.txt \
--header "X-CSRF-Token: $MITHUNAI_CSRF_TOKEN"
import os
from http.cookiejar import MozillaCookieJar
import requests
jar = MozillaCookieJar("cookies.txt")
jar.load()
invitation_id = "9d4e2a71-3c5b-4f80-a6d1-8e7b2c0f4a13"
response = requests.post(
f"{os.environ['MITHUNAI_URL']}/mithunai/api/v1/invitations/{invitation_id}/resend",
cookies=jar,
headers={"X-CSRF-Token": os.environ["MITHUNAI_CSRF_TOKEN"]},
timeout=30,
)
response.raise_for_status()
print(response.json()["expires_at"])
// Runs in a page on the MITHUNAI console's own origin, while signed in.
// csrfToken is the value of the csrf_token cookie.
const invitationId = '9d4e2a71-3c5b-4f80-a6d1-8e7b2c0f4a13'
const response = await fetch(`/mithunai/api/v1/invitations/${invitationId}/resend`, {
method: 'POST',
credentials: 'include',
headers: { 'X-CSRF-Token': csrfToken },
})
console.log((await response.json()).expires_at)
{
"id": "9d4e2a71-3c5b-4f80-a6d1-8e7b2c0f4a13",
"email": "sarah.chen@example.com",
"role": "editor",
"status": "pending",
"invited_by_name": "Alex Mercer",
"created_at": "2026-10-13T09:12:05.640021+00:00",
"expires_at": "2026-10-27T08:30:00.115200+00:00",
"last_sent_at": "2026-10-20T08:30:00.115200+00:00"
}
{ "code": "not_found", "message": "The requested resource was not found." }
{ "code": "dependency_failure", "message": "This deployment cannot send e-mail yet." }