# Respondent API ## Docs - [Quickstart](https://developers.respondent.io/docs/Getting-started/quickstart.md): Find needed resources and keep in touch. - [Requirements for Production Credentials](https://developers.respondent.io/docs/Getting-started/requirements-for-production-credentials.md) - [Staging environment](https://developers.respondent.io/docs/Getting-started/staging-environment.md): Learn and test in staging - [API FAQ](https://developers.respondent.io/docs/Guides/api-faq.md): Common questions and tips for maximizing your integration - [API vs Researcher Platform](https://developers.respondent.io/docs/Guides/api-vs-researcher-platform.md): Using the API and the Researcher Platform? This page is for you. - [Automated Researcher Emails](https://developers.respondent.io/docs/Guides/automated-emails.md): Overview of transactional emails sent by Respondent to researchers - [Defining Qualified Participants](https://developers.respondent.io/docs/Guides/b2b-participant-qualification-and-filters.md) - [Conditionals](https://developers.respondent.io/docs/Guides/conditional-and-dependency-reference.md): Learn what field are available based on different conditions - [Creating conversations](https://developers.respondent.io/docs/Messaging/creating-conversations.md): Putting together the pieces of a conversation - [Messaging Overview](https://developers.respondent.io/docs/Messaging/messaging-overview-copy.md): Streamlining communication between researchers and participants - [Audience Quotas](https://developers.respondent.io/docs/Projects/audience-quotas.md) - [NDAs](https://developers.respondent.io/docs/Projects/ndas.md): Require participants to sign an NDA before applying - [Create a project](https://developers.respondent.io/docs/Projects/project-creation-json.md): Putting project requirements to use - [Project deep dive](https://developers.respondent.io/docs/Projects/project-deep-dive.md): Creating more complex projects - [Project statuses](https://developers.respondent.io/docs/Projects/project-statuses.md): Manage project lifecycle from draft to close - [Projects overview](https://developers.respondent.io/docs/Projects/projects-overview.md): Recruiting the participants your researchers need - [Targeting audiences effectively](https://developers.respondent.io/docs/Projects/targeting-audiences-effectively.md): Configure filters and signals to reach the right participants - [URL Parameters for Project Link](https://developers.respondent.io/docs/Screener-responses/URL-Parameters-for-Project-Link.md): Identify participants arriving at your project or scheduling tool - [Collecting responses](https://developers.respondent.io/docs/Screener-responses/collecting-responses.md): This will outline how to surface participants to your researchers - [Multiple payments](https://developers.respondent.io/docs/Screener-responses/multiple-payments.md): Pay participants multiple times for multi-stage studies - [Scheduling](https://developers.respondent.io/docs/Screener-responses/scheduling.md): How to schedule for moderated projects - [Creating questions](https://developers.respondent.io/docs/Screener-responses/screener-creation.md): Understanding question and logic types to configure questions - [Screener overview](https://developers.respondent.io/docs/Screener-responses/screener-overview.md): Finding just the right participant for that study - [Applying skip logic](https://developers.respondent.io/docs/Screener-responses/skip-logic.md): Using logic options with radio and checkbox questions - [Response statuses](https://developers.respondent.io/docs/Screener-responses/working-with-responses.md): Understand participant statuses and the actions available at each stage - [Webhooks Overview](https://developers.respondent.io/docs/Webhooks/webhooks.md): Webhooks are available to send updates to a specified url for your organization when changes take place. - [Retrieve industry list](https://developers.respondent.io/industries/retrieve-industry-list.md): Retrieve the full list of industries used for B2B project targeting. Use the returned IDs when setting `targetProfessionalIndustries` on a project. **Note:** Industry IDs differ between staging and production — always fetch dynamically rather than hardcoding. - [Retrieve job title list](https://developers.respondent.io/job-titles/retrieve-job-title-list.md): Search and retrieve job titles used for B2B project targeting. Supports pagination — use `pageSize=50000` to fetch the full list. Use the returned IDs when setting `jobTitleIds` on a project. **Note:** IDs differ between staging and production. - [Retrieve lookup values](https://developers.respondent.io/lookups/retrieve-lookup-values.md): Retrieve all enumerated lookup values (age groups, education levels, genders, income brackets, and more). Use these values when configuring demographic targeting criteria on projects. - [Add participant to conversation](https://developers.respondent.io/messaging/add-participant-to-conversation.md): Add a participant to an existing conversation so they can receive and send messages. - [Create a conversation](https://developers.respondent.io/messaging/create-a-conversation.md): Create a new conversation linked to a specific project. You must create a conversation before sending messages to participants. - [Create a message](https://developers.respondent.io/messaging/create-a-message.md): Send a message within an existing conversation. The message is delivered to all participants in the conversation. - [Mark conversation as read](https://developers.respondent.io/messaging/mark-conversation-as-read.md): Mark all messages in a conversation as read for your organization. - [Remove participant from conversation](https://developers.respondent.io/messaging/remove-participant-from-conversation.md): Remove a participant from a conversation. They will no longer receive new messages in this thread. - [Retrieve all conversations](https://developers.respondent.io/messaging/retrieve-all-conversations.md): List all conversations for your organization, with optional filters by project or participant. - [Retrieve all messages](https://developers.respondent.io/messaging/retrieve-all-messages.md): List messages across conversations with optional filters for conversation, researcher, or date range. Supports pagination. - [Retrieve specific conversation](https://developers.respondent.io/messaging/retrieve-specific-conversation.md): Retrieve a single conversation by UID, including its participants and metadata. - [Retrieve specific message](https://developers.respondent.io/messaging/retrieve-specific-message.md): Retrieve a single message by its UID, including sender info and timestamps. - [Retrieve unread conversations](https://developers.respondent.io/messaging/retrieve-unread-conversations.md): Retrieve conversations that have unread messages. Use this to build inbox-style notification flows. - [Update a conversation](https://developers.respondent.io/messaging/update-a-conversation.md): Update a conversation's properties such as its title or metadata. - [View credit and incentive balance](https://developers.respondent.io/pricing/view-credit-and-incentive-balance.md): View your organization's current credit and incentive balance. Use this to check available funds before creating or publishing projects. - [Create test participant (Staging only)](https://developers.respondent.io/profiles/create-test-participant-staging-only.md): Create a test participant profile in the **staging environment only**. Use this to simulate screener responses and test your integration end-to-end without real participants. - [Retrieve participant profile](https://developers.respondent.io/profiles/retrieve-participant-profile.md): Retrieve a participant's profile including engagement history and available profile fields. Note: some demographic and professional fields are being deprecated — refer to the changelog for details. - [Close a project](https://developers.respondent.io/projects/close-a-project.md): Permanently close a project and stop all recruitment. **This action cannot be undone.** Ensure all participants have been paid before closing. - [Copy a project](https://developers.respondent.io/projects/copy-a-project.md): Duplicate an existing project as a new draft, including its screener questions and targeting configuration. Useful for running follow-up studies with similar criteria. - [Create a project](https://developers.respondent.io/projects/create-a-project.md): Create a new B2B or B2C research project. Projects start in **DRAFT** status — add screener questions and then call [Publish](/projects/publish-a-project) to go live. - [Delete a project](https://developers.respondent.io/projects/delete-a-project.md): Permanently delete a project. Only projects in **DRAFT** status can be deleted — published or closed projects cannot be removed. - [Generate title & description](https://developers.respondent.io/projects/generate-title-and-description.md): Generate AI-suggested titles and descriptions based on your project configuration. Returns multiple options to choose from. - [Pause a project](https://developers.respondent.io/projects/pause-a-project.md): Pause or unpause an active project. While paused, the project stops accepting new applicants but existing participants are unaffected. - [Publish a project](https://developers.respondent.io/projects/publish-a-project.md): Publish a draft project to make it live and begin collecting responses. The `publicDescription` field must be set before publishing. - [Retrieve a specific project](https://developers.respondent.io/projects/retrieve-a-specific-project.md): Retrieve full details for a single project, including configuration, targeting criteria, and current status. - [Retrieve all projects](https://developers.respondent.io/projects/retrieve-all-projects.md): List all projects in your organization. Closed projects are excluded by default — use the `status` filter to include them. - [Retrieve audience size estimate](https://developers.respondent.io/projects/retrieve-audience-size-estimate.md): Estimate how many participants in Respondent's panel match your project's targeting criteria. Use this to validate your audience configuration before publishing. - [Update a project](https://developers.respondent.io/projects/update-a-project.md): Update one or more fields on an existing project. Only the fields you include in the request body are modified — omitted fields are left unchanged. - [Upload NDA file](https://developers.respondent.io/projects/upload-nda-file.md): Upload an NDA file for participants to sign before accessing the study. Accepts PDF files via multipart/form-data. - [Create quota](https://developers.respondent.io/quotas/quotas/create-quota.md): Create audience quotas to control recruitment distribution by demographic criteria (e.g., age, gender, income). Quotas automatically stop recruitment for a segment once its target is met. - [Delete quota](https://developers.respondent.io/quotas/quotas/delete-quota.md): Remove all quota criteria from a project. Recruitment will no longer be limited by demographic segments. - [Retrieve quota](https://developers.respondent.io/quotas/quotas/retrieve-quota.md): Retrieve the current quota configuration for a project. Returns **204 No Content** if no quota has been set. - [Update quota](https://developers.respondent.io/quotas/quotas/update-quota.md): Update the quota criteria and target counts for a project. Only the fields you include are modified. - [Introduction](https://developers.respondent.io/reference/introduction-1.md): Get started with the Respondent Partner API - [Staging vs production](https://developers.respondent.io/reference/staging-vs-production.md) - [Create a screener question](https://developers.respondent.io/screener-questions/create-a-screener-question.md): Add a screener question to a project. Supports up to 40 questions per project. Available types: `radio`, `checkbox`, `singleLineTextbox`, `multiLineTextbox`, and `sliderScale`. - [Create multiple screener questions](https://developers.respondent.io/screener-questions/create-multiple-screener-questions.md): Add up to 40 screener questions in a single request. This replaces any existing questions — use it for initial screener setup rather than incremental additions. - [Delete screener question](https://developers.respondent.io/screener-questions/delete-screener-question.md): Remove a screener question from a project. Any existing responses to this question are preserved but the question will no longer be shown to new participants. - [Reorder screener questions](https://developers.respondent.io/screener-questions/reorder-screener-questions.md): Reorder screener questions to control the sequence in which they are presented to participants. - [Retrieve screener questions](https://developers.respondent.io/screener-questions/retrieve-screener-questions.md): List all screener questions for a project, returned in display order. - [Retrieve specific screener question](https://developers.respondent.io/screener-questions/retrieve-specific-screener-question.md): Retrieve a single screener question by ID, including its answer options and configuration. - [Update screener question](https://developers.respondent.io/screener-questions/update-screener-question.md): Update a screener question's text, type, or answer values. Only the fields you include are modified. - [Cancel booking](https://developers.respondent.io/screener-responses/cancel-booking.md): Cancel a participant's scheduled booking. The participant is not automatically re-invited — use [Cancel & Re-invite](/screener-responses/cancel-booking-&-re-invite) to do both in one step. - [Cancel booking & re-invite](https://developers.respondent.io/screener-responses/cancel-booking-&-re-invite.md): Cancel an existing booking and immediately re-invite the participant to reschedule. Combines two actions into a single API call. - [Cancel booking (participant request)](https://developers.respondent.io/screener-responses/cancel-booking-participant-request.md): Cancel a booking on behalf of a participant who has requested cancellation. Records the cancellation as participant-initiated. - [Cancel invite](https://developers.respondent.io/screener-responses/cancel-invite.md): Cancel a pending invitation before the participant has accepted or scheduled. The participant is returned to their previous qualified state. - [Hide participant](https://developers.respondent.io/screener-responses/hide-participant.md): Hide a participant from the default response list. Hidden participants can still be accessed by filtering explicitly. - [Invite participant](https://developers.respondent.io/screener-responses/invite-participant.md): Invite a qualified participant to your study. For unmoderated studies, provide a `meetingLink`. For moderated studies, provide a `bookingLink` so the participant can schedule a session. **Invitations cannot be undone.** - [List screener responses](https://developers.respondent.io/screener-responses/list-screener-responses.md): List all screener responses for a project with filtering and pagination. Use query parameters to filter by status, qualification state, or date range. - [Mark as attended](https://developers.respondent.io/screener-responses/mark-as-attended.md): Mark a participant as having attended the study session. **This triggers the incentive payment process** — ensure the session is complete before calling. - [Mark as favorite](https://developers.respondent.io/screener-responses/mark-as-favorite.md): Toggle a participant's favorite status. Favorited participants can be easily filtered when reviewing responses. - [Mark as no-show](https://developers.respondent.io/screener-responses/mark-as-no-show.md): Mark a participant as a no-show for their scheduled session. No payment is triggered and the booking slot is freed. - [Mark as rejected](https://developers.respondent.io/screener-responses/mark-as-rejected.md): Mark a participant as rejected for this project. The participant will not be paid and cannot be re-invited. - [Qualify participant](https://developers.respondent.io/screener-responses/qualify-participant.md): Qualify or disqualify a participant based on their screener responses. When disqualifying (`qualifyStatus: false`), include a reason code: `MISREPRESENTED`, `CONTEXT`, `SCREENER`, or `OTHER`. - [Report participant](https://developers.respondent.io/screener-responses/report-participant.md): Report a participant for policy violations or quality issues. The Respondent team will review the report and take appropriate action. - [Retrieve payout counts](https://developers.respondent.io/screener-responses/retrieve-payout-counts.md): Retrieve aggregated payout statistics for a project, including total paid, pending, and failed payment counts. - [Schedule participant](https://developers.respondent.io/screener-responses/schedule-participant.md): Schedule a participant for a moderated study session at a specific date and time. - [Trigger manual payout](https://developers.respondent.io/screener-responses/trigger-manual-payout.md): Trigger an immediate incentive payout to a participant. Use this for ad-hoc payments outside the standard attendance-based flow (e.g., bonus payments or partial compensation). - [View a specific response](https://developers.respondent.io/screener-responses/view-a-specific-response.md): Retrieve a single screener response including the participant's answers, profile data, and current status. - [Retrieve skill list](https://developers.respondent.io/skills/retrieve-skill-list.md): Search and retrieve skills used for project targeting. Use the returned IDs when configuring skill-based targeting on a project. **Note:** Skill IDs differ between staging and production. - [Invite multiple past participants](https://developers.respondent.io/team-respondents/invite-multiple-past-participants.md): Batch invite past participants to a new project. Send invitations to multiple participants in a single request for efficient re-engagement. - [Retrieve past participant profile](https://developers.respondent.io/team-respondents/retrieve-past-participant-profile.md): Retrieve a past participant's profile along with their engagement history across your organization's projects. - [Search past participants](https://developers.respondent.io/team-respondents/search-past-participants.md): Search across participants from your organization's previous projects. Filter by name, project, or engagement status to find candidates for new studies. - [Retrieve topics list](https://developers.respondent.io/topics/retrieve-topics-list.md): Search and retrieve topics used for B2C project targeting. Use the returned IDs when setting `topicIds` on a project. **Note:** Topic IDs differ between staging and production. - [Create webhook](https://developers.respondent.io/webhooks/create-webhook.md): Register a webhook URL for your organization to receive real-time event notifications. Only **one active webhook** is allowed per organization. Failed deliveries are retried up to 5 times at 10-minute intervals. - [Deactivate webhook](https://developers.respondent.io/webhooks/deactivate-webhook.md): Deactivate a webhook and permanently stop all event deliveries to its URL. You can register a new webhook afterward. - [Retrieve specific webhook](https://developers.respondent.io/webhooks/retrieve-specific-webhook.md): Retrieve a specific webhook by ID, including its URL, status, and configured event types. - [Retrieve webhook](https://developers.respondent.io/webhooks/retrieve-webhook.md): Retrieve the currently configured webhook for your organization. - [Retrieve webhook event types](https://developers.respondent.io/webhooks/retrieve-webhook-event-types.md): List all available webhook event types that can be delivered to your endpoint. Use this to understand which events you can subscribe to. - [Simulate webhook event](https://developers.respondent.io/webhooks/simulate-webhook-event.md): Send a simulated test event to your webhook URL. Use this to verify your handler is correctly receiving and processing webhook payloads before going live. ## OpenAPI Specs - [openapi](https://developers.respondent.io/api-reference/openapi.json) ## Optional - [Change Log](https://www.respondent.io/api-release-notes?released=changelog) - [Roadmap](https://www.respondent.io/api-release-notes?released=roadmap~b461b3f8)