---
title: "Get a proof-of-play report"
method: GET
path: "/v1/proof"
tags: ["proof"]
---

# Get a proof-of-play report

`GET /v1/proof`

## Request

- Base URL: `https://api.brixsignage.com`
- URL: `https://api.brixsignage.com/v1/proof`
- Auth: HTTP bearer

Get proof-of-play totals for a date range, broken down by content item and by screen, including digital-out-of-home verification fields. Use the `from` and `to` query parameters to set the date range.

Counts what played, where and for how long, over a time window. Only screens the caller can see are counted.

## Query parameters

- `from` string
- `to` string
- `screenId` string

## Response `200`

Success.

- object
  - `data` ProofOfPlayReport, required
    - `totals` object, required
      - `plays` integer, required: Successful plays (neither skipped nor failed).
      - `skipped` integer, required
      - `failed` integer, required
      - `events` integer, required: Every playback-end event: plays + skipped + failed.
      - `uniqueContent` integer, required
      - `screensReporting` integer, required
    - `byContent` object[], required: Per content, most successful plays first.
      - `contentId` string, required: `unknown` when the player did not report one.
      - `contentName` string, required: Falls back to the id when no name was reported.
      - `contentKind` string, required: `media`, `app`, `creative`, …; `media` for days read from the daily rollup.
      - `screenName` string, nullable, required: Set only when exactly one screen played it.
      - `played` integer, required
      - `skipped` integer, required
      - `failed` integer, required
      - `screenCount` integer, required
      - `totalDurationSec` integer, required
      - `firstAt` string, required: ISO-8601 timestamp (UTC).
      - `lastAt` string, required: ISO-8601 timestamp (UTC).
    - `screens` object[], required: Screens that reported in the window, by name.
      - `id` string, required
      - `name` string, required
    - `from` string, required: ISO-8601 timestamp (UTC).
    - `to` string, required: ISO-8601 timestamp (UTC).
    - `retentionDays` integer, required: How far back raw play events exist; older days come from the daily rollup.
    - `truncated` boolean, required: Always false: the whole window is counted.
    - `fromRollup` boolean, required: Part of the window was read from the daily rollup.

## Other responses

- `401`: Missing, expired or revoked bearer token.
- `403`: The token lacks the permission this operation needs (see `x-brix-permission`).
- `5XX`: Server error. The body carries a `requestId` to quote to support.

---

[API](https://skmtc.dev/brixsignage/apis/brix-api.md) · [All operations](https://skmtc.dev/brixsignage/apis/brix-api/llms.txt) · [OpenAPI document](https://skmtc.dev/brixsignage/apis/brix-api/revisions/02fd3665dc7d?raw)
