Skip to main content
POST
Create Bounty

Authorizations

Authorization
string
header
required

A company API key, company scoped JWT, app API key, or user OAuth token. You must prepend your key/token with the word 'Bearer', which will look like Bearer ***************************

Headers

Api-Version-Date
string

Pins the request to a dated API version.

Example:

"2026-07-08-1"

Body

application/json
description
string
required

Full task instructions shown to workers.

gross_reward_amount
number
required

Gross bounty-pool amount (USD) escrowed per accepted submission, in whole dollars. Platform fees and affiliate shares are paid from this amount.

title
string
required

Short name of the task shown to workers.

accepted_submissions_limit
integer | null

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_id
string | null

Account whose balance funds the bounty pool (biz_ tag). Defaults to the caller's personal balance. Requires permission to move the account's funds.

allowed_country_codes
string[] | null

Countries whose residents can work the bounty, as ISO 3166 alpha-2 codes. Empty means worldwide.

business_goal_type
enum<string>

What the poster wants the work to achieve.

Available options:
clipping,
post_engagement,
owned_account_growth,
ugc_content,
local_activation,
other
Example:

"clipping"

experience_id
string | null

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.

frequency
enum<string>

How often a scheduled bounty republishes. Defaults to once. Only applies with publish_at.

Available options:
once,
hourly,
daily,
weekly,
monthly
Example:

"weekly"

publish_at
string | null

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.

publish_at_timezone
string | null

IANA timezone for recurring occurrences. Required when publish_at is set.

Response

bounty created

accepted_submissions_count
integer
required

Submissions accepted so far.

accepted_submissions_limit
integer
required

Number of submissions that can be accepted (winner slots).

allowed_country_codes
string[]
required

Countries whose residents can work the bounty, as ISO 3166 alpha-2 codes. Empty means worldwide.

budget_amount
number
required

Total gross budget committed to the bounty: gross_reward_amount times accepted_submissions_limit.

business_goal_type
enum<string> | null
required

What the poster wants the work to achieve.

Available options:
clipping,
post_engagement,
owned_account_growth,
ugc_content,
local_activation,
other,
null
Example:

"clipping"

created_at
string
required

When the bounty was created, as an ISO 8601 timestamp.

currency
enum<string>
required

Currency for all amounts on the bounty, as a lowercase ISO 4217 code.

Available options:
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
Example:

"usd"

description
string
required

Full task instructions shown to workers.

experience_id
string | null
required

Experience the bounty is hosted in, prefixed exp_. Null for platform-wide bounties; may belong to a different account than the funder.

funding_account
object | null
required

The account whose balance funds the bounty pool, or null when a user funds it personally. May differ from the account hosting experience_id.

gross_paid_out_amount
number
required

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_reward_amount
number
required

Gross bounty-pool amount allocated per accepted submission, in whole currency units.

id
string
required

Bounty ID, prefixed bnty_.

poster
object
required

The user who posted the bounty.

scheduled_frequency
enum<string> | null
required

How often the schedule creates a new bounty. Each occurrence is a separate bounty; the original is not republished.

Available options:
once,
hourly,
daily,
weekly,
monthly,
null
Example:

"once"

scheduled_publish_at
string | null
required

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.

spots_remaining
integer
required

Unfilled winner capacity: accepted_submissions_limit minus accepted_submissions_count, clamped to zero. Not a signal that the bounty currently accepts new claims.

status
enum<string>
required

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.

Available options:
scheduled,
open,
closed,
completed,
canceled
Example:

"scheduled"

submissions_closed_at
string | null
required

When new submissions were explicitly stopped, as an ISO 8601 timestamp. Null when submissions were never explicitly stopped — including closed or completed bounties that simply filled every winner slot.

title
string
required

Short name of the task shown to workers.

unresolved_submissions_count
integer
required

Submissions still awaiting an outcome: in progress or pending review.

updated_at
string
required

When the bounty was last updated, as an ISO 8601 timestamp.