Accounts
Manage your connected LinkedIn accounts programmatically. For general Admin API information, see the Admin overview.
accounts.getAll
Get all connected LinkedIn accounts and pending connection sessions.
curl -X POST https://api.linkedapi.io/admin/accounts.getAll \
-H "Content-Type: application/json" \
-H "linked-api-token: linked_your_token_here"Response:
{
"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.
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:
{
"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.getAllafter the workflow completes to read the updatedurl,avatarUrl, andheadlinefields. avatarUrlandheadlinecan remainnullif 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.
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:
{
"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.
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:
{
"success": true,
"result": {
"token": "id_new_token_here"
}
}Important: Update the
identification-tokenheader in all your Account API integrations immediately after regeneration.
accounts.createConnectionSession
Create a new connection session to connect a LinkedIn account. Returns a link that opens the connection page where the user logs into LinkedIn.
curl -X POST https://api.linkedapi.io/admin/accounts.createConnectionSession \
-H "Content-Type: application/json" \
-H "linked-api-token: linked_your_token_here"Response:
{
"success": true,
"result": {
"sessionId": "990eef7a-...",
"connectionLink": "https://app.linkedapi.io/connection/990eef7a-..."
}
}| Field | Type | Description |
|---|---|---|
sessionId | string | Session UUID for tracking |
connectionLink | string | URL to open in a browser to complete the LinkedIn login |
Errors:
| Type | Description |
|---|---|
noAvailableSeats | No available seats – all seats are occupied by active accounts or pending connection sessions |
dailyConnectionAttemptsExceeded | Too many connection attempts in the last 24 hours |
Flow: Create session → open
connectionLink→ user logs into LinkedIn → pollaccounts.getConnectionSessionuntil status issuccess→ account appears inaccounts.getAll.
accounts.createReconnectionSession
Create a new reconnection session for an account whose status is reconnection_required. If the account already has an active reconnection session, it is cancelled and replaced with a new one. If an in-progress reconnection session is applying a pending proxy change, Linked API returns that existing session instead so the proxy change state is preserved.
curl -X POST https://api.linkedapi.io/admin/accounts.createReconnectionSession \
-H "Content-Type: application/json" \
-H "linked-api-token: linked_your_token_here" \
-d '{"accountId": "a91c20f8-..."}'Body:
| Field | Type | Required | Description |
|---|---|---|---|
accountId | string | Yes | UUID of the account to reconnect |
Response:
{
"success": true,
"result": {
"reconnectionSessionId": "d90ac1f6-...",
"reconnectionLink": "https://app.linkedapi.io/connection/d90ac1f6-..."
}
}| Field | Type | Description |
|---|---|---|
reconnectionSessionId | string | Session UUID for tracking |
reconnectionLink | string | URL to open in a browser to complete LinkedIn reconnection |
Errors:
| Type | Description |
|---|---|
invalidRequestPayload | The account is not in reconnection_required status or cannot be reconnected |
Flow: Create reconnection session → open
reconnectionLink→ user logs into LinkedIn → pollaccounts.getConnectionSessionwithreconnectionSessionIduntil status issuccess.
accounts.getConnectionSession
Check the status of a connection session.
curl -X POST https://api.linkedapi.io/admin/accounts.getConnectionSession \
-H "Content-Type: application/json" \
-H "linked-api-token: linked_your_token_here" \
-d '{"sessionId": "990eef7a-..."}'Body:
| Field | Type | Required | Description |
|---|---|---|---|
sessionId | string | Yes | Session UUID |
Response:
{
"success": true,
"result": {
"session": {
"sessionId": "990eef7a-...",
"status": "pending",
"type": "initial"
}
}
}Session statuses:
| Status | Description |
|---|---|
pending | Session created, waiting for user to open the link |
preparing | Browser is being provisioned |
serving | Browser is ready, waiting for user to connect |
streaming | User is connected and logging in |
success | Login completed, account is being created |
expired | Session timed out |
error | An error occurred |
cancelled | Session was cancelled |
accounts.cancelConnectionSession
Cancel an active connection session.
curl -X POST https://api.linkedapi.io/admin/accounts.cancelConnectionSession \
-H "Content-Type: application/json" \
-H "linked-api-token: linked_your_token_here" \
-d '{"sessionId": "990eef7a-..."}'Body:
| Field | Type | Required | Description |
|---|---|---|---|
sessionId | string | Yes | Session UUID |
Response:
{
"success": true,
"result": {}
}