Claim an invitation by creating an account
Create the realm account, the helpdesk user and the membership, in that order.
/v1/invitations/{token}/claimNo credential- Operation id
- claim_invitation
- Access
- Public by design. No credential is required or consulted.
/v1/invitations/{token}/claimCreate the realm account, the helpdesk user and the membership, in that order.
This is the route for an invitee who has no account anywhere. Use it when
the preview returned password_required: true. Everyone else accepts
instead.
There is no address field and there never will be. The address comes
from the invitation, so a claim cannot be pointed at anyone else.
display_name is optional and defaults to the local part of the invited
address.
The password must be at least 12 characters. Beyond that the rule belongs to the identity provider, so a password this route accepts can still be refused for being weak or reused, and the refusal explains itself.
The response does not sign anyone in. sign_in_required is always
true: the account now exists, and the next step is an ordinary sign in.
An address that already has an account is refused rather than joined, even if the preview suggested otherwise, because the preview reads a value recorded when the invitation was sent and this checks live. Send them to sign in and accept.
Claiming is rate limited per calling address, and a successful claim is refunded, so a team joining from one office does not throttle itself.
Access: no credential.
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Everything the invitee supplies, which is a password and nothing else.
There is no address field and there must never be one. The address is fixed by the invitation (FR-99, FR-100); a body field naming one would make the link's binding a suggestion. The display name is optional because a person's name is theirs to state, and it defaults to the local part of the invited address rather than being demanded on a surface someone is trying to get through.
Response Body
application/json
application/json
curl -X POST "https://example.com/v1/invitations/string/claim" \ -H "Content-Type: application/json" \ -d '{ "password": "correct-horse-battery-staple", "display_name": "Sam Okafor" }'{ "workspace_id": "9e2b6c14-3d08-4a7f-b512-8c0d4e6a1f93", "role": "editor", "email": "sam.okafor@northwind.example", "sign_in_required": true}