# LastPass

> Manage LastPass Business users - add, update, disable, re-enable and remove them, change their groups, reset master passwords and multifactor, log them out - and audit the account through its event log, shared folders and master password expiry reports.

App · 20 actions. Web page: https://docs.lodol.com/docs/integrations/lastpass

## Actions

### Add user

Add a user to LastPass Business. LastPass emails them an invitation; optionally put them in groups and give them a starting master password.

**Inputs**

- Username (email) (`username`, text, required): The new user's email address. It becomes their LastPass username.
- Full name (`full_name`, text): The user's full name.
- Groups (`groups`, list): Groups to put the user in. Pick existing ones or type a name.
- Starting master password (`password`, text): Optional. A master password for the new account; leave empty to let the user choose their own from the invitation.
- Require password change (`require_password_change`, true/false): With a starting password: make the user change it at first sign-in. LastPass does so by default.

**Outputs**

- `fullname` (text)
- `groups` (list)
- `password_reset_required` (true/false)
- `password_set` (true/false)
- `status` (text)
- `username` (text)

**Example output**

```json
{
  "fullname": "Jane Doe",
  "groups": [
    "Engineering"
  ],
  "password_reset_required": null,
  "password_set": false,
  "status": "OK",
  "username": "jane.doe@example.com"
}
```

### Change user email

Change a user's account email (their username). The change completes when the user next signs in with their old email and master password.

**Inputs**

- Current email (`old_email`, text, required): The user's current account email.
- New email (`new_email`, text, required): The email the account should move to.

**Outputs**

- `new_email` (text)
- `old_email` (text)
- `status` (text)

**Example output**

```json
{
  "new_email": "jane@example.org",
  "old_email": "jane.doe@example.com",
  "status": "OK"
}
```

### Delete user

Disable a user, remove them from LastPass Business, delete their account and vault permanently, or revoke a pending invitation.

**Inputs**

- Username (email) (`username`, text, required): The user's email address - their LastPass username. Use List users to find one.
- What to do (`delete_action`, text, required): Permanent deletion erases the user's vault and cannot be undone. One of: `0` (Disable the account (blocks sign-in, keeps its data)), `1` (Remove from LastPass Business (the user keeps a personal account)), `2` (Delete the account and its vault permanently - cannot be undone), `3` (Uninvite (revoke a pending invitation)). Default: `0`.

**Outputs**

- `delete_action` (number)
- `delete_action_label` (text)
- `status` (text)
- `username` (text)

**Example output**

```json
{
  "delete_action": 0,
  "delete_action_label": "Disable the account (blocks sign-in, keeps its data)",
  "status": "OK",
  "username": "jane.doe@example.com"
}
```

### Disable multifactor

Turn off a user's multifactor authentication, for example when they have lost their authenticator.

**Inputs**

- Username (email) (`username`, text, required): The user's email address - their LastPass username. Use List users to find one.

**Outputs**

- `status` (text)
- `username` (text)

**Example output**

```json
{
  "status": "OK",
  "username": "jane.doe@example.com"
}
```

### Disable users

Disable up to 100 users: they can no longer sign in, but their accounts and data are kept.

**Inputs**

- Users (emails) (`usernames`, list, required): Up to 100 users' email addresses - one per entry, or separated by commas.

**Outputs**

- `disabled_users` (list)
- `error` (text)
- `requested` (list)
- `status` (text)
- `unchanged_users` (list)

**Example output**

```json
{
  "disabled_users": [
    "jane.doe@example.com"
  ],
  "error": null,
  "requested": [
    "jane.doe@example.com"
  ],
  "status": "success",
  "unchanged_users": []
}
```

### Enable users

Re-activate disabled users so they can sign in again. Reports which were enabled and which already were.

**Inputs**

- Users (emails) (`usernames`, list, required): The users' email addresses - one per entry, or separated by commas.

**Outputs**

- `enabled_users` (list)
- `error` (text)
- `requested` (list)
- `status` (text)
- `unchanged_users` (list)

**Example output**

```json
{
  "enabled_users": [
    "jane.doe@example.com"
  ],
  "error": null,
  "requested": [
    "jane.doe@example.com"
  ],
  "status": "success",
  "unchanged_users": []
}
```

### Get password iterations

Get your account's default master password iteration count (the number of hashing rounds; 600,000 by default).

**Inputs**: None.

**Outputs**

- `iterations` (number)

**Example output**

```json
{
  "iterations": 600000
}
```

### Get user

Get one user by email address: their status, last sign-in, security score, item counts and groups.

**Inputs**

- Username (email) (`username`, text, required): The user's email address - their LastPass username. Use List users to find one.

**Outputs**

