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.

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 public ID Either recipientProfileId or recipientProfileUrn must be provided.
recipientProfileUrnstringConditionalRecipient LinkedIn profile URN 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
}