This backend SDK securely signs user data for Vortex components. Your API key stays on your server, while the signed token is passed to the frontend where Vortex components render the invitation UI.
Use this file to discover all available pages before exploring further.
Vortex handles the complete invitation lifecycle — sending invites via email/SMS/share links, tracking clicks and conversions, managing referral programs, and optimizing your invitation flows with A/B testing.
Vortex uses a split architecture: your backend signs tokens with the SDK, and your frontend renders components that use those tokens to securely interact with Vortex.
Returns:InvitationResult — The accepted invitation result
Example
AcceptUser user = new AcceptUser().setEmail("user@example.com").setName("John Doe");InvitationResult result = client.acceptInvitation("inv-123", user);
The authenticated user who will be using the Vortex component. Required for most operations to attribute invitations correctly.
component
String
Component ID to generate token for (from your Vortex dashboard). If not specified, uses the default component for your account.
trigger
String
Trigger context for the invitation (e.g., “signup”, “share-button”, “referral-page”). Used for analytics to track which UI elements drive the most invitations.
embed
String
Embed mode identifier for embedded invitation widgets. Determines how the component renders in your UI.
scope
String
Scope identifier to restrict invitations to a specific team/org/workspace. Format: “scopeType:scopeId” (e.g., “team:team-123”).
vars
Map<String, Object>
Custom variables to pass to the component for template rendering. These can be used in email templates and invitation messages.
Unique identifier for the user in your system. Used to attribute invitations and track referral chains.
name
String
Display name shown to invitation recipients (e.g., “John invited you”). If not provided, falls back to email or a generic message.
email
String
User’s email address. Used for reply-to in invitation emails and shown to recipients so they know who invited them.
avatarUrl
String
URL to user’s avatar image. Displayed in invitation emails and widgets to personalize the invitation experience.
adminScopes
List<String>
List of scope IDs where this user has admin privileges. Admins can manage invitations and view analytics for these scopes. Format: [“scopeType:scopeId”, …] (e.g., [“team:team-123”, “org:org-456”]).
allowedEmailDomains
List<String>
Restrict invitations to specific email domains. If set, users can only invite people with emails matching these domains. Useful for enterprise accounts (e.g., [“acme.com”, “acme.co.uk”]).
Email address of the user accepting the invitation. At least one of email or phone is required.
phone
String
Phone number of the user accepting the invitation. At least one of email or phone is required. Include country code (e.g., “+1555123456”).
name
String
Display name of the accepting user. Used in notifications to the inviter (e.g., “John Doe accepted your invitation”).
isExisting
Boolean
Whether the accepting user was already registered in your system. Set to true for existing users, false for new signups, null if unknown. Used for analytics to track new vs existing user conversion rates.
Invitation form data submitted by the user, including invitee identifiers (such as email addresses, phone numbers, or internal IDs) and the values of any custom fields.
configurationAttributes
Map<String, Object>
Deprecated: Use formSubmissionData instead. Contains the same data.
attributes
Map<String, Object>
Custom attributes attached to this invitation
createdAt
String
ISO 8601 timestamp when the invitation was created
deactivated
boolean
✓
Whether this invitation has been revoked or expired
deliveryCount
int
✓
Number of times the invitation was sent (including reminders)
deliveryTypes
List<DeliveryType>
Channels used to deliver this invitation (email, sms, share link)
foreignCreatorId
String
Your internal user ID for the person who created this invitation
invitationType
InvitationType
Type of invitation: PERSONAL (1:1) or BROADCAST (1:many)
modifiedAt
String
ISO 8601 timestamp of last modification
status
InvitationStatus
Current status: CREATED, DELIVERED, CLICKED, ACCEPTED, or EXPIRED
target
List<InvitationTarget>
List of invitation recipients with their contact info and status
views
int
✓
Number of times the invitation page was viewed
widgetConfigurationId
String
Widget configuration ID used for this invitation
deploymentId
String
Deployment ID this invitation belongs to
groups
List<InvitationScope>
Scopes (teams/orgs) this invitation grants access to
accepts
List<InvitationAcceptance>
List of acceptance records if the invitation was accepted (optional, may be null)
scope
String
Primary scope identifier (e.g., “team-123”)
scopeType
String
Type of the primary scope (e.g., “team”, “organization”)
expired
boolean
✓
Whether this invitation has passed its expiration date
expires
String
ISO 8601 timestamp when this invitation expires
metadata
Map<String, Object>
Custom metadata attached to this invitation
passThrough
String
Pass-through data returned unchanged in webhooks and callbacks
source
String
Source identifier for tracking (e.g., “ios-app”, “web-dashboard”)
subtype
String
Subtype for analytics segmentation (e.g., “pymk”, “find-friends”)
creatorName
String
Display name of the user who created this invitation
creatorAvatarUrl
String
Avatar URL of the user who created this invitation
Webhooks let your server receive real-time notifications when events happen in Vortex. Use them to sync invitation state with your database, trigger onboarding flows, update your CRM, or send internal notifications.