Skip to main content
POST
TypeScript

Authorizations

Authorization
string
header
required

A user OAuth token. Prepend the key or token with Bearer, for example Bearer ***************************. See Auth & API keys for how to get each one.

Headers

Idempotency-Key
string

A unique key that makes this request safe to retry. See Idempotent requests.

Maximum string length: 255
Example:

"d9105228-4a08-46b1-8b91-42fed586d383"

Api-Version-Date
string

Pins the request to a dated API version.

Example:

"2026-10-29-8"

Path Parameters

id
string
required

The claimed attempt to submit for review (btys_ tag).

Body

application/json
deliverable
object | null

Work to attach to a livestream attempt. Combine urls, file_ids, and caption freely; all are optional. If the attempt already went to review when its stream ended, the deliverable attaches to it once, until reviewers start voting. Data capture attempts take no deliverable.

Response

attempt submitted for review

bounty_id
string
required

The bounty the work was submitted to, prefixed bnty_.

Example:

"bnty_xxxxxxxxxxxxxx"

capture_clips
object[] | null
required
Example:

null

capture_filename
string | null
required

The vendor filename stem Country_City_Site_Station_Operator, derived from the capture metadata. null until every component is present.

Example:

"US_Austin_BurnetRd_Bay2_mwebb"

captured_clip_count
integer
required

Number of verified capture clips accepted for this submission so far. 0 for submissions whose deliverable doesn't accumulate clips.

Example:

0

captured_duration_seconds
integer
required

Total verified duration of accepted capture clips, in whole seconds. 0 for submissions whose deliverable doesn't accumulate clips.

Example:

0

city
string | null
required

Capture metadata: city the footage was recorded in. null unless capture metadata was provided.

Example:

"Austin"

claimed_at
string | null
required

When the worker claimed the submission, as an ISO 8601 timestamp.

Example:

"2026-01-01T12:00:00.000Z"

content
string | null
required

Written proof the worker submitted with their work.

Example:

"Ceramic coating reveal, shot at the Burnet Rd bay"

country
string | null
required

Capture metadata: country the footage was recorded in. null unless capture metadata was provided.

Example:

"US"

created_at
string
required

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

Example:

"2026-01-01T12:00:00.000Z"

deliverable_type
enum<string> | null
required

How the work arrived when it came in through the API in one shot, informational only — read the work from deliverable_urls, files, and capture_clips directly. null for submissions whose proof is a livestream recording, including ones that attached links or files on submit.

Available options:
content_url,
media,
data_capture,
null
Example:

"media"

deliverable_urls
string[] | null
required

Links submitted as work, followed by temporary download URLs for the uploaded files. null when the submission carries neither.

denial_reason
string | null
required

Why the submission was denied, when a presentable reason exists. Always null unless status is denied.

Example:

"The clip never shows the finished paint."

device
string | null
required

Capture metadata: device the footage was recorded on. null unless capture metadata was provided.

Example:

"iPhone 15 Pro"

files
object[]
required
fov
integer | null
required

Capture metadata: horizontal field of view in degrees. null when not reported.

Example:

120

id
string
required

Submission ID, prefixed btys_.

Example:

"btys_xxxxxxxxxxxxxx"

latest_proof_livestream_feed
object | null
required

Latest public proof livestream attached to the submission.

operator
string | null
required

Capture metadata: identifier of the person who recorded the footage. null unless capture metadata was provided.

Example:

"mwebb"

resolved_at
string | null
required

When the submission was approved or denied, as an ISO 8601 timestamp. null until then.

Example:

"2026-01-01T12:00:00.000Z"

site
string | null
required

Capture metadata: site or venue the footage was recorded at. null unless capture metadata was provided.

Example:

"BurnetRd"

station
string | null
required

Capture metadata: station or position within the site. null unless capture metadata was provided.

Example:

"Bay2"

status
enum<string> | null
required

Lifecycle state. in_progress submissions are active attempts that have not submitted proof yet; submitted submissions await review; approved submissions were accepted and paid; denied submissions were rejected. null when the attempt ended without proof, taking it out of the public lifecycle — those attempts are absent from every public list and read.

Available options:
in_progress,
submitted,
approved,
denied,
null
Example:

"submitted"

submitted_at
string | null
required

When proof was submitted for review, as an ISO 8601 timestamp. null while the attempt is in progress.

Example:

"2026-01-01T12:00:00.000Z"

updated_at
string
required

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

Example:

"2026-01-01T12:00:00.000Z"

worker
object
required

User who submitted the work.