# Accounts

Manage your connected LinkedIn accounts programmatically: list accounts, refresh profile info, connect new ones, disconnect, and regenerate tokens.

Manage your connected LinkedIn accounts programmatically. For general Admin API information, see the [Admin overview](/docs/admin-overview). To connect a new account or reconnect an existing one, see [Connection Sessions](/docs/admin-connection-sessions).

## accounts.getAll

Get all connected LinkedIn accounts and pending connection sessions.

```bash
curl -X POST https://api.linkedapi.io/admin/accounts.getAll \
  -H "Content-Type: application/json" \
  -H "linked-api-token: linked_your_token_here"
```

**Response:**

```json
{
  "success": true,
  "result": {
    "accounts": [
      {
        "id": "f9b4346a-...",
        "name": "John Doe",
        "url": "https://www.linkedin.com/in/johndoe/",
        "avatarUrl": "https://media.licdn.com/dms/image/...",
        "headline": "Founder at Example",
        "countryCode": "US",
        "identificationToken": "id_...",
        "status": "active",
        "connectedAt": "2026-02-20T11:11:51.732Z"
      },
      {
        "id": "a91c20f8-...",
        "name": "Jane Doe",
        "url": "https://www.linkedin.com/in/janedoe/",
        "avatarUrl": null,
        "headline": null,
        "countryCode": "US",
        "identificationToken": "id_...",
        "status": "reconnection_required",
        "connectedAt": "2026-01-12T09:30:00.000Z",
        "reconnectionSessionId": "d90ac1f6-...",
        "reconnectionLink": "https://app.linkedapi.io/connection/d90ac1f6-..."
      }
    ],
    "pendingConnectionSessions": [
      {
        "sessionId": "990eef7a-...",
        "status": "pending"
      }
    ]
  }
}
```

**Account fields:**

| Field | Type | Description |
|-------|------|-------------|
| `id` | `string` | Account UUID |
| `name` | `string` | LinkedIn account name |
| `url` | `string` | Public LinkedIn profile URL for the connected account |
| `avatarUrl` | `string \| null` | LinkedIn profile image URL, or `null` when it has not been parsed yet |
| `headline` | `string \| null` | LinkedIn headline shown below the account name, or `null` when it has not been parsed yet |
| `countryCode` | `string` | Country code selected during connection |
| `identificationToken` | `string` | Token used in the `identification-token` header for Account API calls |
| `status` | `string` | `active`, `frozen`, or `reconnection_required` |
| `connectedAt` | `string` | ISO 8601 timestamp |
| `reconnectionSessionId` | `string` | Present only when `status` is `reconnection_required`; session UUID for reconnecting the account |
| `reconnectionLink` | `string` | Present only when `status` is `reconnection_required`; URL to open in a browser to reconnect the account |

When an account is `reconnection_required`, `accounts.getAll` returns an active reconnection session. If no active reconnection session exists, one is created automatically before the response is returned.

**Account statuses:**

| Status | Description |
|--------|-------------|
| `active` | Account is connected and operational |
| `frozen` | Account is frozen (subscription downgraded or expired) |
| `reconnection_required` | LinkedIn session expired, account needs to be reconnected |

## accounts.reparseAccountInfo

Refresh the stored profile information for a connected LinkedIn account. This starts a background workflow that opens the account's own LinkedIn session and reparses the account name, public profile URL, avatar URL, and headline. The refreshed values are returned by `accounts.getAll` after the workflow completes.

```bash
curl -X POST https://api.linkedapi.io/admin/accounts.reparseAccountInfo \
  -H "Content-Type: application/json" \
  -H "linked-api-token: linked_your_token_here" \
  -d '{"accountId": "f9b4346a-..."}'
```

**Body:**

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `accountId` | `string` | Yes | UUID of the account to refresh |

**Response:**

```json
{
  "success": true,
  "result": {
    "workflowId": "reparseAccountInfoWorkflow-..."
  }
}
```

**Notes:**

- The response confirms that the reparse workflow was started; it does not include the refreshed account object.
- Call `accounts.getAll` after the workflow completes to read the updated `url`, `avatarUrl`, and `headline` fields.
- `avatarUrl` and `headline` can remain `null` if LinkedIn does not render those values or the account session needs reconnection.

## accounts.disconnect

Disconnect a LinkedIn account. This permanently removes the account, its browser profile, and proxy.

```bash
curl -X POST https://api.linkedapi.io/admin/accounts.disconnect \
  -H "Content-Type: application/json" \
  -H "linked-api-token: linked_your_token_here" \
  -d '{"accountId": "f9b4346a-..."}'
```

**Body:**

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `accountId` | `string` | Yes | UUID of the account to disconnect |

**Response:**

```json
{
  "success": true,
  "result": {}
}
```

> **Warning:** This action is irreversible. The account must be reconnected from scratch.

## accounts.regenerateIdentificationToken

Generate a new `identification-token` for an account. The old token becomes invalid immediately.

```bash
curl -X POST https://api.linkedapi.io/admin/accounts.regenerateIdentificationToken \
  -H "Content-Type: application/json" \
  -H "linked-api-token: linked_your_token_here" \
  -d '{"accountId": "f9b4346a-..."}'
```

**Body:**

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `accountId` | `string` | Yes | UUID of the account |

**Response:**

```json
{
  "success": true,
  "result": {
    "token": "id_new_token_here"
  }
}
```

> **Important:** Update the `identification-token` header in all your Account API integrations immediately after regeneration.
