verification.score.preliminary
A play's score as soon as its Passport report is complete
Sent when a play's Passport has reported both a start and a finish, at the same moment as verification.ping, with the score as it stands then. Use it for live views. The final score can be higher or lower than this one, because evidence that arrives before the play settles is still scored (a Harvester read can raise it, or contradict Passport and lower it), so bill and report on verification.score.final.
Each endpoint receives this at most once per play. It isn't sent for a play that's already final by then, or for a play with no Passport report.
Payload
The play's score when its Passport report completed, before it settled. Same tracks and score shape as VerificationScoreEvent, with score.preliminary in place of score.final, plus the play's identity fields as in verification.ping. tracks.*.eventCount are raw received-event counts at firing time.
eventTypestringRequiredeventIdstringRequiredStable per-event id, constant across retries (injected at delivery). Dedupe on this.
playIdstringRequiredorganisationIdstringRequiredt0stringRequiredEpoch (seconds) the play opened.
tracksobjectRequiredShow 3 fields
passportobjectRequiredShow 1 field
eventCountintegerRequired
playerobjectRequiredShow 1 field
eventCountintegerRequired
harvesterobjectRequiredShow 1 field
eventCountintegerRequired
scoreobjectRequiredShow 5 fields
preliminaryintegerRequiredbandstring or nullRequiredphasestringRequiredpolicyVersionstring or nullRequiredscoredAtstring or nullRequiredEpoch (seconds) of the score this event reports.
attemptIdstringPer-attempt id; CHANGES on each retry. Do not dedupe on this.
screenIdstring or nullcreativeIdstring or nullexternalPlayIdstring or nullYour own per-play id, when the player supplied one at playback.
Handling this event
Verify the signature, reply with a 2xx within 20 seconds, then process the event in the background. Retries reuse the same event id, so deduplicate on it.