---
title: "Start Interview"
method: POST
path: "/v1/interviews/{interview_id}/start"
tags: ["interviews"]
---

# Start Interview

`POST /v1/interviews/{interview_id}/start`

Launch a campaign: validate, mark active, and send or schedule invitations.

Invitations go out on the campaign's channel: `in_app_chat` emails each
contact a personal interview link, `slack` sends a Slack DM (email
fallback), `teams` sends a Microsoft Teams chat message (email fallback).
Participants self-schedule. Legacy `google_meet` campaigns still create
Google Calendar events with Meet links.

Campaigns with `start_immediately=false` and a future `timeframe_start`
do NOT send invitations at launch — a job sends them when the campaign
opens (date-only starts resolve to 08:00 in the campaign's timezone).
`timeframe_end` is a soft response deadline shown to participants; it
never blocks late responses.

Validation (goal length, at least one contact, at least one question,
Slack connection + reachable contacts for Slack campaigns) runs first;
on failure the campaign stays in draft.

## Path parameters

- `interview_id` string, uuid, required

## Headers

- `X-API-Key` string, nullable

## Response `200`

Successful Response

- StartInterviewResponse
  - `interview` InterviewOut, required
    - `id` string, uuid, required
    - `workspace_id` string, uuid, required
    - `is_shared` boolean
    - `shared_from_workspace_name` string, nullable
    - `share_scope` string
    - `share_link_enabled` boolean
    - `join_link_delivery` boolean
    - `name` string, required
    - `description` string, nullable, required
    - `goal` string, nullable, required
    - `agent_behavior` string, nullable, required
    - `status` string, required
    - `channel` string, required
    - `completion_threshold` integer, required
    - `timeframe_start` string, date-time, nullable, required
    - `timeframe_end` string, date-time, nullable, required
    - `interview_order` string, required
    - `interview_duration_minutes` integer, required
    - `timezone` string, nullable
    - `start_immediately` boolean
    - `scheduling_mode` string
    - `quick_mode_hours` integer, nullable
    - `weekly_availability` object, nullable
    - `project_context` string, nullable
    - `success_criteria` string, nullable
    - `interview_context_for_employee` string, nullable
    - `invitation_email_message` string, nullable
    - `teams_invitation_message` string, nullable
    - `agent_profile_id` string, uuid, nullable
    - `agent_profile_snapshot` object, nullable
    - `draft_guide` unknown[], nullable
      - unknown
    - `interview_type` string, nullable
    - `default_language` string, nullable
    - `voice_id` string, nullable
    - `voice_provider` string, nullable
    - `voice_language` string, nullable
    - `voice_speed` number
    - `participant_voice_selection_enabled` boolean
    - `participant_mode_selection_enabled` boolean
    - `participant_language_selection_enabled` boolean
    - `participant_selectable_languages` string[]
    - `participant_anonymity_selection_enabled` boolean
    - `participant_review_enabled` boolean
    - `result_summary_enabled` boolean
    - `result_summary_recipient_count` integer
    - `welcome_screen` string, nullable
    - `closing_message` string, nullable
    - `folder` string, nullable
    - `recurring_interval` string, nullable
    - `followup_enabled` boolean
    - `followup_strategy` string, nullable
    - `followup_intervals_hours` integer[], nullable
    - `followup_deadline_days` integer[], nullable
    - `followup_message` string, nullable
    - `report_floor_count` integer, nullable
    - `incremental_update_every_n` integer, nullable
    - `use_agentic_synthesis` boolean
    - `is_anonymous` boolean
    - `anonymity_level` string
    - `contact_count` integer
    - `completed_count` integer
    - `scheduled_count` integer
    - `created_by` string, nullable, required
    - `created_by_email` string, nullable
    - `created_by_name` string, nullable
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `scheduled_count` integer, required
  - `message` string, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/ontora/apis/ontora-api.md) · [All operations](https://skmtc.dev/ontora/apis/ontora-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ontora/ontora-api/revisions/7f57037fd94b/schema)
