app_password

Adds or removes "App Passwords" for the given end user.

"App Passwords" are used in lieu of an account's regular password when authenticating to services that cannot support Two-Factor Authentication (POP3, IMAP4, SMTP, CalDAV, CardDAV). Once one has been set on a user account, their password will be unable to authenticate against those services; they must use one of the App Passwords instead.

Each App Password has a tag (name) associated with it. Multiple devices/clients may use the same App Password, or they may be configured to each use a different one. Up to 4 App Passwords may be configured.

An App Password may be removed at any time (in the case of a lost device); the other App Passwords will continue to function. If the final App Password is removed, then the user's password will once again work to authenticate with non-2FA services.

Existing App Password tags are returned in the get_user response. Once an App Password is set, there is no way to retrieve the value of the password associated with it, only the tag.

Syntax

{
    <credentials object>, 
    "user": <mailbox_name>, 
    "mode": <string>, 
    "tag": <string>
}

Request fields for app_password

Field nameObligationDefinition/Value
userRequiredthe user the API call is acting upon
modeRequireda string, either "add" or "remove"
tagOptional / Required if mode=="remove"a string.

for "add", the tag name desired for this new App Password. tags are constrained to regular ASCII characters only.

for "remove", the tag name of the App Password to remove.

Response fields for app_password

errorReturned if success = falseA text string that explains the error.
error_numberReturned if success = falseA number that represents the error.
successAlways returned.Indicates whether the request was successful or not. Allowed values are true and false.
passwordReturned if mode=="add"The value of the newly generated App Password

Examples for app_password

Request 1

Add an App Password to a user.

{
  "credentials": {
"user": "[email protected]",
    "password": "password"
  },
  "user": "[email protected]",
  "mode": "add",
  "tag": "my phone"
}

Response 1

{
	"success": true,
  "password": "UF3W-5PFC-KJDJ-62SK",
	"audit": "month72_56b3b161b"
}

Request 2

Remove an App Password from a user.

{
  "credentials": {
"user": "[email protected]",
    "password": "password"
  },
  "user": "[email protected]",
  "mode": "remove",
  "tag": "my phone"
}

Response 2

{
	"success": true,
	"audit": "month72_56b3b161b"
}