Check that your ads really played.

The Vojo API tells you what was shown on each screen, and how sure Vojo is, from independent evidence. Register screens, wrap creatives and get each play's verification by REST and signed webhook.

Start the quickstartBrowse the API reference

Make your first request

Every call uses a secret key as a bearer token. This one returns the organisation your key belongs to, and needs no scope, so it's a good way to check that your key works.

Get a key and learn about scopes

curl https://api.vojo-media.com/v1/organisation \
  -H "Authorization: Bearer $VOJO_KEY"

How an integration fits together

  1. Register your screens

    Create a site for each venue and a screen for each display, then keep Vojo's ids against your own records.

    Register screens
  2. Wrap each creative

    Send a creative's URL and get back a Vojo Passport to schedule in its place. It reports its own play as soon as it's shown.

    Wrap a creative
  3. Read the verification

    Each play gets a trust score and a band from the evidence Vojo received. A Harvester on the screen can corroborate what Passport reports.

    Read verification and plays
  4. Receive it as it happens

    Vojo sends signed webhooks when a play completes and when its score is final, so you don't have to poll.

    Receive webhooks

Webhook events: 8 events and their payloads.

Core concepts: organisations, screens, Harvesters, Passport, plays and scores in plain English.

Error codes: what each one means and what to do next.

Changelog: how the API changes, and how to pin a version.