Skip to main content
POST
JavaScript

Authorizations

Authorization
string
header
required

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

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-08-05-1"

Body

application/json
bounty_id
string
required

The bounty to submit to (bnty_ tag).

affiliate_code
string | null

Affiliate code crediting the referrer, when the worker arrived through one.

deliverable
object | null

The submitted work. Combine urls, file_ids, and caption freely; at least one link or file is required.

metadata
object | null

Optional capture metadata describing where and how the footage was recorded. Persisted on the submission. On a data_capture bounty every field except fov is required whenever metadata is provided.

Response

submission created with an inline deliverable

bounty_id
string
required

The bounty the work was submitted to, prefixed bnty_.

capture_clips
object[] | null
required
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.

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.

captured_duration_seconds
integer
required

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

city
string | null
required

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

content
string | null
required

Written proof the worker submitted with their work.

country
string | null
required

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

created_at
string
required

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

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:

"content_url"

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.

device
string | null
required

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

files
object[]
required
fov
integer | null
required

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

id
string
required

Submission ID, prefixed btys_.

operator
string | null
required

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

resolved_at
string | null
required

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

site
string | null
required

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

station
string | null
required

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

status
enum<string>
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.

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

"in_progress"

submitted_at
string | null
required

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

updated_at
string
required

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

worker
object
required

User who submitted the work.