Skip to main content
POST

Authorizations

Authorization
string
header
required

Authenticate with an API key (prefixed ui_sk_) or a JWT token from the dashboard.

Headers

Idempotency-Key
string | null
X-UI-Organization-ID
string | null

Platform admins only: choose an organization for scoped reads and writes. Required to change another organization's study or use its wallet.

Maximum string length: 128

Path Parameters

study_id
string
required

Body

application/json

Field a paid panel for a Panel-type study. The interview language is taken from the study (not set here).

target
integer
required

Target number of completed responses (maximum 1,000 for direct launch; request feasibility for larger studies)

Required range: x <= 1000
incident_rate
number
required

Expected audience incidence rate as percentage points (10 means 10%). Rates below 10% require a feasibility request.

Required range: 0 <= x <= 100
country_code
enum<string>
required

Target country (one of the supported countries). Required for every public Panel estimate and launch; no country is inferred.

Available options:
AR,
AU,
AT,
BE,
BO,
BR,
CA,
CL,
CN,
CO,
CR,
CZ,
DK,
DO,
EC,
EG,
FI,
FR,
DE,
GR,
HK,
HU,
IN,
ID,
IE,
IT,
JP,
KE,
KR,
LU,
MY,
MX,
NL,
NZ,
NG,
NO,
PK,
PE,
PH,
PL,
PT,
RO,
RU,
SA,
SG,
SK,
ZA,
ES,
SE,
CH,
TW,
TH,
TR,
UG,
AE,
GB,
US,
VN
frequency
enum<string>
default:one-time

Recurring schedule, or one-time.

Available options:
one-time,
weekly,
monthly,
quarterly
targeting_attributes
PublicPanelTargetingAttribute · object[]

Optional launch-specific targets for single-select panel attributes. Each target must be a positive whole number; per-attribute totals may not exceed target; and an under-filled attribute must leave an option open.

dry_run
boolean
default:false

Return a cost estimate without provisioning the panel

estimate_id
string | null

Short-lived estimate identifier required for a paid launch; obtain it from estimatePanel

Response

Successful Response

Either a launch acknowledgement (study_id + panel_status) or, for dry_run, a cost + timeline estimate.

study_id
string | null
panel_status
string | null
dry_run
boolean | null
target
integer | null
country_code
string | null

Resolved ISO country code used for the estimate or launch.

language_code
string | null

Resolved lowercase panel language code used for the estimate or launch.

estimated_total_cost_per_interview_usd
number | null

Per-interview cost in USD (interview credit cost + participant reward).

estimated_total_cost_usd
number | null

Total estimated cost in USD (per-interview × target).

estimated_timeline_hours
integer | null

Heuristic time to complete, in whole hours (rounded up); audience and country may change actual timing.

credit_cost_per_interview
number | null
total_credit_cost
number | null
available_credit_balance
number | null
credit_deficit
number | null
sufficient_credits
boolean | null
reward_per_interview_usd
number | null
card_hold_usd
number | null
frequency
enum<string> | null

Estimate applies to one cycle of this recurrence; later cycles may be repriced.

Available options:
one-time,
weekly,
monthly,
quarterly
assumptions
string[]
estimate_id
string | null

Fingerprint of the study version, launch inputs, and current estimated price

expires_at
string<date-time> | null

Estimate expiry; request a new estimate after this time