Returns the layered case summary: key parties, timeline, factual narrative (with any pending regenerated version), evidentiary map, attorney notes and open items. A case with no summary yet gets an empty one. Requires commenter access or above to the case and an active plan (403 otherwise); not available to opposing counsel.
GET
/ai/cases/{caseId}/summary
curl \
--request GET 'http://api.example.com/ai/cases/{caseId}/summary' \
--header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
"data": {
"_id": "65a1b2c3d4e5f6a7b8c9d0e1",
"case": "65a1b2c3d4e5f6a7b8c9d0e2",
"organization": "65a1b2c3d4e5f6a7b8c9d0e3",
"version": 1,
"keyParties": {
"parties": [
{
"name": "string",
"role": "string",
"aliases": [
"string"
],
"frequency": 42.0,
"significance": "string"
}
],
"lastRegeneratedAt": "2026-01-15T10:15:00.000Z"
},
"timeline": {
"events": [
{
"date": "2026-05-04T09:42:00Z",
"description": "string",
"sourceRefs": [
"string"
]
}
],
"lastRegeneratedAt": "2026-01-15T10:15:00.000Z"
},
"factualNarrative": {
"content": "string",
"pendingVersion": "string",
"pendingGeneratedAt": "2026-01-15T10:15:00.000Z",
"basedOnEvidenceThrough": "2026-01-15T10:15:00.000Z",
"stale": false,
"modelVersion": "string",
"promptVersion": "case_summary.v1",
"contextProfileVersion": 2
},
"evidentiaryMap": {
"elements": [
{}
],
"lastRegeneratedAt": "2026-01-15T10:15:00.000Z"
},
"attorneyNotes": {
"theory": "string",
"strategy": "string",
"openQuestions": [
"string"
],
"lastEditedAt": "2026-01-15T10:15:00.000Z",
"lastEditedBy": "65a1b2c3d4e5f6a7b8c9d0e4"
},
"openItems": {
"items": [
{
"id": "string",
"description": "string",
"status": "open",
"suggestedBy": "ai_suggested",
"createdAt": "2026-01-15T10:15:00.000Z",
"resolvedAt": "2026-01-15T10:15:00.000Z"
}
],
"lastRegeneratedAt": "2026-01-15T10:15:00.000Z"
},
"createdAt": "2026-01-15T10:15:00.000Z",
"updatedAt": "2026-01-15T10:15:00.000Z"
},
"statusCode": 200,
"timestamp": "2026-01-15T10:15:00.000Z"
}