Create Bounty
Creates a bounty and escrows its reward pool. Publishes immediately, or as a scheduled draft when you set publish_at.
Authorizations
An Account API key, account-scoped JWT, App API key, or user OAuth token. Prepend the key or token with Bearer, for example Bearer ***************************.
Headers
A unique key that makes this request safe to retry. See Idempotent requests.
255"d9105228-4a08-46b1-8b91-42fed586d383"
Pins the request to a dated API version.
"2026-08-03"
Body
Full task instructions shown to workers.
Gross bounty-pool amount (USD) escrowed per accepted submission, in whole dollars. Platform fees and affiliate shares are paid from this amount.
Short name of the task shown to workers.
Number of submissions that can be accepted (winner slots). Defaults to 1. The escrowed total is gross_reward_amount times this limit and must be at least $5.
Account whose balance funds the bounty pool (biz_ tag). Defaults to the caller's personal balance. Requires permission to move the account's funds.
Countries whose residents can work the bounty, as ISO 3166 alpha-2 codes. Empty means worldwide.
What the poster wants the work to achieve, declared once here.
clipping, post_engagement, owned_account_growth, ugc_content, local_activation, data_capture, other "clipping"
Per-bounty overrides of the served capture contract. Only accepted when business_goal_type is data_capture; omitted fields keep the platform defaults, and the resulting contract is echoed back as capture_spec on the bounty.
Experience to host the bounty in (exp_ tag). Any visibility — public for an open bounty, private for an invited one. Required unless account_id is set, in which case the bounty anchors in that account's public forum.
How often the schedule creates a new bounty. Each occurrence is a separate bounty. Defaults to once; only applies with publish_at.
once, hourly, daily, weekly, monthly "weekly"
ISO 8601 time to publish the bounty. When set, the bounty is created as a hidden draft and funded + published at this time instead of immediately.
IANA timezone for recurring occurrences. Required when publish_at is set.
Response
bounty created
The deliverable shapes this bounty accepts. Every bounty accepts any combination of content_url (posted links) and media (uploaded files), except data_capture bounties, whose proof is clips recorded in the Whop app that accumulate on the attempt.
content_url, media, data_capture Submissions accepted so far.
Number of submissions that can be accepted (winner slots).
Countries whose residents can work the bounty, as ISO 3166 alpha-2 codes. Empty means worldwide.
Total gross budget committed to the bounty: gross_reward_amount times accepted_submissions_limit.
What the poster wants the work to achieve, declared once at create. null for bounties created before the taxonomy rolled out.
clipping, post_engagement, owned_account_growth, ugc_content, local_activation, data_capture, other, null "clipping"
When cancellation was requested, as an ISO 8601 timestamp. On a closed bounty this means the cancel is pending: submissions are stopped and the bounty cancels once in-flight submissions resolve. On a canceled bounty it records when the cancellation was requested. null when no cancellation was ever requested.
The technical contract footage must be recorded against. Present only on data_capture bounties; null for every other goal type.
When the bounty was created, as an ISO 8601 timestamp.
Currency for all amounts on the bounty, as a lowercase ISO 4217 code.
usd, sgd, inr, aud, brl, cad, dkk, eur, nok, gbp, sek, chf, hkd, huf, jpy, mxn, myr, pln, czk, nzd, aed, cop, ron, thb, bgn, idr, dop, php, try, krw, twd, vnd, pkr, clp, uyu, ars, zar, dzd, tnd, mad, kes, kwd, jod, all, xcd, amd, bsd, bhd, bob, bam, khr, crc, xof, egp, etb, gmd, ghs, gtq, gyd, ils, jmd, mop, mga, mur, mdl, mnt, nad, ngn, mkd, omr, pyg, pen, qar, rwf, sar, rsd, lkr, tzs, ttd, uzs, rub, cny, kzt, awg "usd"
Full task instructions shown to workers.
Experience the bounty is hosted in, prefixed exp_. null for platform-wide bounties; may belong to a different account than the funder.
Account whose balance funds the bounty pool, or null when a user funds it personally. May differ from the account hosting experience_id.
Gross amount paid out from the bounty pool across accepted submissions — worker payouts, platform fees, and affiliate shares together. Tips and reviewer rewards are excluded.
Gross bounty-pool amount allocated per accepted submission, in whole currency units.
Bounty ID, prefixed bnty_.
User who posted the bounty — the account owner when created with an account API key.
How often the schedule creates a new bounty. Each occurrence is a separate bounty; the original is not republished.
once, hourly, daily, weekly, monthly, null "once"
When a scheduled bounty will publish, as an ISO 8601 timestamp. null once published, for bounties that were never scheduled, and for terminally failed drafts parked for manual rescheduling.
Unfilled winner capacity: accepted_submissions_limit minus accepted_submissions_count, clamped to zero. Not a signal that the bounty currently accepts new claims.
Lifecycle state. scheduled bounties are unpublished drafts, visible to their poster and the account's authorized managers; open bounties accept new submissions; closed bounties are live but no longer accept new submissions; completed bounties paid out every winner slot; canceled bounties ended before filling their slots.
scheduled, open, closed, completed, canceled "scheduled"
When new submissions stopped being accepted, as an ISO 8601 timestamp. Set when a cancellation is requested on a bounty with work in flight, so in-flight submissions can resolve before the bounty cancels. null when submissions were never stopped — including completed bounties that simply filled every winner slot.
Short name of the task shown to workers.
Submissions still awaiting an outcome: in progress or pending review.
When the bounty was last updated, as an ISO 8601 timestamp.

