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.

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:

FieldTypeDescription
idstringAccount UUID
namestringLinkedIn account name
urlstringPublic 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
countryCodestringCountry code selected during connection
identificationTokenstringToken used in the identification-token header for Account API calls
statusstringactive, frozen, or reconnection_required
connectedAtstringISO 8601 timestamp
reconnectionSessionIdstringPresent only when status is reconnection_required; session UUID for reconnecting the account
reconnectionLinkstringPresent 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:

StatusDescription
activeAccount is connected and operational
frozenAccount is frozen (subscription downgraded or expired)
reconnection_requiredLinkedIn 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:

FieldTypeRequiredDescription
accountIdstringYesUUID 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:

FieldTypeRequiredDescription
accountIdstringYesUUID 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:

FieldTypeRequiredDescription
accountIdstringYesUUID 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.

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.

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

Response:

json
{
  "success": true,
  "result": {
    "sessionId": "990eef7a-...",
    "connectionLink": "https://app.linkedapi.io/connection/990eef7a-..."
  }
}
FieldTypeDescription
sessionIdstringSession UUID for tracking
connectionLinkstringURL to open in a browser to complete the LinkedIn login

Errors:

TypeDescription
noAvailableSeatsNo available seats – all seats are occupied by active accounts or pending connection sessions
dailyConnectionAttemptsExceededToo many connection attempts in the last 24 hours

Flow: Create session → open connectionLink → user logs into LinkedIn → poll accounts.getConnectionSession until status is success → account appears in accounts.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.

bash
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:

FieldTypeRequiredDescription
accountIdstringYesUUID of the account to reconnect

Response:

json
{
  "success": true,
  "result": {
    "reconnectionSessionId": "d90ac1f6-...",
    "reconnectionLink": "https://app.linkedapi.io/connection/d90ac1f6-..."
  }
}
FieldTypeDescription
reconnectionSessionIdstringSession UUID for tracking
reconnectionLinkstringURL to open in a browser to complete LinkedIn reconnection

Errors:

TypeDescription
invalidRequestPayloadThe account is not in reconnection_required status or cannot be reconnected

Flow: Create reconnection session → open reconnectionLink → user logs into LinkedIn → poll accounts.getConnectionSession with reconnectionSessionId until status is success.

accounts.getConnectionSession

Check the status of a connection session.

bash
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:

FieldTypeRequiredDescription
sessionIdstringYesSession UUID

Response:

json
{
  "success": true,
  "result": {
    "session": {
      "sessionId": "990eef7a-...",
      "status": "pending",
      "type": "initial"
    }
  }
}

Session statuses:

StatusDescription
pendingSession created, waiting for user to open the link
preparingBrowser is being provisioned
servingBrowser is ready, waiting for user to connect
streamingUser is connected and logging in
successLogin completed, account is being created
expiredSession timed out
errorAn error occurred
cancelledSession was cancelled

accounts.cancelConnectionSession

Cancel an active connection session.

bash
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:

FieldTypeRequiredDescription
sessionIdstringYesSession UUID

Response:

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