# User Account ## User Authentication - [POST /user-authentication](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware.api/user/userauthentication.md): Starts User Authentication ## Refresh User Tokens - [POST /user-refresh-tokens](https://vbapi-docs.vbasoftware.com/openapi/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.api/user/userchangetemppassword.md): Changes a User's temporary password. ## Forgot Password - [POST /forgot-password](https://vbapi-docs.vbasoftware.com/openapi/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.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.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.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.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.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.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.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. ## User Authentication - [POST /user-authentication](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware.api/user-account/userauthentication.md): Starts User Authentication ## Refresh User Tokens - [POST /user-refresh-tokens](https://vbapi-docs.vbasoftware.com/openapi/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.api/user-account/userchangetemppassword.md): Changes a User's temporary password. ## Forgot Password - [POST /forgot-password](https://vbapi-docs.vbasoftware.com/openapi/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.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.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.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.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.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.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.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. ## Lock User Account - [PUT /users/{userID}/lock](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware.api/user-account/lockuseraccount.md): Locks a specific user account to prevent access ## Unlock User Account - [PUT /users/{userID}/unlock](https://vbapi-docs.vbasoftware.com/openapi/vbasoftware.api/user-account/unlockuseraccount.md): Unlocks a specific user account to grant access