Sets the attorney-written theory, strategy and open questions sent (the AI never changes these), records who edited them and when, and returns the summary, creating it if needed. Requires owner or admin access to the case and an active plan (403 otherwise); not available to opposing counsel.
PUT
/ai/cases/{caseId}/summary/attorney-notes
curl \
--request PUT 'http://api.example.com/ai/cases/{caseId}/summary/attorney-notes' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"theory": "string",
"strategy": "string",
"openQuestions": [
"string"
]
}'
Request examples
{
"theory": "string",
"strategy": "string",
"openQuestions": [
"string"
]
}
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"
}