> ## Documentation Index
> Fetch the complete documentation index at: https://docs.userintuition.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Panel targeting quotas

> Set fixed interview targets for selected panel attribute options while leaving remaining capacity open

Panel targeting quotas let you reserve part or all of a panel launch for specific answers to eligible single-select targeting attributes. You can preview them with either:

* `POST /api/public/v1/studies/{study_id}/launch-panel`
* `POST /api/public/v1/studies/create-and-launch-panel`

## Find attribute and option IDs

Call `GET /api/public/v1/targeting-attributes/` before building the launch request. Use each catalog row's `qualification_id` and the `option_id` values from its `options` array.

For an existing study, the targeted qualification must already be configured in the study's `targeting_attributes`. With `create-and-launch-panel`, configure the qualification in `study.targeting_attributes` and put its launch quotas in `panel.targeting_attributes`. This combined endpoint is for dry-run estimates only. To recruit, create the study, obtain its current estimate, and launch it with that estimate ID after approval.

## Request formats

The request pages contain selectable, copyable examples beside the request-body schema:

* [Launch Panel](/api-reference/public-studies/launch-panel) includes an untargeted cost estimate, the playground-safe array form, the equivalent object-map form, and a paid launch.
* [Create Study and Launch Panel](/api-reference/public-studies/create-study-and-launch-panel) includes a targeted dry run. Paid recruitment uses the separate Launch Panel endpoint with a current estimate ID.

In the playground-safe array form, add one `{ option_id, target }` item for every fixed target. Direct API clients may instead send `option_targets` as an object whose keys are option IDs and values are fixed interview counts. Both forms have identical behavior. Options omitted from either form remain **Open** and share the panel capacity left after fixed targets.

## Validation rules

* Only eligible single-select attributes and the panel age attribute can have launch targets.
* The attribute must have at least two qualifying options.
* Every option target must be a positive whole number.
* Targets for one attribute cannot add up to more than the panel's `target`.
* If the configured targets add up to less than the panel target, at least one qualifying option must be omitted from `option_targets` and left Open.
* The array format cannot contain the same `option_id` more than once.
* A fully specified distribution is valid when its option targets add up exactly to the panel target.
* Unknown or disqualifying option IDs are rejected.
* Each `qualification_id` can appear only once in a launch request.

<Note>
  A dry run validates targeting quotas with the same rules as a real launch, without creating a study or panel.
</Note>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.