Confirmed participants and their explicitly granted case operations.
application/json
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"schemaVersion": {
"const": "case-participants-v2"
},
"caseId": {
"type": "string"
},
"participants": {
"type": "array",
"items": {
"type": "object",
"properties": {
"participantId": {
"type": "string"
},
"side": {
"type": "string",
"enum": [
"claimant",
"respondent"
]
},
"name": {
"type": "string"
},
"status": {
"type": "string"
},
"principalId": {
"type": "string"
},
"partnerId": {
"type": "string"
},
"agentId": {
"type": "string"
},
"allowedOperations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CaseMembershipOperationV2",
"type": "string",
"enum": [
"case:read",
"submission:create",
"restatement:respond",
"record:confirm",
"case:terminate",
"award:read",
"message:create",
"evidence:challenge"
],
"description": "Explicit per-case membership authority. Reads use case:read, procedural-message POST uses message:create, and authenticity-challenge POST uses evidence:challenge. A party token does not override a restricted active membership. Missing grants refuse with case_operation_forbidden. Existing memberships are not automatically expanded; the provisioning owner must grant new write operations explicitly."
}
}
}
}
}
}
},
"requestId": {
"type": "string"
}
}
}