- `admin` (true/false)
- `applications` (number)
- `attachments` (number)
- `created` (text)
- `disabled` (true/false)
- `formfills` (number)
- `fullname` (text)
- `groups` (list)
- `id` (text)
- `last_login` (text)
- `last_pw_change` (text)
- `legacytotalscore` (number)
- `linked` (text)
- `mpstrength` (number)
- `neverloggedin` (true/false)
- `notes` (number)
- `password_reset_required` (true/false)
- `sites` (number)
- `totalscore` (number)
- `username` (text)

**Example output**

```json
{
  "admin": false,
  "applications": 0,
  "attachments": 1,
  "created": "2026-03-12 10:02:56",
  "disabled": false,
  "formfills": 2,
  "fullname": "Jane Doe",
  "groups": [
    "Engineering"
  ],
  "id": "101",
  "last_login": "2026-10-01 08:14:03",
  "last_pw_change": "2026-03-12 10:05:12",
  "legacytotalscore": 55.1,
  "linked": null,
  "mpstrength": 100,
  "neverloggedin": false,
  "notes": 19,
  "password_reset_required": false,
  "sites": 72,
  "totalscore": 65.1,
  "username": "jane.doe@example.com"
}
```

### List events

Read the audit log between two times, newest first: sign-ins, failed sign-ins, admin changes and vault activity, for every user or one.

**Inputs**

- From (`start`, date and time, required): Events from this time, in the time zone of your account's oldest admin.
- To (`end`, date and time): Events up to this time. Leave empty for now.
- User (email) (`username`, text): Only this user's events. Leave empty for everyone.
- Contains (`search`, text): Only events containing this text.
- Admin events only (`admin_only`, true/false): Only events from admin actions.
- Limit (`limit`, number): Keep at most this many of the newest events. Default 100, at most 1000; narrow the time range for older ones. From 1 to 1000.
- Next page (`next_page`, text): The next_page value from a previous call, when LastPass had more than 10,000 events in the range.

**Outputs**

- `count` (number)
- `events` (list)
- `from` (text)
- `next_page` (text)
- `returned_by_lastpass` (number)
- `to` (text)
- `truncated` (true/false)

**Example output**

```json
{
  "count": 1,
  "events": [
    {
      "action": "Failed Login Attempt",
      "data": "",
      "ip_address": "203.0.113.21",
      "time": "2026-10-01 09:51:51",
      "username": "jane.doe@example.com"
    }
  ],
  "from": "2026-10-01 00:00:00",
  "next_page": null,
  "returned_by_lastpass": 1,
  "to": "2026-10-02 00:00:00",
  "truncated": false
}
```

### List expired master passwords

List active users whose master password has expired under your password policy (federated users are not included).

**Inputs**

- Limit (`limit`, number): How many users to return, up to 500 (the default). From 1 to 500.
- Continuation token (`continuation_token`, text): The continuation_token from a previous call, to read the next users. Leave empty for the first.

**Outputs**

- `continuation_token` (text)
- `count` (number)
- `has_more` (true/false)
- `remaining_count` (number)
- `users` (list)

**Example output**

```json
{
  "continuation_token": null,
  "count": 1,
  "has_more": false,
  "remaining_count": 0,
  "users": [
    {
      "last_pw_change": "2026-01-13 03:30:13",
      "user_id": 1234,
      "user_name": "jane.doe@example.com"
    }
  ]
}
```

### List expiring master passwords

List users whose master password will expire within 7 days, to remind them before it does.

**Inputs**

- Limit (`limit`, number): How many users to return, up to 500 (the default). From 1 to 500.
- Continuation token (`continuation_token`, text): The continuation_token from a previous call, to read the next users. Leave empty for the first.

**Outputs**

- `continuation_token` (text)
- `count` (number)
- `has_more` (true/false)
- `remaining_count` (number)
- `users` (list)

**Example output**

```json
{
  "continuation_token": null,
  "count": 1,
  "has_more": false,
  "remaining_count": 0,
  "users": [
    {
      "last_pw_change": "2026-01-20 03:30:13",
      "user_id": 1234,
      "user_name": "jane.doe@example.com"
    }
  ]
}
```

### List shared folders

List every shared folder with its security score and the users it is shared with, including their permissions.

**Inputs**: None.

**Outputs**

- `count` (number)
- `folders` (list)

**Example output**

```json
{
  "count": 1,
  "folders": [
    {
      "id": "101",
      "name": "Shared-Engineering",
      "score": 99,
      "users": [
        {
          "can_administer": true,
          "give": true,
          "readonly": false,
          "username": "jane.doe@example.com"
        }
      ]
    }
  ]
}
```

### List shared folders (detailed)

List shared folders as above, plus the sites each member can reach (LastPass returns these URLs encrypted). Optionally one page at a time.

**Inputs**

- Page size (`page_size`, number): How many folders to return on this page. Leave empty to return every folder. From 1 to 1000.
- Page (`page`, number): Which page to return, starting at 1. At least 1.

**Outputs**

- `count` (number)
- `folders` (list)
- `has_more` (true/false)
- `page` (number)

