curviate account link
Connect a LinkedIn account to an empty seat. AI agents: do not read, pass or ask for passwords, cookies or cookie exports; run curviate account connect-request create and hand the person its link instead. --cookies-file takes an export of a live LinkedIn session; delete it after use. If LinkedIn requires verification you'll be prompted for the code interactively. Given --auth-method and its credentials, a non-interactive shell exits 12 at that step and you finish with curviate account checkpoint solve <account_id> --code.
Usage
curviate account link [flags]Requires:
- Exactly one of
--country,--ipor--proxy-hoston a new connect; a reconnect (--account-id) may omit it to keep the account's location. --user-agentwith--auth-methodcookie or--cookies-file.--seat-idwith--previewor--account-id, and when zero or several seats are free.--password-stdinonly with--auth-methodcredentials;--li-at-stdinonly with--auth-methodcookie.
Examples
curviate account link --auth-method credentials --email jane@example.com --password-stdin --country US
curviate account link --auth-method credentials --email jane@example.com --password-stdin --account-id acc_YOUR_ACCOUNT_ID --seat-id SEAT_ID
curviate account link --cookies-file linkedin-cookies.json --user-agent "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36" --country USFlags
| Flag | Type | Required | Description |
|---|---|---|---|
--seat-id | string | no | Empty seat to bind the account to, listed by curviate account seats (a free seat there is one this call accepts right now). Omit it and the only free seat is used; with zero or several free the command says so and connects nothing. Required with --preview (which calls nothing) and with --account-id (a reconnect keeps the seat that account already holds). |
--auth-method | string | no | Authentication method: credentials | |
--cookies-file | string | no | The Cookie-Editor JSON export of a signed-in linkedin.com tab: a path, or - to read it from stdin (on a terminal: paste, then Ctrl-D; nothing is shown). The file holds a live LinkedIn session: delete it after use. Only li_at and li_a are sent. Needs --user-agent. Not with --li-at, --li-at-stdin, --li-a, --email, --password or --password-stdin. |
--email | string | no | LinkedIn email (credentials method). |
--password | string | no | LinkedIn password (credentials method). Note: a value on the command line is visible to other processes via ps and saved in shell history; prefer --password-stdin or the CURVIATE_ |
--password-stdin | boolean | no | Read the LinkedIn password from stdin (one line, trimmed). Default: false. |
--li-at | string | no | LinkedIn session cookie li_at (cookie method). Note: a value on the command line is visible to other processes via ps and saved in shell history; prefer --li-at-stdin or the CURVIATE_ |
--li-at-stdin | boolean | no | Read the li_at session cookie from stdin (one line, trimmed). Default: false. |
--li-a | string | no | Optional premium session cookie li_a (cookie method). Note: a value on the command line is visible to other processes via ps and saved in shell history; prefer the CURVIATE_ |
--country | string | no | Where LinkedIn sees this account connecting from: a two-letter ISO 3166-1 country code (e.g. US, DE; case-insensitive), the country its owner normally signs in from. A new connect needs exactly one of --country, --ip or --proxy-host. Strict: the connect fails rather than use another country, unless --allow-country-fallback. |
--ip | string | no | A public IPv4 address whose country becomes the connection location (strict, like --country). An alternative to --country. |
--allow-country-fallback | boolean | no | With --country or --ip: allow a connection from another country when none is free in the chosen one. Without it the connect is strict and fails instead. |
--proxy-protocol | string | no | Proxy protocol: http | |
--proxy-host | string | no | Your own proxy's host or IP. Your proxy decides where LinkedIn sees the account connecting from, so --country, --ip and --allow-country-fallback are not accepted with it. |
--proxy-port | string | no | Proxy port. |
--proxy-username | string | no | Proxy auth username. |
--proxy-password | string | no | Proxy auth password. Note: a value on the command line is visible to other processes via ps and saved in shell history; prefer the CURVIATE_ |
--user-agent | string | no | Browser User-Agent to pin for this account. Required with --auth-method cookie: a session cookie only works paired with the User-Agent of the browser it was copied from, and the command exits 2 without it. Optional with --auth-method credentials, where it is still pinned for the account when given. |
--recruiter-contract-id | string | no | Recruiter contract to select once the account is connected, so a connected account may still have none selected: contract_selected: false in the answer means connected, not selected. Only meaningful when the LinkedIn account holds a Recruiter subscription. |
--linkedin-premium | string | no | Narrow this connection to one LinkedIn premium surface: sales_navigator | |
--products | string | no | Comma-separated premium products to ask for: sales_navigator, recruiter. Omit to ask for both (--linkedin-premium still narrows). Classic LinkedIn and company pages are always included. |
--external-id | string | no | Your own id for this account's end user (1-255 chars, not unique). Returned on the account and every account webhook; filter with curviate account list --external-id. Use an opaque id, not an email. |
--timezone | string | no | Ignored: the account's time zone follows its connection location. Accepted so existing scripts keep working; nothing is sent. |
--warm-up | boolean | no | --warm-up connects the new account with warm-up on: its limits start at 15% and rise to full over 5 weeks. Default off (full limits from the start); --no-warm-up is accepted and changes nothing. A new connect only; for a connected account use curviate account warm-up. |
--account-id | string | no | Existing account id (acc_...) to re-authenticate IN PLACE. Passing it makes this an in-place reconnect of that account. Omit to connect a NEW account into --seat-id. |
--no-interactive | boolean | no | Never prompt for a checkpoint code. On a checkpoint, always render the envelope and exit 12, even on a TTY. Default: false. |
Also accepts these global flags: --api-key, --profile, --account, --team, --base-url, --timeout, --json, --fields, --preview, --verbose, --beta.
Exit codes: the exit code table. More commands: Account.