Skip to content

InvitationsManager

Invitations management client

Provides methods for creating and managing user invitations. Invitations allow admins to invite new users to join the dashboard.

const client = createClient({ url: 'http://localhost:8080' })
await client.admin.login({ email: 'admin@example.com', password: 'password' })
// Create an invitation
const invitation = await client.management.invitations.create({
email: 'newuser@example.com',
role: 'dashboard_user'
})
console.log('Invite link:', invitation.invite_link)

new InvitationsManager(fetch): InvitationsManager

ParameterType
fetchFluxbaseFetch

InvitationsManager

accept(token, request): Promise<AcceptInvitationResponse>

Accept an invitation and create a new user (public endpoint)

ParameterTypeDescription
tokenstringInvitation token
requestAcceptInvitationRequestUser details (password and name)

Promise<AcceptInvitationResponse>

Created user with authentication tokens

const response = await client.management.invitations.accept('invitation-token', {
password: 'SecurePassword123!',
name: 'John Doe'
})
// Store tokens
localStorage.setItem('access_token', response.access_token)
console.log('Welcome:', response.user.name)

create(request): Promise<CreateInvitationResponse>

Create a new invitation (admin only)

ParameterTypeDescription
requestCreateInvitationRequestInvitation details

Promise<CreateInvitationResponse>

Created invitation with invite link

const invitation = await client.management.invitations.create({
email: 'newuser@example.com',
role: 'dashboard_user',
expiry_duration: 604800 // 7 days in seconds
})
// Share the invite link
console.log('Send this link to the user:', invitation.invite_link)

list(options): Promise<ListInvitationsResponse>

List all invitations (admin only)

ParameterTypeDescription
optionsListInvitationsOptionsFilter options

Promise<ListInvitationsResponse>

List of invitations

// List pending invitations only
const { invitations } = await client.management.invitations.list({
include_accepted: false,
include_expired: false
})
// List all invitations including accepted and expired
const all = await client.management.invitations.list({
include_accepted: true,
include_expired: true
})

revoke(token): Promise<RevokeInvitationResponse>

Revoke an invitation (admin only)

ParameterTypeDescription
tokenstringInvitation token

Promise<RevokeInvitationResponse>

Revocation confirmation

await client.management.invitations.revoke('invitation-token')
console.log('Invitation revoked')

validate(token): Promise<ValidateInvitationResponse>

Validate an invitation token (public endpoint)

ParameterTypeDescription
tokenstringInvitation token

Promise<ValidateInvitationResponse>

Validation result with invitation details

const result = await client.management.invitations.validate('invitation-token')
if (result.valid) {
console.log('Valid invitation for:', result.invitation?.email)
} else {
console.error('Invalid:', result.error)
}