Skip to main content
POST
Create Interviewer API
The Create Interviewer API allows you to programmatically create Interviewers with full interview configuration.
Rate limit: 5 requests per minute per API key. This limit is shared with the Update Interviewer API. Requests over the limit return 429 Too Many Requests.
Each API field maps to a step in the Create an AI Interviewer dashboard workflow. Use the table below to see which fields correspond to each step.

Dashboard field reference

Payload structure

string
required
Interviewer title. Must contain 1–255 characters.
string
required
Interviewer role. Must contain 1–255 characters.
string
required
Interviewer description, including responsibilities, requirements, and benefits.
string
required
Language code for the interview: english, hindi, spanish, french, chinese, german, italian, japanese, korean, portuguese, dutch, or ukrainian.
boolean
required
Whether video responses are required.
Days until the interview link expires. Minimum 1 and maximum 365.
The following message fields support template variables like {fullName}, {firstName}, {jobTitle}, and {jobRole}, which are automatically replaced during the interview.
string
required
Introduction message shown to Candidates. Must contain 1–1,000 characters.
string
required
Ice breaker question. Maximum 500 characters. You can omit this field.
string
required
Closing message shown to Candidates. Must contain 1–500 characters.
object
required
Configuration for manual, resume, and skills question sections.
string
Interview instructions.
string
default:"web_call"
web_call, phone_only, or both.
boolean
Whether a resume is required.
boolean
Whether a portfolio is required.
string
public or private.
boolean
Whether the Interviewer is visible to Candidates.
boolean
Whether the Interviewer is archived on creation.
number
Minimum years of experience.
number
Maximum years of experience.
string
full-time, part-time, or contract.
string
default:"remote"
remote or onsite. Onsite Interviewers require country, city, and zipcode.
string
Country. Required for onsite Interviewers.
string
City. Required for onsite Interviewers.
string
Postal code. Required for onsite Interviewers.
string
Additional Interviewer context. Maximum 200 words.
number
default:"10"
Duration in minutes. Minimum 10 and maximum 60.
boolean
default:"true"
Whether the interview requires a desktop device.
number
Number of retakes allowed. Minimum 0 and maximum 3.
object[]
Custom interview questions with evaluation criteria.
object[]
Screening questions shown before the interview.
object[]
Questions shown after the interview.
object[]
Interviewer tags for categorization. Maximum 25.
string
URL to an introduction video.
string
HTTP or HTTPS URL where Candidates are redirected after the interview.
object
Webhook destination and subscribed interview events.

Screening question fields

Each screeningQuestions item uses the following fields: Numeric comparisons are inclusive. For a range, expectedAnswer must be less than expectedAnswerMax.

Example request

Webhook configuration

Use webhookConfig to register a webhook destination when creating the Interviewer. Your account must have access to the Svix webhooks feature.
Both url and events are required when webhookConfig is supplied. Duplicate or unsupported events are rejected.

Response

The endpoint returns 201 Created with the Interviewer ID, title, and public link. When webhookConfig is supplied, it also returns the registered endpoint and signing secret.
Store the signing secret securely and use it to verify webhook signatures. The webhook property is omitted when no webhook configuration is supplied.
Best Practice: Use this endpoint to create Interviewers programmatically from your ATS or internal tools whenever a new position opens. You can then use the returned id in subsequent ingest-candidate API calls.