Skip to main content
POST
Estimate Panel

Authorizations

Authorization
string
header
required

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

Headers

X-UI-Organization-ID
string | null

Choose an organization you belong to for scoped reads, writes, and billing. Users can belong to multiple organizations. Platform administrators may select any organization in this app.

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