Make every submitter Theam validated.
Add one field to your application form. Submitters paste their Theam link, and you get an unbiased, tamper-proof read on real audience demand — score, pledges, backers and curator status — before you ever open the screener.
Three ways to plug in
- 1
Paste check — zero setup
Send submitters to theam.app/verify, or paste their code yourself. Good for a first season.
- 2
Embed — one iframe in your form
Drop the widget into your existing submission page. It posts a pass/fail message back to your form so you can gate the submit button.
- 3
API — one call from your backend
Verify server-side with your secret key and store the result with the application record.
Embed the widget
Replace YOUR_PARTNER_ID with the ID from your partner console. min is the score bar for your program.
<iframe
src="https://theam.app/embed/verify?partner=YOUR_PARTNER_ID&min=60"
style="width:100%;height:420px;border:0"
title="Theam validation check"></iframe>
<script>
window.addEventListener("message", function (e) {
if (e.origin !== "https://theam.app") return;
if (e.data && e.data.type === "theam:verification") {
// e.data.verified, e.data.meets_min_score, e.data.film
document.querySelector("#submit").disabled = !e.data.meets_min_score;
}
});
</script>Applicants who aren't validated yet
The widget also offers "Start Theam validation". The applicant is created against your account, applies to Theam, adds their film and starts validating — and you follow every step under Applicants in your partner console. When they clear their tier's bar, their certificate is issued and recorded against your referral automatically, so you never have to chase them for proof.
Pass &ref=YOUR_APPLICANT_ID on the iframe URL to tie each applicant to your own record. The widget posts theam:application back to your page with the tracking token.
Or call the API
reference accepts a film page URL, a slug, or a full .theam certificate code.
curl -X POST https://theam.app/api/public/partners/verify \
-H "x-theam-key: $THEAM_KEY" \
-H "content-type: application/json" \
-d '{"reference":"https://theam.app/f/their-film","min_score":60}'
# =>
{
"verified": true,
"meets_min_score": true,
"film": {
"title": "The Long Weekend",
"page_url": "https://theam.app/f/the-long-weekend",
"validation_score": 78,
"curator_approved": true,
"pledged_cents": 412500,
"backers": 214
}
}Why it can't be gamed
- Signed certificates. Every .theam file carries an HMAC signature only Theam can produce — edit one character and it fails.
- Live re-check. A valid signature is still re-checked against the live page, so revoked or removed films never pass.
- Server-side signals. Follows, signups, shares and views are recorded server-side and de-duplicated per visitor and network. Filmmakers cannot write to their own score.
- Secret keys stay yours. API keys are stored only as hashes, are rotatable, and are never exposed to the browser — the embed widget carries no credential at all.