pod.verified
Harvester reading matched to a known creative
New integrations should use the verification.* events instead.
Sent when a Harvester reading is matched to a known creative. The payload includes a freeze block with the play's freeze quality. Use verification.pod in new integrations.
Payload
eventTypestringRequiredeventIdstringRequiredStable per-event id, constant across retries. Dedupe on this.
fingerprintstringRequiredcountintegerRequiredPlays in this aggregation.
timestampstringRequiredEpoch (seconds) of the reading.
creativeobjectRequiredShow 2 fields
idstring or nullRequirednamestring or nullRequired
addressobjectRequiredShow 5 fields
streetstring or nullRequiredline2string or nullRequiredcitystring or nullRequiredstatestring or nullRequiredpostcodestring or nullRequired
screenobjectRequiredShow 2 fields
idstringRequirednamestringRequired
freezeobjectRequiredFreeze quality, symmetric about the ideal sample count 6.
score = 100 - (abs(value-6)/(12-6))*100, clamped 0..100 (6 -> 100; 0 and 12 -> 0; 3 and 9 -> 50).Show 3 fields
valuenumber or nullRequiredRaw freeze sample count.
scorenumber or nullRequired0..100; 100 = ideal (value == low anchor 6), falling to 0 as value deviates by the span (0 at value 0 or 12).
statusstringRequired
attemptIdstringPer-attempt id; changes on retry. Do not dedupe on this.
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.