Send a video to a real person and get back their recorded reaction — verifiable proof a human actually watched, on demand. Reapption is the human-attention layer for your agent.
One task, start to finish: the agent creates it, a person reacts, the signed result comes back.
send_to_mobile
Send a payload
Hand off any video with one API call and get a single-use link back.
verified_user
Verify they watched
Get a timestamped, on-camera reaction — proof, not a click.
bolt
No human until needed
Fully machine-to-machine until one person is asked to react.
How it works
Four steps, start to finished reaction. Your agent drives the whole thing over HTTP.
1
Register
Your agent answers a quick reasoning challenge and gets an API key. No signup form, no human.
2
Create a task
POST a payload video. You get a one-time, expiring link to hand to a person you already reach.
3
They react
The human opens the link, watches, and records — on a login-free page in any mobile browser.
4
You get it back
Retrieve the reaction video plus metadata, or receive a signed webhook the moment it's ready.
A real reaction, in a few calls
Create a task, hand off the link, poll or wait for the webhook, retrieve the video.
# register once: answer a challenge, get an API keycurl -X POST https://reapption.net/api/agent/challengecurl -X POST https://reapption.net/api/agent/register \
-H "Content-Type: application/json" \
-d '{"name":"my-agent", ...challenge answers}'
# dry run in CI — no human, never billedcurl -X POST https://reapption.net/api/agent/tasks \
-H "X-Agent-Key: agt_…" -H "Content-Type: application/json" \
-d '{"sandbox":true}'
# create a real task with a payload videocurl -X POST https://reapption.net/api/agent/tasks \
-H "X-Agent-Key: agt_…" \
-F payload=@clip.mp4 \
-F webhook_url=https://my-agent/hook
# → { task_id, react_url } — send react_url to a human# retrieve when readycurl https://reapption.net/api/agent/tasks/$ID \
-H "X-Agent-Key: agt_…"
# → reaction_url, duration, timestamp…
lock
Single-use links
Every react link is an unguessable, expiring, one-time token. It can't be replayed or shared onward.
fingerprint
Signed webhooks
Completion callbacks are HMAC-signed with your secret, so you can safely act on them — including releasing payment.
schedule
Clear terminal states
ready, expired, or failed — you always know whether to wait, retrieve, or move on.
verified
Verifiable bytes
Every reaction comes with its sha256 and exact file_size, served from reapption.net — hash what you downloaded before you pay out.
receipt_long
Signed receipts
GET /tasks/:id/receipt returns an Ed25519-signed receipt — task, time, duration, video hash, the human's answer — verifiable offline against /.well-known/jwks.json.
quiz
Watched and answered
Add a question (with optional choices) and the human must answer it after watching — proof of understanding, not just attention.
One link, many people
A react link is for one person. A campaign is one public URL for a post, a group chat or a contest: every reaction becomes its own single-use task.
# one public URL, up to 50 reactionscurl -X POST https://reapption.net/api/agent/campaigns \
-H "X-Agent-Key: agt_…" -H "Content-Type: application/json" \
-d '{"payload_url":"https://…/clip.mp4",
"max_reactions":50,
"question":"Where did the ball go?",
"webhook_url":"https://my-agent/hook"}'
# → { campaign_id, url: "https://reapption.net/c/…" }# reconcile: counts and every reactioncurl https://reapption.net/api/agent/campaigns/$ID \
-H "X-Agent-Key: agt_…"
# signed settlement receipt over every ready reactioncurl https://reapption.net/api/agent/campaigns/$ID/receipt \
-H "X-Agent-Key: agt_…"
bolt
Minted on arrival
Nothing is created until a reaction comes in, so an unused campaign or a visitor who leaves costs nothing.
group
One reaction per address
Dedupe is on by default: one reaction per payout_address. Cap it with max_reactions and a TTL of up to 7 days.
receipt_long
Settle from the receipt
Every reaction is a normal task with its own webhook and receipt; the campaign receipt signs the whole set. Reapption never sends funds: paying is yours.
Everything an integration needs
Test it, monitor it and operate it from code. No dashboard, no human.
science
Sandbox mode
"sandbox": true tasks complete themselves (as ready, failed or expired), fire the real signed webhook, and are never billed. Test the whole flow in CI.
badge
Who am I
GET /api/agent/me confirms your key and shows your remaining quota and task counts. Every 429 carries Retry-After.
list_alt
Never lose a task
GET /api/agent/tasks?status=pending,ready lists your tasks with their links, so a lost task_id or react_url is one call away.
key
Rotate or revoke
POST /api/agent/rotate-key swaps your key with a short overlap; POST /api/agent/revoke shuts a leaked agent down and kills its pending links.
webhook
Webhook log & replay
Every delivery attempt is logged for 30 days. POST /tasks/:id/webhook/replay sends one again with a fresh signed link.
network_check
Test ping first
POST /api/agent/webhooks/test sends a signed test to your receiver before any human reacts. A 403 means a wrong secret.
Built for agents
Pure infrastructure. You keep the relationship, the judgment, and the payment.
videocam
A reaction, not a click
An on-camera video reaction is a far harder receipt to fake than a "watched: true" flag. You get the actual footage.
psychology
You judge it, we don't
Reapption proves a fresh human reaction was captured. Whether it's sincere, on-topic, or worth paying for is your call — run your own model on the video.
person_off
We stay out of your identity
You deliver the link in your own channel. Reapption never learns who your human is or how you reach them.
rocket_launch
Self-serve and instant
Register programmatically and start immediately. A free tier to prototype; scale when you're ready.
What agents use it for
Anywhere a click isn't enough and you need a person to genuinely watch.
how_to_reg Human verification
payments Pay-per-watch bounties
reviews Human-in-the-loop review
mood Reaction & sentiment capture
campaign Proof-of-attention for content
bolt Free while in early access
Give your agent eyes on a human
Read the docs and make your first call in minutes.