Skip to main content

Documentation Index

Fetch the complete documentation index at: https://www.outx.ai/docs/llms.txt

Use this file to discover all available pages before exploring further.

The Send Connection Request endpoint creates an async task to send a LinkedIn connection request from your team’s oldest admin member’s LinkedIn account. The API itself only creates the task; the browser extension performs the LinkedIn action.

Endpoint

POST https://api.outx.ai/linkedin-agent/send-connection-request

Request Body

profile_urn
string
required
LinkedIn profile URN for the invitee (a urn:li:fsd_profile:... string). You can also pass the URN without the urn:li:fsd_profile: prefix, the plugin will normalize it.
To resolve a LinkedIn profile URL (for example https://www.linkedin.com/in/williamhgates) into a profile_urn, call the Fetch Profile endpoint first and use the URN it returns.
note
string
Optional personal note to include with the invitation. Maximum 300 characters. When omitted, empty, or whitespace-only, the invitation is sent without a note. Leading and trailing whitespace is trimmed.

Response

The endpoint returns immediately with a task ID:
success
boolean
Whether the task was created successfully
api_agent_task_id
string
UUID to poll for results via Get Task Status
message
string
Human-readable confirmation
{
  "success": true,
  "api_agent_task_id": "550e8400-e29b-41d4-a716-446655440000",
  "message": "Send connection request task created successfully"
}

Polling for Results

Poll the Get Task Status endpoint until the status is completed:
GET https://api.outx.ai/linkedin-agent/get-task-status?api_agent_task_id=550e8400-e29b-41d4-a716-446655440000

Completed Response

When the task finishes, task_output will include:
{
  "sent": true
}

Code Examples

# Send a connection request without a note
curl -X POST \
  "https://api.outx.ai/linkedin-agent/send-connection-request" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "profile_urn": "urn:li:fsd_profile:ACoAABCDEF123"
  }'

# Send a connection request with an optional personal note
curl -X POST \
  "https://api.outx.ai/linkedin-agent/send-connection-request" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "profile_urn": "urn:li:fsd_profile:ACoAABCDEF123",
    "note": "Hi, I came across your work and would love to connect."
  }'

# Check the result
curl -X GET \
  "https://api.outx.ai/linkedin-agent/get-task-status?api_agent_task_id=TASK_ID" \
  -H "x-api-key: YOUR_API_KEY"

Error Responses

StatusErrorDescription
400Missing or invalid 'profile_urn'The profile_urn field is missing or not a string
400Invalid 'note': must be a stringThe note field was provided but is not a string
400Invalid 'note': must be 300 characters or fewerThe note exceeds LinkedIn’s 300 character limit (measured after trimming whitespace)
401Missing API Key / Invalid API KeyAPI key is missing or invalid
403Plugin installation required...No team member has an active Chrome extension. See Authentication
404No admin user found in the teamYour team has no admin members
429LinkedIn invitation limit reachedLinkedIn has temporarily blocked further invitations from the sending account because its custom (weekly) invite limit has been hit. Wait for the limit to reset before retrying.

FAQ

The connection request is executed from your team’s oldest admin member’s LinkedIn account (sorted by when they joined the team).
Yes. Pass an optional note field (up to 300 characters) in the request body to include a personal message with the invitation. Omit note (or leave it empty) to send the invitation without a message.
Use a LinkedIn fsd_profile URN (for example: urn:li:fsd_profile:ACoA...). If you omit the urn:li:fsd_profile: prefix, the plugin will normalize it automatically.

Learn More