Check if a conversation exists with a profile
Check whether the authenticated LinkedIn account already has an existing conversation with a target profile. Returns the conversation URN if one exists. Single LinkedIn API call (no message history fetched). Useful as a precheck before sending a connection request or message to avoid duplicate outreach.
/conversations/exists/{profileId}Code Examples
curl -X GET 'https://api.connectsafely.ai/linkedin/conversations/exists/<profileId>' \ -H 'Authorization: Bearer <your_api_key>'Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
profileId | path | Yes | string | LinkedIn profile vanity URL slug (the part after linkedin.com/in/, e.g., "john-doe-123") |
accountId | query | No | string | LinkedIn account ID to check from. Omit to use the default account for the authenticated user. |
Request Body
No request body.
Responses
| Status | Description |
|---|---|
| 200 | Conversation existence check completed |
| 401 | Unauthorized |
| 404 | Account or profile not found |
| 500 | Server error |
200 Response Parameters
| Name | Type | Description |
|---|---|---|
success | boolean | |
hasConversation | boolean | Whether a conversation already exists with this profile |
conversationUrn | string | Existing conversation URN if one exists, otherwise null |
profileUrn | string | Resolved LinkedIn profile URN of the target user |
accountId | string | LinkedIn account ID used for the check |
200 Example
{
"success": true,
"hasConversation": true,
"conversationUrn": "urn:li:example:123456",
"profileUrn": "urn:li:fsd_profile:ACoAABcdefgh",
"accountId": "acc_12345"
}401 Response Parameters
| Name | Type | Description |
|---|---|---|
error | string |
401 Example
{
"error": "example_value"
}404 Response Parameters
| Name | Type | Description |
|---|---|---|
error | string |
404 Example
{
"error": "example_value"
}500 Response Parameters
| Name | Type | Description |
|---|---|---|
error | string |
500 Example
{
"error": "example_value"
}List conversations
List recent LinkedIn conversations using DB-first approach with LinkedIn API fallback. Supports multi-account batch queries, label/unread filtering. Auto-detects Sales Navigator accounts and merges Sales Nav threads with standard conversations.
Get conversation messages
Retrieve messages for a specific conversation. Auto-detects Sales Navigator thread URNs (urn:li:salesNav_thread:*) and routes to the Sales Nav API. Standard conversations use DB-first with LinkedIn API fallback for older messages via cursor pagination. Replaces GET /messaging/conversation-details.
