Skip to content
LogoLogo

Accept an invitation

Accept an invitation

POST/api/v1/invitations/accept

Redeems an invitation token and joins the Workspace. Requires a signed-in session: the invitation's address must equal the caller's stored address exactly after normalization, so a forwarded message cannot transfer the grant. A mismatch answers 403 invitation_recipient_mismatch. A live invitation proves control of the matching mailbox: acceptance verifies that address atomically with membership creation, without another verification email.

Idempotency is account-scoped because the caller may have an authenticated account-only session and no target-Workspace membership before this operation succeeds.

An expired invitation answers 410 invitation_expired. A revoked or already-accepted one answers 409 invitation_not_pending. An unknown token answers 404 — the same answer a swept expired token gives, so the endpoint is not a token oracle.

Acceptance does not switch the calling session onto the joined Workspace; that is PUT /api/v1/auth/session/workspace.

Header Parameters

X-CSRF-TokenRequired
string·min 43·max 43

Session-bound CSRF token. It must exactly match the __Host-assign_csrf cookie sent with the request.

Idempotency-KeyRequired
string·min 16·max 200

Opaque client-generated key for safely retrying this operation.

Request Body

application/json
tokenRequired
string

Responses