Skip to main content

Overview

The Users API allows you to manage user accounts, their emails, phone numbers, and social connections within the Wacht platform. You can also manage user invitations and waitlists.

fetchUsers(options?: ListUsersOptions)

Lists all users.

Parameters

  • options (optional): An object containing pagination and filtering options.
    • page (number): The page number to retrieve.
    • per_page (number): The number of items per page.
    • search (string): Search term for users.
    • is_active (boolean): Filter by active status.

Returns

Promise<UserListResponse>: A promise that resolves to a list of users and pagination information.

createUser(request: CreateUserRequest)

Creates a new user.

Parameters

  • request (CreateUserRequest): The request body containing the details of the new user.

Returns

Promise<User>: A promise that resolves to the newly created user object.

fetchUserDetails(userId: string)

Retrieves a specific user’s details, including their organizations and workspaces.

Parameters

  • userId (string): The unique identifier of the user.

Returns

Promise<UserDetailsResponse>: A promise that resolves to the user details object.

updateUser(userId: string, request: UpdateUserRequest)

Updates an existing user.

Parameters

  • userId (string): The unique identifier of the user to update.
  • request (UpdateUserRequest): The request body containing the updated details of the user.

Returns

Promise<User>: A promise that resolves to the updated user object.

updatePassword(userId: string, request: UpdatePasswordRequest)

Updates a user’s password.

Parameters

  • userId (string): The unique identifier of the user.
  • request (UpdatePasswordRequest): The request body containing the current and new passwords.

Returns

Promise<void>: A promise that resolves when the password is successfully updated.

addEmail(userId: string, email: string)

Adds an email address to a user’s account.

Parameters

  • userId (string): The unique identifier of the user.
  • email (string): The email address to add.

Returns

Promise<UserEmail>: A promise that resolves to the newly added email object.

updateEmail(userId: string, emailId: string, isPrimary: boolean, isVerified: boolean)

Updates an existing email address for a user.

Parameters

  • userId (string): The unique identifier of the user.
  • emailId (string): The unique identifier of the email to update.
  • isPrimary (boolean): Whether this email should be the primary email.
  • isVerified (boolean): Whether this email has been verified.

Returns

Promise<UserEmail>: A promise that resolves to the updated email object.

deleteEmail(userId: string, emailId: string)

Deletes an email address from a user’s account.

Parameters

  • userId (string): The unique identifier of the user.
  • emailId (string): The unique identifier of the email to delete.

Returns

Promise<void>: A promise that resolves when the email is successfully deleted.

addPhone(userId: string, phoneNumber: string)

Adds a phone number to a user’s account.

Parameters

  • userId (string): The unique identifier of the user.
  • phoneNumber (string): The phone number to add.

Returns

Promise<UserPhone>: A promise that resolves to the newly added phone object.

updatePhone(userId: string, phoneId: string, isPrimary: boolean, isVerified: boolean)

Updates an existing phone number for a user.

Parameters

  • userId (string): The unique identifier of the user.
  • phoneId (string): The unique identifier of the phone number to update.
  • isPrimary (boolean): Whether this phone number should be the primary.
  • isVerified (boolean): Whether this phone number has been verified.

Returns

Promise<UserPhone>: A promise that resolves to the updated phone object.

deletePhone(userId: string, phoneId: string)

Deletes a phone number from a user’s account.

Parameters

  • userId (string): The unique identifier of the user.
  • phoneId (string): The unique identifier of the phone number to delete.

Returns

Promise<void>: A promise that resolves when the phone number is successfully deleted.

deleteSocialConnection(userId: string, connectionId: string)

Deletes a social connection from a user’s account.

Parameters

  • userId (string): The unique identifier of the user.
  • connectionId (string): The unique identifier of the social connection to delete.

Returns

Promise<void>: A promise that resolves when the social connection is successfully deleted.

fetchInvitedUsers()

Retrieves a list of invited users.

Returns

Promise<InvitationListResponse>: A promise that resolves to a list of invited users.

inviteUser(request: InviteUserRequest)

Invites a new user to the platform.

Parameters

  • request (InviteUserRequest): The request body containing the invitation details.

Returns

Promise<UserInvitation>: A promise that resolves to the newly created user invitation object.

fetchWaitlist()

Retrieves a list of users on the waitlist.

Returns

Promise<WaitlistResponse>: A promise that resolves to a list of waitlist users.

approveWaitlistUser(waitlistUserId: string)

Approves a user on the waitlist, creating a new user account.

Parameters

  • waitlistUserId (string): The unique identifier of the waitlist user to approve.

Returns

Promise<User>: A promise that resolves to the newly created user object.