---
title: "Campaign Screen Start"
method: POST
path: "/api/public/campaign-screen/{token}"
tags: ["campaign"]
---

# Campaign Screen Start

`POST /api/public/campaign-screen/{token}`

## 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-screen/{token}`
- Auth: none declared

A candidate applies via the forwarded link -> spawn THEIR own interview
and return their private join_url. One link, one fresh interview per
candidate (reuses the per-candidate spawn). Public by design.

Identity only. The resume is collected on the interview lobby, which is
where BOTH candidate paths (this link and the emailed invite) converge —
asking here as well made a /screen candidate submit it twice, and the
first copy was the weaker one (raw text, never parsed onto the candidate
record). One step, one implementation, honouring candidate_resume_mode.

## Path parameters

- `token` string, required

## Request body

- ScreenStartBody
  - `candidate_name` string, required
  - `candidate_email` 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)
