Send message with delivery acknowledgment
Send a LinkedIn message while acknowledging receipt of previous messages. Useful for replying to conversations where you want to mark received messages as acknowledged. Rate limit: 150 messages per day per account.
/messaging/send-with-ackCode Examples
curl -X POST 'https://api.connectsafely.ai/linkedin/messaging/send-with-ack' \ -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","messageUrns":[]}'Parameters
No parameters.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
accountId | string | No | LinkedIn account ID to use. If not provided, uses the default account. |
recipientProfileId | string | Conditional | Recipient LinkedIn profile public ID Either recipientProfileId or recipientProfileUrn must be provided. |
recipientProfileUrn | string | Conditional | Recipient LinkedIn profile URN Either recipientProfileUrn or recipientProfileId must be provided. |
message | string | Yes | Message content to send |
subject | string | No | Subject line (for InMail) |
messageType | string | No | Message type |
messageUrns | array | No | Message URNs to acknowledge delivery of |
Example
{
"recipientProfileUrn": "urn:li:fsd_profile:ACoAAFpqSoMB8vTqRbg4mN_wbabO8w0gjgFu-6o",
"message": "Thanks for your message!"
}Responses
| Status | Description |
|---|---|
| 200 | Message sent with acknowledgment successfully |
| 400 | Bad request - Missing required parameter |
| 401 | Unauthorized - Invalid or missing API key |
| 429 | Rate limit exceeded |
| 500 | Server error |
Rate Limit Headers
All responses include rate limit information in the headers:
| Header | Description |
|---|---|
X-RateLimit-Action | The action type being rate limited |
X-RateLimit-Limit | Maximum actions allowed per period |
X-RateLimit-Used | Actions used in current period |
X-RateLimit-Remaining | Actions remaining |
X-RateLimit-Reset | ISO 8601 timestamp when limit resets |
200 Response Parameters
| Name | Type | Description |
|---|---|---|
success | boolean | |
message | string | |
recipientProfileUrn | string | |
acknowledgmentSent | boolean |
200 Example
{
"success": true,
"message": "Message sent successfully",
"recipientProfileUrn": "urn:li:fsd_profile:ACoAAFpqSoMB8vTqRbg4mN_wbabO8w0gjgFu-6o",
"acknowledgmentSent": false
}400 Response Parameters
| Name | Type | Description |
|---|---|---|
success | boolean | |
error | object |
400 Example
{
"success": false,
"error": "message is required"
}401 Example
{
"error": "Unauthorized - Invalid credentials"
}429 Response Parameters
| Name | Type | Description |
|---|---|---|
error | string | |
success | boolean |
429 Example
{
"error": "Rate limit exceeded for MESSAGE: 150/150 used",
"success": false
}500 Example
{
"error": "Failed to get LinkedIn authentication credentials",
"success": false
}Send message with typing indicator
Send a LinkedIn message after showing a typing indicator first. Creates a more natural conversation experience by simulating human-like behavior. Requires conversationUrn for existing conversations. Rate limit: 150 messages per day per account.
Send message with group context
Send a LinkedIn message to someone using group membership context. Allows messaging non-connections who are members of the same LinkedIn group without using InMail credits. Rate limit: 150 messages per day per account.