**Example output**

```json
{
  "count": 1,
  "folders": [
    {
      "id": "101",
      "name": "Shared-Engineering",
      "score": 99,
      "users": [
        {
          "can_administer": true,
          "give": true,
          "readonly": false,
          "sites": [
            "EncryptedURL1"
          ],
          "username": "jane.doe@example.com"
        }
      ]
    }
  ],
  "has_more": false,
  "page": null
}
```

### List users

List a page of the users in your LastPass Business account, with their security scores, item counts and groups, optionally only enrolled or disabled users, or only admins.

**Inputs**

- Account status (`account_status`, text): Which users to include. One of: `any` (Every user), `enrolled` (Only enrolled users), `disabled` (Only disabled users). Default: `any`.
- Admins (`admin_filter`, text): Include admins, non-admins or both. One of: `any` (Admins and non-admins), `admins` (Only admins), `non_admins` (Only non-admins). Default: `any`.
- Page size (`page_size`, number): How many users to return on this page. Default 100, at most 2,000. From 1 to 2000.
- Page (`page`, number): Which page to return, starting at 1. At least 1.

**Outputs**

- `count` (number)
- `groups` (list)
- `has_more` (true/false)
- `page` (number)
- `page_size` (number)
- `total` (number)
- `users` (list)

**Example output**

```json
{
  "count": 1,
  "groups": [
    {
      "members": [
        "jane.doe@example.com"
      ],
      "name": "Engineering"
    }
  ],
  "has_more": false,
  "page": 1,
  "page_size": 100,
  "total": 1,
  "users": [
    {
      "admin": false,
      "applications": 0,
      "attachments": 1,
      "created": "2026-03-12 10:02:56",
      "disabled": false,
      "formfills": 2,
      "fullname": "Jane Doe",
      "groups": [
        "Engineering"
      ],
      "id": "101",
      "last_login": "2026-10-01 08:14:03",
      "last_pw_change": "2026-03-12 10:05:12",
      "legacytotalscore": 55.1,
      "linked": null,
      "mpstrength": 100,
      "neverloggedin": false,
      "notes": 19,
      "password_reset_required": false,
      "sites": 72,
      "totalscore": 65.1,
      "username": "jane.doe@example.com"
    }
  ]
}
```

### Log out user

End every LastPass session a user has open, on every device.

**Inputs**

- Username (email) (`username`, text, required): The user's email address - their LastPass username. Use List users to find one.

**Outputs**

- `status` (text)
- `username` (text)

**Example output**

```json
{
  "status": "OK",
  "username": "jane.doe@example.com"
}
```

### Reinvite user

Send a user who has not yet joined their LastPass Business invitation again.

**Inputs**

- Username (email) (`username`, text, required): The user's email address - their LastPass username. Use List users to find one.

**Outputs**

- `status` (text)
- `username` (text)

**Example output**

```json
{
  "status": "OK",
  "username": "jane.doe@example.com"
}
```

### Require master password change

Make a user change their master password the next time they sign in.

**Inputs**

- Username (email) (`username`, text, required): The user's email address - their LastPass username. Use List users to find one.

**Outputs**

- `status` (text)
- `username` (text)

**Example output**

```json
{
  "status": "OK",
  "username": "jane.doe@example.com"
}
```

### Send password reset email

Email a user a link to reset their master password.

**Inputs**

- Username (email) (`username`, text, required): The user's email address - their LastPass username. Use List users to find one.

**Outputs**

- `status` (text)
- `username` (text)

**Example output**

```json
{
  "status": "OK",
  "username": "jane.doe@example.com"
}
```

### Update user

Change a user's full name, Duo Security username or RSA SecurID username. Fields left empty are not changed.

**Inputs**

- Username (email) (`username`, text, required): The user's email address - their LastPass username. Use List users to find one.
- Full name (`full_name`, text): The user's new full name.
- Duo username (`duo_username`, text): The user's Duo Security username.
- SecurID username (`securid_username`, text): The user's RSA SecurID username.

**Outputs**

- `duousername` (text)
- `fullname` (text)
- `securidusername` (text)
- `status` (text)
- `username` (text)

**Example output**

```json
{
  "fullname": "Jane A. Doe",
  "status": "OK",
  "username": "jane.doe@example.com"
}
```

### Update user groups

Add a user to groups and remove them from others in one step.

**Inputs**

- Username (email) (`username`, text, required): The user's email address - their LastPass username. Use List users to find one.
- Add to groups (`add_groups`, list): Groups to add the user to. Pick existing ones or type a name.
- Remove from groups (`remove_groups`, list): Groups to take the user out of.

**Outputs**

- `added` (list)
- `removed` (list)
- `status` (text)
- `username` (text)

**Example output**

```json
{
  "added": [
    "Engineering"
  ],
  "removed": [],
  "status": "OK",
  "username": "jane.doe@example.com"
}
```
