docs outreach
Accounts
Hosted sign-in, location pinning, and account health.
POST /v1/outreach/accounts creates a LinkedIn account connection and returns connect_url, a hosted sign-in page for the recruiter. The account is pending until the recruiter signs in, then ok, and account.connected is emitted. A sequence cannot use a pending account.
{ "seat": "classic" }
seat is classic (default), recruiter, or sales. It tells the safety layer which limits the account has.
Location pinning
Call the connect endpoint from the recruiter's browser, or forward their public IP, so outreach traffic stays in the recruiter's country. location_pinned on the account says whether that worked. A recruiter seat without a public client IP is refused with HTTP 428, because those accounts are the most sensitive to sign-ins from another country.
If connecting accounts is switched off on the server, the call is 503 account_connect_unavailable.
Health
| Field | Meaning |
|---|---|
status | pending, ok, or a value that explains a pause or disconnect |
pause | code, reason, started_at, and resume_at when the account is paused |
needs_manual_review | Three disconnects in seven days. Reconnecting is refused until support reviews it |
warmup_started_at | When warmup began: the first enrollment or send, not the connect |
lowered_limits | Caps lowered on this account |
A disconnect or a restriction pauses every live enrollment on the account and emits account.disconnected or account.paused. Reconnecting clears a connectivity pause only; a daily or weekly cap pause keeps its reset time. Reconnecting does not flood the queue: due work is released in small batches, minutes apart, inside working hours.
DELETE /v1/outreach/accounts/{account_id} stops every open enrollment on the account, archives its sequences, and removes it.
What it costs
€49 per connected account per month. Connecting spends no credits.
Reference: connectOutreachAccount, getOutreachAccount, and disconnectOutreachAccount in the API reference.