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.
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"
}