Get a LinkedIn conversation

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://docs.usehearsay.com/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "integrations MCP server": {
    "url": "https://docs.usehearsay.com/mcp"
  }
}

Close
GET /linkedin/{caseId}/{linkedInId}/conversations/{conversationId}

Returns one LinkedIn conversation for a profile in the case, with participants and attachedTags. Returns 404 if the conversation does not belong to the profile and case. On a case shared with opposing counsel, a profile the caller may not see returns 404. attachedTags leave out tags the other side added by hand.

Path parameters

  • caseId string Required
  • linkedInId string Required
  • conversationId string Required

Responses

  • 200 application/json
    Hide response attributes Show response attributes object
    • data object Required
      Hide data attributes Show data attributes object
      • createdAt string(date-time) Required
      • updatedAt string(date-time) Required
      • id string Required
      • conversationId string Required
      • title string | null Required
      • participants array[object] Required
      • messagesCount number Required
      • firstMessageDate string(date-time) | null Required
      • lastMessageDate string(date-time) | null Required
      • lastMessageText string | null Required
      • tags array[string] Required
      • commentsCount number Required
      • comments array[object] Required

        Comment references on the conversation

      • starredAt string(date-time) | null Required
      • starredBy string | null Required
      • attachedTags array[object]
        Hide attachedTags attributes Show attachedTags attributes object
        • tagId string Required

          Tag id (Tag._id)

        • tag string Required

          Tag display name (Tag.name)

        • addedBy string Required

          Values are user, ai, auto, auto-import, system, or default.

        • addedById string | null
        • removedAt string(date-time) | null
        • removedBy string | null

          Values are user, ai, auto, auto-import, system, or default.

        • removedById string | null
    • statusCode number Required
    • timestamp string(date-time) Required
GET /linkedin/{caseId}/{linkedInId}/conversations/{conversationId}
curl \
 --request GET 'http://api.example.com/linkedin/{caseId}/{linkedInId}/conversations/{conversationId}' \
 --header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
  "data": {
    "createdAt": "2026-01-15T14:30:00.000Z",
    "updatedAt": "2026-01-15T14:30:00.000Z",
    "id": "507f1f77bcf86cd799439011",
    "conversationId": "2-ZGVmYXVsdA==",
    "title": "Introduction",
    "participants": [
      {
        "name": "Jane Doe",
        "profileUrl": "https://www.linkedin.com/in/jane-doe"
      }
    ],
    "messagesCount": 4,
    "firstMessageDate": "2026-01-12T09:00:00.000Z",
    "lastMessageDate": "2026-01-15T09:12:00.000Z",
    "lastMessageText": "Happy to connect.",
    "tags": [
      "507f1f77bcf86cd799439011"
    ],
    "commentsCount": 0,
    "comments": [
      {
        "_id": "65a1b2c3d4e5f6a7b8c9d0e3",
        "case": "507f1f77bcf86cd799439011",
        "comment": "65a1b2c3d4e5f6a7b8c9d0e2"
      }
    ],
    "starredAt": "2026-05-04T09:42:00Z",
    "starredBy": "string",
    "attachedTags": [
      {
        "tagId": "507f1f77bcf86cd799439011",
        "tag": "Important",
        "addedBy": "user",
        "addedById": "507f1f77bcf86cd799439012",
        "removedAt": "2026-05-04T09:42:00Z",
        "removedBy": "user",
        "removedById": "string"
      }
    ]
  },
  "statusCode": 200,
  "timestamp": "2026-01-15T10:15:00.000Z"
}