object — Additional properties rejected
| Field | Required at this level | Type | Description and constraints |
|---|---|---|---|
id |
Yes | string |
Pattern: ^finding-[a-z0-9-]+$ |
summary |
Yes | string |
Max length: 2000 |
evidenceSequences |
Yes | Array of string |
Min items: 1; Max items: 2; Items must be unique |
measurement |
Yes | At least one of: object; null |
— |
measurement.anyOf[1].asset |
Yes | string |
Pattern: ^0x[0-9a-fA-F]{40}$ |
measurement.anyOf[1].decimals |
Yes | At least one of: integer; null |
— |
measurement.anyOf[1].baselineAtomic |
Yes | string |
Pattern: ^(0|[1-9][0-9]*)$; Max length: 34 |
measurement.anyOf[1].observationAtomic |
Yes | string |
Pattern: ^(0|[1-9][0-9]*)$; Max length: 34 |
measurement.anyOf[1].changeAtomic |
Yes | string |
Pattern: ^(0|-?[1-9][0-9]*)$; Max length: 35 |
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/ProjectHealthFinding in the OpenAPI contract.