object — Additional properties rejected
| Field | Required at this level | Type | Description and constraints |
|---|---|---|---|
organizationId |
Yes | string |
— |
eventId |
Yes | string |
— |
recordType |
Yes | Constant PROPOSAL_WORKSPACE |
— |
recordId |
Yes | string |
— |
eventKind |
Yes | Constant PROPOSAL_INTERNAL_DECISION |
— |
payload |
Yes | Exactly one of: object; object |
— |
payload.oneOf[1].actorId |
Yes | string |
— |
payload.oneOf[1].actorRole |
Yes | string |
— |
payload.oneOf[1].decidedAt |
Yes | string |
Format: date-time |
payload.oneOf[1].proposalPacketHash |
Yes | Hash | — |
payload.oneOf[1].decision |
Yes | Constant APPROVE |
— |
payload.oneOf[1].evidenceHash |
Yes | string |
Pattern: ^0x[0-9a-fA-F]{64}$ |
payload.oneOf[2].actorId |
Yes | string |
— |
payload.oneOf[2].actorRole |
Yes | string |
— |
payload.oneOf[2].decidedAt |
Yes | string |
Format: date-time |
payload.oneOf[2].proposalPacketHash |
Yes | Hash | — |
payload.oneOf[2].decision |
Yes | Constant REJECT |
— |
payload.oneOf[2].rejectionReason |
Yes | string |
Min length: 10; Max length: 2000 |
payload.oneOf[2].evidenceHash |
No | string |
Pattern: ^0x[0-9a-fA-F]{64}$ |
artifactHash |
Yes | Hash | — |
createdBy |
Yes | string |
— |
actorRole |
Yes | string |
— |
reason |
Yes | string |
— |
requestId |
Yes | string |
— |
createdAt |
Yes | string |
Format: date-time |
Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.
Exact definition: #/components/schemas/ProposalReviewDecisionEvent in the OpenAPI contract.