VANITYPASS
White-label APIProfile & Memberships

Apps, Roles & Access

Resolve the active app context, list accessible apps, switch organization, and read roles, permissions, and user lookups.

Apps, Roles & Access

These endpoints expose the account context around the authenticated user: which app is currently resolved, which apps and organizations the user can reach, the roles and effective permissions granted, and directory-style lookups for finding other users.

All requests are authenticated with a Bearer JWT and require the X-App-Id header. Use the X-Environment header to target the sandbox.

Current app context

GET /v1/users/app

Return the app context currently resolved for the session (from the X-App-Id header). Use this to confirm which app a request will operate against.

No parameters. Uses the JWT and X-App-Id header.

Sandbox-only. Try-it requests target https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us.
GET/v1/users/app

Sandbox 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/users/app' \
  -H 'Content-Type: application/json' \
  -H 'X-Environment: Sandbox' \

Accessible apps

GET /v1/users/apps

List the apps the authenticated user can access. Pair with X-App-Id to switch which app subsequent requests target.

No parameters. Uses the JWT and X-App-Id header.

Sandbox-only. Try-it requests target https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us.
GET/v1/users/apps

Sandbox 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/users/apps' \
  -H 'Content-Type: application/json' \
  -H 'X-Environment: Sandbox' \

Switch active organization

POST /v1/users/switch-org

Change the active organization for the session. Subsequent org-scoped requests resolve against the newly selected organization.

A request body is required and identifies the target organization; the spec does not constrain its shape further.

Sandbox-only. Try-it requests target https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us.
POST/v1/users/switch-org

Sandbox 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/users/switch-org' \
  -H 'Content-Type: application/json' \
  -H 'X-Environment: Sandbox' \
  -d '{}'

Roles

GET /v1/users/roles

Return the roles assigned to the authenticated user.

No parameters. Uses the JWT and X-App-Id header.

Sandbox-only. Try-it requests target https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us.
GET/v1/users/roles

Sandbox 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/users/roles' \
  -H 'Content-Type: application/json' \
  -H 'X-Environment: Sandbox' \

Effective permissions

GET /v1/users/permissions

Return the effective permissions for the authenticated user — the resolved set derived from their roles.

No parameters. Uses the JWT and X-App-Id header.

Sandbox-only. Try-it requests target https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us.
GET/v1/users/permissions

Sandbox 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/users/permissions' \
  -H 'Content-Type: application/json' \
  -H 'X-Environment: Sandbox' \

Search users

GET /v1/users/search

Search active users by username prefix within the authenticated user's current organization and application. The caller must have an active membership in that application.

ParameterInTypeRequiredDescription
usernamequerystringYesUsername prefix containing 3–64 characters.

Each result contains only:

FieldTypeDescription
usernamestringThe user's username.
imagestring | nullAvatar image URL, if set.
Sandbox-only. Try-it requests target https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us.
GET/v1/users/search

Sandbox 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/users/search' \
  -H 'Content-Type: application/json' \
  -H 'X-Environment: Sandbox' \

Search is limited to 30 requests per minute per user and application. A 429 response includes Retry-After.

Recently registered users

GET /v1/users/recent

Return the 100 most recently registered users. Each item is a full User record.

FieldTypeDescription
idstring (uuid) | nullUser identifier.
usernamestringUsername.
firstnamestringFirst name.
lastnamestringLast name.
emailstringEmail address.
phone_numberstringPhone number.
genderstringGender.
date_of_birthstring (date)Date of birth.
countrystringCountry.
country_codestringCountry dialing code.
imagestring | nullAvatar image URL.
vibesstring[]Interest tags.
is_activebooleanWhether the account is active.
is_vendorbooleanWhether the user is a vendor.
is_sys_adminbooleanWhether the user is a system admin.
is_email_otp_verifiedboolean | nullEmail OTP verification state.
vendor_namestring | nullVendor display name, if a vendor.
external_login_keystring | nullExternal login key.
external_member_idstring | nullExternal member identifier.
fmt_partner_idstring | nullPartner identifier.
hash_encryptionstring | nullEncrypted hash.
Sandbox-only. Try-it requests target https://cloud.vanitypass.com with X-Environment: Sandbox. No real bookings or charges. Production access: contact us.
GET/v1/users/recent

Sandbox 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/users/recent' \
  -H 'Content-Type: application/json' \
  -H 'X-Environment: Sandbox' \