Toggle a tag on 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
PATCH /linkedin/{caseId}/{linkedInId}/conversations/{conversationId}/tags

Adds the given tag to a LinkedIn conversation, or removes it if it is already applied, and returns the updated conversation. Returns 404 if the conversation does not belong to the profile and case. In the result, attachedTags leave out tags the other side added by hand.

Path parameters

  • caseId string Required
  • linkedInId string Required
  • conversationId string Required
application/json

Body Required

  • tagId string Required

    Tag ID to toggle on the resource

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
PATCH /linkedin/{caseId}/{linkedInId}/conversations/{conversationId}/tags
curl \
 --request PATCH 'http://api.example.com/linkedin/{caseId}/{linkedInId}/conversations/{conversationId}/tags' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{
  "tagId": "string"
}'
Request examples
{
  "tagId": "string"
}
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"
}