Skip to main content
Resend Invite
Refreshes a pending invitation — sets expiresAt = now + 14 days and resends the email. Valid on any pending invite, including one past expiresAt (resend = refresh a lapsed invite). A terminal invite (accepted/declined/revoked) → 409. Requires the invite capability (or owner).
Resend emits no webhook — the status stays pending, so there is no lifecycle transition.
Requires workspaces.inviteAcceptUrl on the project, exactly as Create Invite does — resending an email that has nowhere to deep-link is equally pointless. Without it this endpoint returns 409 workspace/missing-invite-accept-url and the invitation’s expiresAt is left untouched. See Project settings.

Path Parameters

string
required
The workspace UUID.
string
required
The invitation UUID.

Response

Returns the refreshed WorkspaceInvitation object.

Error Responses

Returned when no invitation with that id exists on this workspace — including when the id belongs to a different workspace’s invitation.
A project misconfiguration, not a bad request. The row is not touched — expiresAt is unchanged and no email is sent. Set workspaces.inviteAcceptUrl and retry.
The invitation is accepted, declined, or revoked. Note an invitation merely past its expiresAt is not terminal — resending one is the documented purpose of this endpoint.
See also: useResendWorkspaceInvite · Project settings