Returns one page of AI chat profiles (ChatGPT, Claude or Gemini accounts) linked to the case, excluding archived ones; search by display name, email or account id, or filter by extraction code. On a case shared with opposing counsel, profiles the caller may not see are excluded; ocSharedStatus (the profile's sharing status) is filled in for opposing counsel, who can also filter by it, and is null for everyone else.
GET
/ai-chat/{caseId}
curl \
--request GET 'http://api.example.com/ai-chat/{caseId}' \
--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": [
{
"createdAt": "2026-01-15T14:30:00.000Z",
"updatedAt": "2026-01-15T14:30:00.000Z",
"id": "507f1f77bcf86cd799439011",
"platform": "chatgpt",
"externalUserId": "user-a1B2c3D4e5F6g7H8i9J0k1L2",
"email": "jane.doe@example.com",
"displayName": "Jane Doe",
"accountPlan": "plus",
"accountData": {
"id": "user-a1B2c3D4e5F6g7H8i9J0k1L2",
"email": "jane.doe@example.com",
"name": "Jane Doe",
"chatgpt_plus_user": true
},
"metadata": {},
"deletedAt": "2026-05-04T09:42:00Z",
"deletedBy": "string",
"ocSharedStatus": "shared"
}
]
},
"statusCode": 200,
"timestamp": "2026-01-15T10:15:00.000Z"
}