---
title: "Campaign Preview Report"
method: GET
path: "/api/public/campaign-preview/{token}/report.pdf"
tags: ["campaign"]
---

# Campaign Preview Report

`GET /api/public/campaign-preview/{token}/report.pdf`

## Request

- Base URL: `https://api.thebetterhire.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.thebetterhire.ai/api/public/campaign-preview/{token}/report.pdf`
- Auth: none declared

The founder preview's sample report, as the PDF a founder forwards.

This is the artifact that travels: the page is read once by one person, but
the PDF gets sent into a hiring channel and read by the people who actually
decide. Serving the REAL report generator rather than a mock is the point —
what they forward is exactly what their own candidates would produce.

SECURITY — why a public PDF route is safe here. The caller never names an
interview; the opaque token names a target, and the only interview
reachable is that target's `hero_interview_id`, which is always a synthetic
candidate in the house org. There is no parameter to tamper with that could
reach a customer's interview, so this cannot become an enumeration hole.

## Path parameters

- `token` string, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/thebetterhire/apis/interanalysis-b2b-api.md) · [All operations](https://skmtc.dev/thebetterhire/apis/interanalysis-b2b-api/llms.txt) · [OpenAPI document](https://skmtc.dev/thebetterhire/apis/interanalysis-b2b-api/revisions/c8ad03e900ea?raw)
