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
idRequired
string <uuid>
Opaque Assign-owned UUIDv7 identifier. Clients must not derive meaning from it.
Example0198ac5e-f9b7-7000-8000-000000000001
nameRequired
string·min 1·max 100
slugRequired
string
Server-generated canonical Workspace URL segment. Authorized
Workspace managers can change it through the revisioned
Workspace update operation.
icon_urlRequired
string·max 2048
Optional HTTPS Workspace icon; null uses the initials fallback.
revisionRequired
integer <int64>·min 1
archived_atRequired
string <date-time>
When set, the Workspace is archived: no data was deleted, every
session scoped to it was revoked, and its scoped routes answer
not-found for everyone but an owner.
created_atRequired
string <date-time>
updated_atRequired
string <date-time>
Cache-Control
string·const no-store
Prevents storage of error responses by clients and intermediaries.
X-Request-ID
string·min 1·max 200
Correlation identifier for the request.
X-Content-Type-Options
string·const nosniff
Prevents user agents from MIME-sniffing the response.
errorRequired
object
Cache-Control
string·const no-store
Prevents storage of error responses by clients and intermediaries.
X-Request-ID
string·min 1·max 200
Correlation identifier for the request.
X-Content-Type-Options
string·const nosniff
Prevents user agents from MIME-sniffing the response.
errorRequired
object
Cache-Control
string·const no-store
Prevents storage of error responses by clients and intermediaries.
X-Request-ID
string·min 1·max 200
Correlation identifier for the request.
X-Content-Type-Options
string·const nosniff
Prevents user agents from MIME-sniffing the response.
errorRequired
object
Cache-Control
string·const no-store
Prevents storage of error responses by clients and intermediaries.
X-Request-ID
string·min 1·max 200
Correlation identifier for the request.
X-Content-Type-Options
string·const nosniff
Prevents user agents from MIME-sniffing the response.
errorRequired
object
Cache-Control
string·const no-store
Prevents storage of error responses by clients and intermediaries.
X-Request-ID
string·min 1·max 200
Correlation identifier for the request.
X-Content-Type-Options
string·const nosniff
Prevents user agents from MIME-sniffing the response.
errorRequired
object
errorRequired
object
Cache-Control
string·const no-store
Prevents storage of error responses by clients and intermediaries.
X-Request-ID
string·min 1·max 200
Correlation identifier for the request.
X-Content-Type-Options
string·const nosniff
Prevents user agents from MIME-sniffing the response.
Retry-After
integer·min 1
Seconds until the client may retry.
errorRequired
object
Cache-Control
string·const no-store
Prevents storage of error responses by clients and intermediaries.
X-Request-ID
string·min 1·max 200
Correlation identifier for the request.
X-Content-Type-Options
string·const nosniff
Prevents user agents from MIME-sniffing the response.
errorRequired
object
Retry-After
integer·min 0
Delay in seconds before retrying, when an expected maintenance end is known.
Cache-Control
string·const no-store
Prevents storage of error responses by clients and intermediaries.
X-Request-ID
string·min 1·max 200
Correlation identifier for the request.
X-Content-Type-Options
string·const nosniff
Prevents user agents from MIME-sniffing the response.