# User ## User Authentication - [POST /user-authentication](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user/userauthentication.md): Starts User Authentication ## Refresh User Tokens - [POST /user-refresh-tokens](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user/refreshusertokens.md): Uses the Refresh Token to obtain new JWT tokens to extend the user's session. ## Change Temporary Password - [POST /change-temporary-password](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user/userchangetemppassword.md): Changes a User's temporary password. ## Forgot Password - [POST /forgot-password](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user/forgotpassword.md): Begin password recovery flow. Calling this API causes a message to be sent to the end user with a confirmation code that is required to change the user's password. ## Confirm Forgot Password - [POST /confirm-forgot-password](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user/confirmforgotpassword.md): Allows a user to enter a confirmation code to reset a forgotten password. ## User Change Password - [POST /users/{userID}/change-password](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user/userchangepassword.md): User requests to change their password. ## Admin Reset User Password - [POST /users/{userID}/admin-reset-password](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user/userresetpassword.md): Admin request to reset a User's password. When an Administrator calls this API, the User's current password is invalidated and must be changed. If a user tries to sign in after the API is called, the User will get a PasswordResetRequired message back and should use the forgot password flow. In addition, if a verified email exists for the user, calling this API will also result in sending a message to the end user with the code to change their password. ## Admin Disable User - [POST /users/{userID}/admin-disable](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user/admindisableuser.md): Admin request to disable a User. ## Admin Enable User - [POST /users/{userID}/admin-enable](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user/adminenableuser.md): Admin request to enable a User. ## Admin Resend Confirmation Code - [POST /users/{userID}/resend-confirmation-code](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user/adminresendconfirmationcode.md): Resends a User a confirmation code. ## Admin Resend Welcome Message - [POST /users/{userID}/resend-welcome-message](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user/adminresendwelcomemesasge.md): Resends the invitation message to a user that already exists and resets the expiration on the user's sign-up window. ## Submit MFA Code - [POST /mfa-submit-code](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user/submitmfacode.md): Submits a multi-factor authentication (MFA) code provided by the user and completes the authentication process. ## Create User - [POST /users](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user/createusers.md): Creates a new User ## List Users - [GET /users](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user/listusers.md): Lists all Users with an optional filter for login status. Login status values: 1=Logged In, 2=Logged Out, 3=Kicked. ## Get User - [GET /users/{userID}](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user/getuser.md): Gets a User by ID ## Update User - [PUT /users/{userID}](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user/updateuser.md): Updates a specific User ## Delete User - [DELETE /users/{userID}](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user/deleteuser.md): Delete a User ## Create or Update Batch Users - [PUT /users-batch](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user/updatebatchusers.md): Create or Update multiple Users at once. If the entity exists, it will be updated. If the entity does not exist, it will be created. ## User Authentication - [POST /user-authentication](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user-account/userauthentication.md): Starts User Authentication ## Refresh User Tokens - [POST /user-refresh-tokens](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user-account/refreshusertokens.md): Uses the Refresh Token to obtain new JWT tokens to extend the user's session. ## Change Temporary Password - [POST /change-temporary-password](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user-account/userchangetemppassword.md): Changes a User's temporary password. ## Forgot Password - [POST /forgot-password](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user-account/forgotpassword.md): Begin password recovery flow. Calling this API causes a message to be sent to the end user with a confirmation code that is required to change the user's password. ## Confirm Forgot Password - [POST /confirm-forgot-password](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user-account/confirmforgotpassword.md): Allows a user to enter a confirmation code to reset a forgotten password. ## User Change Password - [POST /users/{userID}/change-password](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user-account/userchangepassword.md): User requests to change their password. ## Admin Reset User Password - [POST /users/{userID}/admin-reset-password](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user-account/userresetpassword.md): Admin request to reset a User's password. When an Administrator calls this API, the User's current password is invalidated and must be changed. If a user tries to sign in after the API is called, the User will get a PasswordResetRequired message back and should use the forgot password flow. In addition, if a verified email exists for the user, calling this API will also result in sending a message to the end user with the code to change their password. ## Admin Disable User - [POST /users/{userID}/admin-disable](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user-account/admindisableuser.md): Admin request to disable a User. ## Admin Enable User - [POST /users/{userID}/admin-enable](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user-account/adminenableuser.md): Admin request to enable a User. ## Admin Resend Confirmation Code - [POST /users/{userID}/resend-confirmation-code](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user-account/adminresendconfirmationcode.md): Resends a User a confirmation code. ## Admin Resend Welcome Message - [POST /users/{userID}/resend-welcome-message](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware/vbasoftware.api/user-account/adminresendwelcomemesasge.md): Resends the invitation message to a user that already exists and resets the expiration on the user's sign-up window.