Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
## Unreleased

- Scored webhook schema 2026-10-09 removes result_version and scoring_version. Legacy versions remain readable.

## Unreleased

- Webhook client_identity and every nested field are optional and nullable. Attribution is best-effort; receivers must work without it.

## Unreleased
Expand Down
95 changes: 88 additions & 7 deletions dist/schemas/identification-scored-event.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,8 @@
"schema_version": {
"enum": [
"2026-10-07",
"2026-10-08"
"2026-10-08",
"2026-10-09"
]
}
},
Expand All @@ -110,8 +111,6 @@
"data": {
"type": "object",
"required": [
"result_version",
"scoring_version",
"hre"
],
"properties": {
Expand Down Expand Up @@ -203,7 +202,10 @@
"type": "object",
"properties": {
"schema_version": {
"const": "2026-10-08"
"enum": [
"2026-10-08",
"2026-10-09"
]
}
},
"required": [
Expand Down Expand Up @@ -283,6 +285,81 @@
}
}
}
},
{
"if": {
"type": "object",
"properties": {
"schema_version": {
"enum": [
"2026-10-07",
"2026-10-08"
]
}
},
"required": [
"schema_version"
]
},
"then": {
"type": "object",
"properties": {
"data": {
"type": "object",
"required": [
"result_version",
"scoring_version"
],
"properties": {
"result_version": {},
"scoring_version": {}
}
}
}
}
},
{
"if": {
"type": "object",
"properties": {
"schema_version": {
"const": "2026-10-09"
}
},
"required": [
"schema_version"
]
},
"then": {
"type": "object",
"properties": {
"data": {
"type": "object",
"not": {
"anyOf": [
{
"type": "object",
"required": [
"result_version"
],
"properties": {
"result_version": {}
}
},
{
"type": "object",
"required": [
"scoring_version"
],
"properties": {
"scoring_version": {}
}
}
]
}
}
}
}
}
],
"$defs": {
Expand Down Expand Up @@ -539,7 +616,7 @@
},
"IdentificationScoredData": {
"type": "object",
"description": "Final identification. risk_score is this scan only. Version 2026-10-08 uses signals for score contributions, detection_flags for final decisions, and hre for account results. Older bodies remain accepted.",
"description": "Final identification. risk_score is this scan only. Version 2026-10-09 uses signals for score contributions, detection_flags for final decisions, and hre for account results. Older bodies remain accepted.",
"required": [
"request_id",
"visitor_id",
Expand Down Expand Up @@ -631,12 +708,15 @@
"description": "Original snapshot scan clock, distinct from envelope created_at. RFC 3339 in UTC with up to 9 fractional digits."
},
"result_version": {
"deprecated": true,
"description": "Legacy through 2026-10-08 only; omitted by current emitters.",
"type": "string",
"minLength": 1
},
"scoring_version": {
"deprecated": true,
"type": "string",
"description": "Core build source revision; core:unversioned on local builds."
"description": "Legacy through 2026-10-08 only; omitted by current emitters."
},
"risk_events": {
"deprecated": true,
Expand Down Expand Up @@ -770,8 +850,9 @@
"SchemaVersion": {
"type": "string",
"minLength": 1,
"description": "Webhook contract version. Scored release 2026-10-08; multi-account group release 2026-10-07; parsers also accept legacy 2026-06-01.",
"description": "Webhook contract version. Scored release 2026-10-09; multi-account group release 2026-10-07; parsers also accept legacy 2026-06-01.",
"examples": [
"2026-10-09",
"2026-10-08",
"2026-10-07",
"2026-10-06",
Expand Down
95 changes: 88 additions & 7 deletions dist/schemas/webhook-event.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -326,7 +326,7 @@
},
"IdentificationScoredData": {
"type": "object",
"description": "Final identification. risk_score is this scan only. Version 2026-10-08 uses signals for score contributions, detection_flags for final decisions, and hre for account results. Older bodies remain accepted.",
"description": "Final identification. risk_score is this scan only. Version 2026-10-09 uses signals for score contributions, detection_flags for final decisions, and hre for account results. Older bodies remain accepted.",
"required": [
"request_id",
"visitor_id",
Expand Down Expand Up @@ -418,12 +418,15 @@
"description": "Original snapshot scan clock, distinct from envelope created_at. RFC 3339 in UTC with up to 9 fractional digits."
},
"result_version": {
"deprecated": true,
"description": "Legacy through 2026-10-08 only; omitted by current emitters.",
"type": "string",
"minLength": 1
},
"scoring_version": {
"deprecated": true,
"type": "string",
"description": "Core build source revision; core:unversioned on local builds."
"description": "Legacy through 2026-10-08 only; omitted by current emitters."
},
"risk_events": {
"deprecated": true,
Expand Down Expand Up @@ -545,7 +548,8 @@
"schema_version": {
"enum": [
"2026-10-07",
"2026-10-08"
"2026-10-08",
"2026-10-09"
]
}
},
Expand All @@ -565,8 +569,6 @@
"data": {
"type": "object",
"required": [
"result_version",
"scoring_version",
"hre"
],
"properties": {
Expand Down Expand Up @@ -658,7 +660,10 @@
"type": "object",
"properties": {
"schema_version": {
"const": "2026-10-08"
"enum": [
"2026-10-08",
"2026-10-09"
]
}
},
"required": [
Expand Down Expand Up @@ -738,6 +743,81 @@
}
}
}
},
{
"if": {
"type": "object",
"properties": {
"schema_version": {
"enum": [
"2026-10-07",
"2026-10-08"
]
}
},
"required": [
"schema_version"
]
},
"then": {
"type": "object",
"properties": {
"data": {
"type": "object",
"required": [
"result_version",
"scoring_version"
],
"properties": {
"result_version": {},
"scoring_version": {}
}
}
}
}
},
{
"if": {
"type": "object",
"properties": {
"schema_version": {
"const": "2026-10-09"
}
},
"required": [
"schema_version"
]
},
"then": {
"type": "object",
"properties": {
"data": {
"type": "object",
"not": {
"anyOf": [
{
"type": "object",
"required": [
"result_version"
],
"properties": {
"result_version": {}
}
},
{
"type": "object",
"required": [
"scoring_version"
],
"properties": {
"scoring_version": {}
}
}
]
}
}
}
}
}
]
},
Expand Down Expand Up @@ -1127,8 +1207,9 @@
"SchemaVersion": {
"type": "string",
"minLength": 1,
"description": "Webhook contract version. Scored release 2026-10-08; multi-account group release 2026-10-07; parsers also accept legacy 2026-06-01.",
"description": "Webhook contract version. Scored release 2026-10-09; multi-account group release 2026-10-07; parsers also accept legacy 2026-06-01.",
"examples": [
"2026-10-09",
"2026-10-08",
"2026-10-07",
"2026-10-06",
Expand Down
3 changes: 2 additions & 1 deletion dist/schemas/webhook-ping-event.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,9 @@
"SchemaVersion": {
"type": "string",
"minLength": 1,
"description": "Webhook contract version. Scored release 2026-10-08; multi-account group release 2026-10-07; parsers also accept legacy 2026-06-01.",
"description": "Webhook contract version. Scored release 2026-10-09; multi-account group release 2026-10-07; parsers also accept legacy 2026-06-01.",
"examples": [
"2026-10-09",
"2026-10-08",
"2026-10-07",
"2026-10-06",
Expand Down
Loading
Loading