Read tools
Read tools are always safe: they look things up and never change anything.Write tools
Write tools create or modify records. All five use the same safety handshake that’s enforced by the server: the first call returns a plain-language preview of the pending change and applies nothing; the change executes only when it’s confirmed. There are no delete operations.Need to know
- Everything runs with your permissions. If you can’t see or edit something in the Research Desk UI, your assistant can’t either.
- One country, one language per survey. For multi-market studies, create a survey per market like you would in the UI or API.
- Quotas control fielding, not the
respondentscount. The respondent target is informational; the quota caps are what actually govern who qualifies and how many complete. - Targeting IDs are country-specific. Qualification and answer-option IDs differ by country and must come from
list_qualificationsfor the market you’re targeting. There are no ranges — ages 18–21 are[18, 19, 20, 21], never"18-21". - Set the entry link explicitly. The survey
entry_linkmust be your real survey URL and must contain the[%RDUD%]variable, which Research Desk replaces with a unique respondent ID for tracking and reconciliation. - Quota updates replace the whole set. When updating a survey’s quotas, the list you send becomes the survey’s quota set and quotas left out are removed. Always send the complete intended set.
- Only completes are reconciled. Completes are billable by default. Any complete you don’t reject before the deadline is auto-accepted and billed. See the Reconciliation guide for the full process.
- Reconciliation closes at the end of the following month. You can reconcile a complete until the last day of the month after the month it completed (for example, a December complete can be reconciled through January 31). Unprocessed completes are auto-accepted the next day, and changes after the deadline are blocked.
- You can change a decision before the deadline. Re-run
update_responsewith the other outcome to switch a complete betweenAcceptedandRejected. Moving a complete back to Unprocessed (Clear) is only available in the Research Desk UI. - Reconciliation is one response per call.
update_responseaccepts or rejects a single RDUD, and each one gets its own preview and confirmation. For large reconciliation files, use the Demand API or Research Desk UI. - Reconciliation is asynchronous. A confirmed
update_responseis queued, not applied instantly, solist_responsesmay show the old reconciliation status for a short time. - Response lists are paginated.
list_responsesreturns 50 responses per page by default. Valid response and reconciliation statuses come fromlist_definitions.
