Facebook Pixel
APILinkedIn Messaging

Send a message (messaging wrapper)

Send a LinkedIn message using the messaging endpoint. Wrapper around the core messaging functionality with a cleaner interface. Supports regular messages and InMail. Rate limit: 150 messages per day per account.

Deprecated: Use POST /conversations/send instead.

POST/messaging/send
Authentication requiredMessaging

Code Examples

curl -X POST 'https://api.connectsafely.ai/linkedin/messaging/send' \
-H 'Authorization: Bearer <your_api_key>' \
-H 'Content-Type: application/json' \
-d '{"accountId":"acc_12345","recipientProfileId":"john-doe-123","message":"Hello! I would like to connect with you.","subject":"Quick question about your work","messageType":"normal"}'

Parameters

No parameters.

Request Body

FieldTypeRequiredDescription
accountIdstringNoLinkedIn account ID to use. If not provided, uses the default account.
recipientProfileIdstringConditionalRecipient LinkedIn profile vanity URL slug (e.g., "john-doe-123"). Prefer recipientProfileUrn when available. Either recipientProfileId or recipientProfileUrn must be provided.
recipientProfileUrnstringConditionalRecipient LinkedIn profile URN (e.g., "urn:li:fsd_profile:ACoAABJefVoBrz2LR3f..."). Preferred over recipientProfileId. Either recipientProfileUrn or recipientProfileId must be provided.
messagestringYesMessage content to send
subjectstringNoSubject line (required for InMail)
messageTypestringNoMessage type

Example

{
  "recipientProfileUrn": "urn:li:fsd_profile:ACoAAFpqSoMB8vTqRbg4mN_wbabO8w0gjgFu-6o",
  "message": "Hello, I would like to connect with you!"
}

Responses

StatusDescription
200Message sent successfully
400Bad request - Missing required parameter
401Unauthorized - Invalid or missing API key
429Rate limit exceeded
500Server error

Rate Limit Headers

All responses include rate limit information in the headers:

HeaderDescription
X-RateLimit-ActionThe action type being rate limited
X-RateLimit-LimitMaximum actions allowed per period
X-RateLimit-UsedActions used in current period
X-RateLimit-RemainingActions remaining
X-RateLimit-ResetISO 8601 timestamp when limit resets

200 Response Parameters

NameTypeDescription
successboolean
messagestring
recipientProfileUrnstring

200 Example

{
  "success": true,
  "message": "Message sent successfully",
  "recipientProfileUrn": "urn:li:fsd_profile:ACoAAFpqSoMB8vTqRbg4mN_wbabO8w0gjgFu-6o"
}

400 Response Parameters

NameTypeDescription
successboolean
errorobject

400 Example

{
  "success": false,
  "error": "message is required"
}

401 Example

{
  "error": "Unauthorized - Invalid credentials"
}

429 Response Parameters

NameTypeDescription
errorstring
successboolean

429 Example

{
  "error": "Rate limit exceeded for MESSAGE: 150/150 used. Resets at 2024-01-02T00:00:00.000Z",
  "success": false
}

500 Example

{
  "error": "Failed to get LinkedIn authentication credentials",
  "success": false
}