Set a pending invitation up on the invitee's behalf (admin only)
POST/api/invitations/:invitationId/approve
Turns a pending invitation into a live member without the invitee ever opening an email: the admin supplies the name and password the invitee would have. ADMIN-ONLY.
This exists for teams whose staff have no mailbox of their own. The addresses their manager types are real-looking and undeliverable, so the invitation is sent into nothing and the seat can never be claimed.
Everything after that is the ordinary acceptance — the same plan seat check, the same account resolution, the same default role bundle — so the member is indistinguishable from one who clicked the link. Two differences are deliberate: an EXPIRED invitation is still accepted here (expiry time-boxes a link to somebody else's mailbox, and there is no link), and the address stays UNVERIFIED, which keeps it ineligible to receive ownership of the workspace.
A revoked or already-accepted invitation is refused with 422.
Request
Responses
- 200
- 401
- 403
- 404
- 422
The accepted invitation.
Not authenticated. code: account_disabled means the member's seat was deactivated in this workspace: the session is over even though the token was not revoked (clients sign out and clean up).
Authenticated but not allowed.
Resource not found (or not visible to the current tenant).
The request failed validation.