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

  • eventTypestringRequired

    Always pod.verified

  • eventIdstringRequired

    Stable per-event id, constant across retries. Dedupe on this.

  • fingerprintstringRequired
  • countintegerRequired

    Plays in this aggregation.

  • timestampstringRequired

    Epoch (seconds) of the reading.

  • creativeobjectRequired
    Show 2 fields
    • idstring or nullRequired
    • namestring or nullRequired
  • addressobjectRequired
    Show 5 fields
    • streetstring or nullRequired
    • line2string or nullRequired
    • citystring or nullRequired
    • statestring or nullRequired
    • postcodestring or nullRequired
  • screenobjectRequired
    Show 2 fields
    • idstringRequired
    • namestringRequired
  • freezeobjectRequired

    Freeze 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 nullRequired

      Raw freeze sample count.

    • scorenumber or nullRequired

      0..100; 100 = ideal (value == low anchor 6), falling to 0 as value deviates by the span (0 at value 0 or 12).

    • statusstringRequired

      One of GOOD, WARN, BAD, UNKNOWN

  • attemptIdstring

    Per-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.