Invites & Membership
Invite users by username or link, join via code, accept or decline, leave, and remove members.
Invites & Membership
Bring people into a circle and manage who stays. Members can be invited directly by username, pulled in through a shareable link, or added when they redeem an invitation code. All endpoints authenticate as the end user with a Bearer JWT plus the X-App-Id and X-Environment headers.
{circle_id} in every path is the circle's UUID.
Invite by Username
POST /v1/circle/{circle_id}/invite/username
Sends a circle invitation directly to an existing user identified by their username (the account's tag).
| Field | Type | Required | Description |
|---|---|---|---|
username | string | yes | Username of the user to invite. |
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/circle/{circle_id}/invite/usernameSandbox credentials
Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.
curl -X POST 'https://cloud.vanitypass.com/v1/circle/{circle_id}/invite/username' \
-H 'Content-Type: application/json' \
-H 'X-Environment: Sandbox' \
-d '{"username":"jane.doe"}'Generate an Invite Link
POST /v1/circle/{circle_id}/invite/link
Generates a shareable invitation link for the circle. The optional invitation_type controls who administers members joining through the link.
| Field | Type | Required | Description |
|---|---|---|---|
invitation_type | string | no | One of members_managed, admin_managed. Omit to use the default. |
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/circle/{circle_id}/invite/linkSandbox credentials
Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.
curl -X POST 'https://cloud.vanitypass.com/v1/circle/{circle_id}/invite/link' \
-H 'Content-Type: application/json' \
-H 'X-Environment: Sandbox' \
-d '{"invitation_type":"members_managed"}'List Pending Invites
GET /v1/circle/{circle_id}/invite/pending
Lists pending invitations for the circle. No request body.
| Field | Type | Required | Description |
|---|---|---|---|
circle_id | string (path) | yes | Circle UUID. |
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/circle/{circle_id}/invite/pendingSandbox credentials
Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.
curl -X GET 'https://cloud.vanitypass.com/v1/circle/{circle_id}/invite/pending' \
-H 'Content-Type: application/json' \
-H 'X-Environment: Sandbox' \Join via Invite Code
POST /v1/circle/{circle_id}/invite/join
Joins a circle using an invitation code — used when a new or existing user redeems a link. The user supplies their profile details alongside the code.
| Field | Type | Required | Description |
|---|---|---|---|
invitation_code | string | yes | The invitation code to redeem. |
firstname | string | yes | User's first name. |
lastname | string | yes | User's last name. |
email | string | yes | User's email address. |
phone_number | string | yes | User's phone number. |
country_of_residence | string | yes | User's country of residence. |
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/circle/{circle_id}/invite/joinSandbox credentials
Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.
curl -X POST 'https://cloud.vanitypass.com/v1/circle/{circle_id}/invite/join' \
-H 'Content-Type: application/json' \
-H 'X-Environment: Sandbox' \
-d '{"invitation_code":"ABC123","firstname":"Jane","lastname":"Doe","email":"jane@example.com","phone_number":"+15551234567","country_of_residence":"US"}'Accept an Invite
POST /v1/circle/{circle_id}/invite/accept
Accepts a pending invitation. Provide the invitation code; invitation_kind optionally records how the invite was issued (by_username or by_link).
| Field | Type | Required | Description |
|---|---|---|---|
invitation_code | string | yes | The invitation code being accepted. |
invitation_kind | string | no | One of by_username, by_link. |
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/circle/{circle_id}/invite/acceptSandbox credentials
Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.
curl -X POST 'https://cloud.vanitypass.com/v1/circle/{circle_id}/invite/accept' \
-H 'Content-Type: application/json' \
-H 'X-Environment: Sandbox' \
-d '{"invitation_code":"ABC123"}'Decline an Invite
POST /v1/circle/{circle_id}/invite/decline
Declines a pending invitation.
| Field | Type | Required | Description |
|---|---|---|---|
invitation_code | string | yes | The invitation code being declined. |
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/circle/{circle_id}/invite/declineSandbox credentials
Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.
curl -X POST 'https://cloud.vanitypass.com/v1/circle/{circle_id}/invite/decline' \
-H 'Content-Type: application/json' \
-H 'X-Environment: Sandbox' \
-d '{"invitation_code":"ABC123"}'Leave a Circle
POST /v1/circle/{circle_id}/members/leave
Removes the authenticated user from the circle.
| Field | Type | Required | Description |
|---|---|---|---|
circle_id | string | yes | Circle UUID (also present in the path). |
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/circle/{circle_id}/members/leaveSandbox credentials
Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.
curl -X POST 'https://cloud.vanitypass.com/v1/circle/{circle_id}/members/leave' \
-H 'Content-Type: application/json' \
-H 'X-Environment: Sandbox' \
-d '{"circle_id":"{circle_id}"}'Remove a Member
POST /v1/circle/{circle_id}/members/remove
Removes another member from the circle. Requires the appropriate management rights on the circle.
| Field | Type | Required | Description |
|---|---|---|---|
circle_id | string | yes | Circle UUID (also present in the path). |
member_id | string | yes | Identifier of the member to remove. |
https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us./v1/circle/{circle_id}/members/removeSandbox credentials
Keys never leave your browser — they are sent only to cloud.vanitypass.com with X-Environment: Sandbox.
curl -X POST 'https://cloud.vanitypass.com/v1/circle/{circle_id}/members/remove' \
-H 'Content-Type: application/json' \
-H 'X-Environment: Sandbox' \
-d '{"circle_id":"{circle_id}","member_id":"{member_id}"}'