POST
/
v3
/
integrations
/
linkedin
/
accounts
curl --request POST \
  --url https://api.captaindata.co/v3/integrations/linkedin/accounts \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --header 'x-project-id: <api-key>' \
  --data '{
  "account": {
    "username": "elon@musk.com",
    "password": "********",
    "user_uid": "(Optional) User UID previously created"
  },
  "resume_paused_jobs": false,
  "shared_account": false,
  "retrieve_ip": false
}'
{
  "message": "Application configured.",
  "checkpoint": {
    "type": "PHONE_REGISTER; can be 2FA, OTP, IN_APP_VALIDATION, CAPTCHA or PHONE_REGISTER"
  },
  "account": {
    "uid": "xxxxxxx-xxxx-4104-ab33-3bb4d488a795",
    "user_uid": "xxxxxxx-xxxx-4c68-81ec-b3479fe5385b",
    "setup_at": "2025-03-05T08:26:16.177847",
    "via_extension": false,
    "is_shared": false,
    "level": null,
    "is_valid": null,
    "integration_permalink": "linkedin"
  }
}

The best practice is to first Create a User and then include the user_uid in the account payload:

    // ...
    "account": {
        // ... rest of the payload
        "user_uid": "User UID previously created",
    }
    // ...

The provided code example demonstrates how to create an account. To update an existing account, include the account’s uid within the account payload:

    // ...
    "account": {
        "uid": "Add the Account's UID to update the account",
        "username": "elon@musk.com",
        "password": "********"
    }
    // ...

LinkedIn will most likely require you to complete a checkpoint. You can handle this using the Solve LinkedIn Checkppoint endpoint. Please note that CAPTCHA solving may take a long time and could fail.

Authorizations

Authorization
string
header
required

The Authorization header must include 'x-api-key' followed by your API key (e.g., 'Authorization: x-api-key YOUR_API_KEY').

x-project-id
string
header
required

Workspace UID required to identify the workspace.

Body

application/json
account
object

The account JSON object to create or update.

Example:
{
  "username": "elon@musk.com",
  "password": "********",
  "user_uid": "(Optional) User UID previously created"
}
resume_paused_jobs
boolean
default:false

Set this to true to resume all paused jobs if you update, for example, an account's cookie.

Example:

false

shared_account
boolean
default:false

Set this to true to share this account to an external user.

Example:

false

retrieve_ip
boolean
default:false

Set this to true to retrieve the IP we attribute to the user/account.

Example:

false

Response

200 - application/json
Successful Response

The response is of type any.