Overview
The Gather API supports three types of questions, each designed for different interview formats:- Audio Questions - Questions with text scripts that can be automatically converted to audio using text-to-speech (TTS) technology. These are used in standard video interviews where candidates record video responses to audio prompts.
- Survey Questions - Multiple choice, yes/no, thumbs up/down, or free text questions used for screening and questionnaires. These can be added to interviews or used in standalone surveys. Perfect for pre-screening candidates or gathering structured feedback.
- AI Text Questions - Text-based questions used in AI-powered interviews where candidates provide written responses that are evaluated by AI. Ideal for technical assessments and written evaluations.
Audio Questions
Audio questions are the building blocks of standard video interviews. You can create questions with text scripts that can be automatically converted to audio using text-to-speech (TTS) technology.Create Audio Question
Create a new audio question with optional TTS audio generation. Endpoint:POST /qsi/gather/questions
- cURL
- JavaScript
- Python
The
userId field is optional. If not provided, it will be resolved from your API credential. If you need to specify a different user as the creator, provide the userId field.Audio Source: You must provide either:
audioURL(pre-recorded audio), ORquestionScript+narratorId(for automatic TTS generation)
audioURL and questionScript - if audioURL is provided, it will be used and questionScript/narratorId will be ignored.List Audio Questions
List all audio questions with pagination and filtering. Endpoint:GET /qsi/gather/questions
number
Page number (0-indexed, default: 0)
number
Items per page (default: 50, max: 100)
boolean
Filter by archived status (true, false, or omit for all)
string
Search term to filter by title/description
string
Optional override for team ID. If not provided, will be resolved from your API credential (teamId or defaultTeamId). Required if using an organization-level API key without a defaultTeamId.
- cURL
- JavaScript
- Python
Get Audio Question
Retrieve a specific audio question by ID. Endpoint:GET /qsi/gather/questions/{questionId}
string
required
UUID of the question to retrieve
string
Optional override for team ID. If not provided, will be resolved from your API credential (teamId or defaultTeamId). Required if using an organization-level API key without a defaultTeamId.
- cURL
- JavaScript
- Python
Update Audio Question
Update audio question properties. Only include fields you want to update. Endpoint:PATCH /qsi/gather/questions/{questionId}
string
required
UUID of the question to update
Archive Audio Question
Archive an audio question (soft delete). Endpoint:DELETE /qsi/gather/questions/{questionId}
string
required
UUID of the question to archive
string
User ID for the archive action. If not provided, will be resolved from API credential.
Survey Questions
Survey questions are used for screening and questionnaires. They support multiple question types including multiple choice, yes/no, thumbs up/down, and free text.Survey Question Types
The following question types are supported:FREE_TEXT- Free text response with optional character limit. UsemaxCharacterLengthto set limits.YES_NO- Yes/No question with optional preferred option. UsepreferredOptionto mark the preferred answer.THUMBS_UP_DOWN- Thumbs up/down question. Requiresoptionsarray with two options.MULTIPLE_CHOICE- Single answer multiple choice question. Requiresoptionsarray.MULTIPLE_CHOICE_WEIGHTED- Multiple choice with weighted scoring. Requiresoptionsarray with weights.MULTIPLE_CHOICE_MULTIPLE_ANSWER- Multiple choice allowing multiple selections. Requiresoptionsarray. UseselectAllForFullScoreto require all options for full score.
Create Survey Question
Create a new survey question. Endpoint:POST /qsi/gather/survey-questions
- Free Text Question
- Yes/No Question
- Multiple Choice Question
- Thumbs Up/Down
- Weighted Multiple Choice
- Multiple Answer
List Survey Questions
List survey questions with pagination and filtering. Endpoint:GET /qsi/gather/survey-questions
number
Page number (0-indexed, default: 0)
number
Items per page (default: 50, max: 100)
string
Search term to filter by title (case-insensitive)
boolean
Filter by archived status (true, false, or omit for all)
string
Optional override for team ID. If not provided, will be resolved from your API credential (teamId or defaultTeamId). Required if using an organization-level API key without a defaultTeamId.
- cURL
- JavaScript
- Python
Get Survey Question
Retrieve a specific survey question by ID. Endpoint:GET /qsi/gather/survey-questions/{surveyQuestionId}
string
required
UUID of the survey question to retrieve
string
Optional override for team ID. If not provided, will be resolved from your API credential (teamId or defaultTeamId). Required if using an organization-level API key without a defaultTeamId.
Update Survey Question
Update survey question properties. Only include fields you want to update. Endpoint:PATCH /qsi/gather/survey-questions/{surveyQuestionId}
string
required
UUID of the survey question to update
Archive Survey Question
Archive a survey question (soft delete). Endpoint:DELETE /qsi/gather/survey-questions/{surveyQuestionId}
string
required
UUID of the survey question to archive
string
User ID for the archive action. If not provided, will be resolved from API credential.
AI Text Questions
AI text questions are used in AI-powered interviews where candidates provide written responses that are evaluated by AI.Create AI Text Question
Create a new AI text question. Endpoint:POST /qsi/gather/ai-text-questions
- cURL
- JavaScript
- Python
List AI Text Questions
List AI text questions with pagination and filtering. Endpoint:GET /qsi/gather/ai-text-questions
number
Page number (0-indexed, default: 0)
number
Items per page (default: 50, max: 100)
string
Search term to filter by title
boolean
Filter by archived status (true, false, or omit for all)
string
Optional override for team ID. If not provided, will be resolved from your API credential (teamId or defaultTeamId). Required if using an organization-level API key without a defaultTeamId.
- cURL
- JavaScript
- Python
Get AI Text Question
Retrieve a specific AI text question by ID. Endpoint:GET /qsi/gather/ai-text-questions/{aiTextQuestionId}
string
required
UUID of the AI text question to retrieve
string
Optional override for team ID. If not provided, will be resolved from your API credential (teamId or defaultTeamId). Required if using an organization-level API key without a defaultTeamId.
Update AI Text Question
Update AI text question properties. Only include fields you want to update. Endpoint:PATCH /qsi/gather/ai-text-questions/{aiTextQuestionId}
string
required
UUID of the AI text question to update
Archive AI Text Question
Archive an AI text question (soft delete). Endpoint:DELETE /qsi/gather/ai-text-questions/{aiTextQuestionId}
string
required
UUID of the AI text question to archive
string
User ID for the archive action. If not provided, will be resolved from API credential.
Unarchive AI Text Question
Unarchive a previously archived AI text question. Endpoint:POST /qsi/gather/ai-text-questions/{aiTextQuestionId}/unarchive
string
required
UUID of the AI text question to unarchive
Get Questions by Interview
Retrieve all questions (audio questions, survey questions, and AI text questions) associated with a specific interview, sorted by ordinal. Endpoint:GET /qsi/gather/questions/interview/{interviewId}
string
required
UUID of the interview
string
Optional override for team ID. If not provided, will be resolved from your API credential (teamId or defaultTeamId). Required if using an organization-level API key without a defaultTeamId.
- cURL
- JavaScript
- Python
Returns all question types (audio questions, survey questions, and AI text questions) associated with the interview. Questions are sorted by ordinal. Audio URLs are automatically converted to MP3 format. Survey questions and AI text questions will have
audioType: null and audioURL: null.Audio Generation
Audio questions support text-to-speech (TTS) audio generation:- TTS Providers: WellSaid or current TTS model
- Async Processing: Audio generation happens asynchronously
- Webhook Notifications: Use webhooks to be notified when audio generation completes
- Pre-uploaded Audio: Alternatively, provide your own
audioURL
When
questionScript is provided with narratorId, the question is created immediately, but audioURL may be null until generation completes. Check the transcriptionStatus field to monitor generation progress.Related Resources
Interviews
Learn how to use questions in interviews
Narrators
Explore available narrators for TTS

