Search AI chat messages in a case

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 /ai-chat/{caseId}/search-messages

Searches message text across every AI chat conversation in the case and returns one page of matches, each with its conversation title and a highlighted copy of the text; optionally limit to conversations carrying all of the given tags. Archived profiles are skipped. On a case shared with opposing counsel, messages from profiles the caller may not see are excluded.

Path parameters

  • caseId string Required

Query parameters

  • page number

    Default value is 1.

  • perPage number

    Default value is 10.

  • skip number

    If skip/limit not provided, page/perPage will take precedence

  • limit number

    If skip/limit not provided, page/perPage will take precedence

  • sortOrder string

    Values are asc or desc. Default value is asc.

  • searchText string Required

    Search text for message content

  • tags array[string]

    Filter by conversation tag IDs (comma-separated)

Responses

  • 200 application/json
    Hide response attributes Show response attributes object
    • data object Required
      Hide data attributes Show data attributes object
      • total number Required
      • page number
      • perPage number
      • skip number
      • limit number
      • totalPages number Required
      • nextPage number | null Required
      • previousPage number | null Required
      • data array[object]
        Hide data attributes Show data attributes object
        • id string Required
        • role string Required

          Values are user, assistant, system, or tool.

        • text string Required
        • highlightedText string
        • date string(date-time) Required
        • senderName string | null Required
        • model string | null Required
        • conversationId string Required
        • conversationTitle string | null Required
        • providerId string Required
    • statusCode number Required
    • timestamp string(date-time) Required
GET /ai-chat/{caseId}/search-messages
curl \
 --request GET 'http://api.example.com/ai-chat/{caseId}/search-messages?searchText=string' \
 --header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
  "data": {
    "total": 42,
    "page": 1,
    "perPage": 20,
    "skip": 0,
    "limit": 20,
    "totalPages": 3,
    "nextPage": 2,
    "previousPage": 42.0,
    "data": [
      {
        "id": "507f1f77bcf86cd799439011",
        "role": "user",
        "text": "Summarise clause 4 of the lease in plain English.",
        "highlightedText": "Summarise [hl]clause 4[/hl] of the lease in plain English.",
        "date": "2026-01-15T14:30:00.000Z",
        "senderName": "Jane Doe",
        "model": "gpt-4o",
        "conversationId": "65a1b2c3d4e5f6a7b8c9d0e2",
        "conversationTitle": "Lease review",
        "providerId": "65a1b2c3d4e5f6a7b8c9d0e3"
      }
    ]
  },
  "statusCode": 200,
  "timestamp": "2026-01-15T10:15:00.000Z"
}