# nv.removeAccountFromList

Remove an account from one of your Sales Navigator account lists; the account stays saved and stays in your other lists.

> The API Reference is also the SDK and CLI reference. Consecutive code fences marked `tab=HTTP`, `tab=Node`, `tab=Python` and `tab=CLI` are the same call on each surface (a fence marked `tab=HTTP,CLI` is the same text for both), and a block between `:::surface <names>` and `:::` applies only to the surfaces it names. Identifiers in the text are written as in Node and in HTTP JSON (camelCase); the Python SDK spells methods, parameters and result attributes in snake_case (`sendMessage` → `send_message`, `reconnectionLink` → `reconnection_link`), while names inside HTTP JSON stay camelCase.

Remove an account from one of your account lists in Sales Navigator. Only that list changes: the company stays a saved account and stays in any other lists it is in. An alert's `subject.url` from [`nv.retrieveAlerts`](/docs/action-nv-retrieve-alerts), or an account's `hashedUrl` from [`nv.retrieveListAccounts`](/docs/action-nv-retrieve-list-accounts), can be passed straight to this action.

An active Sales Navigator subscription is required. To find a list's ID, call [`nv.retrieveLists`](/docs/action-nv-retrieve-lists) with `type` set to `account`. To unsave the account instead, use [`nv.unsaveAccount`](/docs/action-nv-unsave-account).

:::surface node,python
In the SDK this is the `nvRemoveAccountFromList` method. It takes the parameters below except `label`, which exists only in workflow JSON. It returns no `data`: a failed action comes back in `errors`, with one of the error types below.
:::

:::surface cli
The command is `linkedin navigator company remove-from-list`. Its argument and flag are listed below.
:::

## Constraints

> ⏺️ **Root Start:** allowed, when `companyHashedUrl` parameter is provided.

> ⬆️ **Parent Actions:** [nv.openCompanyPage](/docs/action-nv-open-company-page).

> ⬇️ **Child Actions:** N/A.

## Parameters

```json tab=HTTP
{
  "actionType": "nv.removeAccountFromList",
  "label": "removeAccount1",
  "companyHashedUrl": "https://www.linkedin.com/company/12345678",
  "listId": "7420000000000000003"
}
```

```typescript tab=Node
const workflow = await linkedapi.nvRemoveAccountFromList.execute({
  companyHashedUrl: "https://www.linkedin.com/company/12345678",
  listId: "7420000000000000003"
});

const { errors } = await linkedapi.nvRemoveAccountFromList.result(workflow.workflowId);
```

```python tab=Python
from linkedapi import NvRemoveAccountFromListParams

workflow = linkedapi.nv_remove_account_from_list.execute(
    NvRemoveAccountFromListParams(
        company_hashed_url="https://www.linkedin.com/company/12345678",
        list_id="7420000000000000003",
    )
)

result = linkedapi.nv_remove_account_from_list.result(workflow.workflow_id)
```

```bash tab=CLI
linkedin navigator company remove-from-list https://www.linkedin.com/company/12345678 \
  --list-id 7420000000000000003 \
  --json
```

In AI assistants, the MCP tool is `nv_remove_account_from_list`. The n8n action is **Remove account from list in Sales Navigator**; the Make module is **Remove Account from List in Sales Navigator**.

| Parameter | Description |
| --- | --- |
| `label` | Optional label included in workflow completion. |
| `companyHashedUrl` | Required for root start, forbidden for parent start. LinkedIn URL of the company, in any form [`nv.openCompanyPage`](/docs/action-nv-open-company-page#accepted-urls) accepts: a hashed URL with the numeric company ID, an alert's `subject.url` (`/sales/company/…`), or a public company URL (`linkedin.com/company/<vanity>`), which costs one extra page load. Under [`nv.openCompanyPage`](/docs/action-nv-open-company-page), the company whose page is open is removed from the list. |
| `listId` | Required. ID of one of your custom account lists or of "My Current Accounts", as returned in `id` by [`nv.retrieveLists`](/docs/action-nv-retrieve-lists) or [`nv.createList`](/docs/action-nv-create-list). Pass it as a string. |

:::surface cli
| Arg | Required | Description |
| --- | --- | --- |
| `url` | yes | LinkedIn URL of the company, including an alert's `subject.url` |

| Flag | Description |
| --- | --- |
| `--list-id` | Required. ID of one of your custom account lists or of "My Current Accounts". |
:::

## Removing behaviour

- **Only this list.** The account leaves the list with this `listId`, and nothing else changes: it stays a saved account and stays in its other lists. An account removed from its last list stays saved too.
- **Safe to repeat.** Removing a company that is not in that list, or that is not a saved account at all, succeeds without changing anything.
- **Which lists you can remove from.** `listId` must be one of your custom account lists or "My Current Accounts": the same lists [`nv.saveAccount`](/docs/action-nv-save-account) can save into. An ID that is not one of your account lists, including a lead list's ID and a list someone else shared with you, returns `listNotFound`, and nothing is written.
- **Lists that share a name.** Sales Navigator can show an account's lists by name only. If another of your account lists has exactly the same name, the call can fail with `listNotFound` without changing anything; rename one of them first with [`nv.renameList`](/docs/action-nv-rename-list).
- **On an open page or in search results.** Under [`nv.openCompanyPage`](/docs/action-nv-open-company-page), the action uses the page that is already open and does not open the company's page again. It cannot run directly under [`nv.doForCompanies`](/docs/action-nv-do-for-companies); put it under `nv.openCompanyPage` there instead.
- **Changes can take time to appear.** Right after a removal, [`nv.retrieveListAccounts`](/docs/action-nv-retrieve-list-accounts) can still show the account in the list for tens of seconds. A call that conflicts with a change you just made through Linked API, such as removing an account from a list you have just removed it from, may fail with `unexpectedError`; retry it a little later.
- **English interface only, for now.** This is a current limitation: removing an account from a list works only with an English Sales Navigator interface. On a German, Spanish, French or Portuguese interface, the call fails with `interfaceLanguageNotSupported`.

To add the account to the list again, use [`nv.saveAccount`](/docs/action-nv-save-account) with the same `listId`.

## Result options

```json
{
  "actionType": "nv.removeAccountFromList",
  "label": "removeAccount1",
  "success": true
}
```

A successful removal has no `data`. `label` is included only if specified in the action parameters.

## Error result

An unsuccessful action returns `success: false` with an `error` object:

```json
{
  "actionType": "nv.removeAccountFromList",
  "label": "removeAccount1",
  "success": false,
  "error": {
    "type": "listNotFound",
    "message": "The list is not available for this subject in Sales Navigator."
  }
}
```

Possible `error.type` values:

- `noSalesNavigator` — the account does not have an active Sales Navigator subscription.
- `companyNotFound` — the provided URL is not an existing LinkedIn company. This includes a public company URL that leads to no LinkedIn page.
- `listNotFound` — `listId` is not one of your account lists, or the account's lists could not be told apart by name (see above). Nothing is written.
- `interfaceLanguageNotSupported` — the account's Sales Navigator interface is German, Spanish, French or Portuguese rather than English. Nothing is changed; this is a current limitation (see above).
- `unexpectedError` — the removal could not be completed. This includes a call that conflicts with a change you just made through Linked API: Sales Navigator can take a while to reflect a change, so retry it a little later.
