---
title: "The period proof: AI visibility measured at the start and the end of the window (before / after), the moves shipped between them, the scans that ran, prepared_count (site moves prepared right now and waiting for their live URL, the same count the in-app Scoreboard reads; not windowed; null when unreadable), and the receipts with their verified state and tracked-link clicks. like_for_like is the honesty field and must be read before reporting any change: true means both scans asked the same tracked questions, false means the set changed inside the window or the answer source changed, so the numbers are a new baseline rather than a movement, and null means it cannot be proven either way. Composed from the same functions the day-14 recap and the Feed proof strip use. Defaults to 14 days; ?window_days is clamped to 7 to 90 rather than rejected."
method: GET
path: "/api/v1/scoreboard"
---

# The period proof: AI visibility measured at the start and the end of the window (before / after), the moves shipped between them, the scans that ran, prepared_count (site moves prepared right now and waiting for their live URL, the same count the in-app Scoreboard reads; not windowed; null when unreadable), and the receipts with their verified state and tracked-link clicks. like_for_like is the honesty field and must be read before reporting any change: true means both scans asked the same tracked questions, false means the set changed inside the window or the answer source changed, so the numbers are a new baseline rather than a movement, and null means it cannot be proven either way. Composed from the same functions the day-14 recap and the Feed proof strip use. Defaults to 14 days; ?window_days is clamped to 7 to 90 rather than rejected.

`GET /api/v1/scoreboard`

## Request

- Base URL: `https://afterlaunch.io`
- URL: `https://afterlaunch.io/api/v1/scoreboard`
- Auth: HTTP bearer

## Query parameters

- `window_days` integer

## Response `200`

The scoreboard payload.

- object
  - `data` object, required
  - `meta` object, required
    - `enrollment_id` string, uuid, required
    - `generated_at` string, date-time, required

## Other responses

- `401`: Missing, invalid or revoked API key.
- `403`: The key does not carry the scope this endpoint requires.
- `404`: No enrollment data, or a key bound to a superseded product run.
- `429`: Per-key rate limit exceeded. Honour Retry-After.

---

[API](https://skmtc.dev/afterlaunch/apis/afterlaunch-public-api.md) · [All operations](https://skmtc.dev/afterlaunch/apis/afterlaunch-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/afterlaunch/apis/afterlaunch-public-api/revisions/d67a599194a4?raw)
