Skip to main content
POST
Create the interview config

Authorizations

Authorization
string
header
required

API key authentication for the public API. Pass your API key as a Bearer token.

Path Parameters

job_id
string<uuid>
required

Body

application/json

Write shape for POST/PATCH /jobs/{job_id}/interview-config.

The field list is PINNED rather than inherited: the company serializer is free to grow, and every field it gains must be a deliberate public-API decision instead of appearing here on its own. DRF silently drops a field missing from this list rather than complaining, so the pin is enforced by test_write_serializer_field_set_is_pinned.

mode
enum<string>

Interview mode: web call, or phone call to the applicant. Cannot change once the job has interview sessions (409); the organization default config stays changeable. Omitted on create: defaults to the applied template's mode, else the organization default.

  • web - Web
  • phone - Phone
Available options:
web,
phone
max_retakes
integer

Maximum number of retakes allowed for the interview. 0 means no retakes allowed. In web mode candidates can start a retake themselves from the candidate portal; in phone mode a retake can only be triggered via the retake API endpoints and places a new outbound call.

Required range: 0 <= x <= 2147483647
require_camera
boolean

[Web only] Whether the candidate is required to have a camera for the interview.

prompt_intro
string

Script for the voice assistant to say at the beginning of the interview.

prompt_outro
string

Script for the voice assistant to say at the end of the interview.

prompt_additional_instructions
string

Additional instructions given to the voice assistant that guide its behavior during the interview.

organization_name_override
string

Override name of the organization used by the voice assistant. If not set, the organization name is used.

Maximum string length: 100
schedule_meeting
boolean

When enabled, candidates schedule a meeting with a human interviewer within the AI interview.

template_id
string<uuid> | null
write-only

Template to apply: copies its config values and generation prompts onto the config (later template edits never affect it); null detaches and resets the managed fields (on create, null simply means no template). Cannot be combined with mode (400), except null on create. Never starts generation - use the auto-setup endpoint.

Response

Read shape for GET /jobs/{job_id}/interview-config.

Adds the read-only resolved_* org-default fallback fields plus criteria_count/question_count/schedule that the company config serializer does not expose. job_id mirrors the job from the URL/FK.

The resolved_ prefix marks the effective value after org-default fallback, distinguishing it from the raw writable field it shadows (resolved_prompt_intro vs prompt_intro); dropping the prefix would collide with those fields.

id
string<uuid>
required
read-only
job_id
string<uuid>
required
read-only
mode
enum<string>
required

Mode of the interview. WEB: The interview will be conducted through a web interface where applicants have a web call. PHONE: TalentUnveiled will call the applicant's phone number and conduct the interview over the phone. Can no longer be changed once the job has interview sessions (a 409 is returned); the organization default config stays changeable.

  • web - Web
  • phone - Phone
Available options:
web,
phone
mode_locked
boolean
required
read-only

Whether the interview mode is locked. True once the job has interview sessions; changing mode then returns a 409.

max_retakes
integer
required
read-only

Maximum number of retakes allowed for the interview. 0 means no retakes allowed. In web mode candidates can start a retake themselves from the candidate portal; in phone mode a retake can only be triggered via the retake API endpoints and places a new outbound call.

require_camera
boolean
required
read-only

[Web only] Whether the candidate is required to have a camera for the interview.

prompt_intro
string
required
read-only

Script for the voice assistant to say at the beginning of the interview.

prompt_outro
string
required
read-only

Script for the voice assistant to say at the end of the interview.

prompt_additional_instructions
string
required
read-only

Additional instructions given to the voice assistant that guide its behavior during the interview.

organization_name_override
string
required
read-only

Override name of the organization used by the voice assistant. If not set, the organization name is used.

resolved_interviewer_name
string
required
read-only

Interviewer name after org-default fallback.

resolved_organization_name
string
required
read-only

Organization display name after override/org-default fallback.

resolved_prompt_intro
string
required
read-only

Interview intro prompt after org-default fallback.

estimated_duration_minutes
integer
required
read-only
schedule
object
required
criteria_count
integer
required
read-only
question_count
integer
required
read-only
template_id
string<uuid> | null
required
read-only

Interview template this config was set up from; null when none is applied.

template_source
enum<string>
required

How the template was assigned: manually picked by a recruiter, auto-selected by AI for an automatically created job, or none.

  • none - None
  • manual - Manual
  • auto - Auto
Available options:
none,
manual,
auto
template_name_snapshot
string
required
read-only

Name of the applied template at apply time. Survives template rename and deletion. Populated only while a template is applied; empty otherwise.

created_at
string<date-time>
required
read-only