Team
1 endpoint
POST
/api/team/invitations/{id}/resendauth requiredResend a pending invitation
Email a pending team invitation again (session only, `members.invite`). One resend per invitation per 60 seconds, and each resend counts against the organization's hourly invite limit; a cooldown refusal does not. The response carries `resend_available_at`, the instant the next resend is allowed, and `seconds_until_resend`, the same wait in seconds by the server clock (count down from it rather than diffing against a local clock).
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string (uuid) | required | Invitation ID |
Responses
200Invitation resent
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | required | |
| string | required | ||
| last_sent_at | string | required | |
| resend_available_at | string | required | |
| seconds_until_resend | integer | required | |
| expires_at | string | required | |
| email_sent | boolean | required | |
| email_not_sent_reason | string | optional |
403Missing members.invite, or an API key was used
| Field | Type | Required | Description |
|---|---|---|---|
| error | string | required |
404INVITATION_NOT_FOUND — unknown, revoked, or another organization's invitation, or a malformed id
| Field | Type | Required | Description |
|---|---|---|---|
| error | string | required | |
| code | string | required | ("INVITATION_NOT_FOUND") |
409INVITATION_ACCEPTED or INVITATION_EXPIRED
| Field | Type | Required | Description |
|---|---|---|---|
| error | string | required | |
| code | string | required | ("INVITATION_ACCEPTED" | "INVITATION_EXPIRED") |
429INVITE_RESEND_COOLDOWN (sent under 60s ago) or RATE_LIMITED (org hourly limit); `retry_after_seconds` and Retry-After say when to retry
| Field | Type | Required | Description |
|---|---|---|---|
| error | string | required | |
| code | string | required | ("INVITE_RESEND_COOLDOWN" | "RATE_LIMITED") |
| retry_after_seconds | integer | required |