Skip to main content

Overview

Interviews define the structure and content of phone interviews. You can create standard interviews with audio questions or questionnaire-type interviews with survey questions.

Create Interview

Create a new interview (supports standard and questionnaire types). Endpoint: POST /qsi/gather/interviews
curl -X POST https://api.prod.qualifi.hr/qsi/gather/interviews \
  -H "x-api-key: ${API_KEY}" \
  -H "Content-Type: application/json" \
  -d "{
    "title": "Software Engineer Interview",
    "displayName": "Software Engineer Interview",
    "interviewType": "standard",
    "questionIds": ["uuid1", "uuid2"]
  }'
{
  "title": "Software Engineer Interview",
  "displayName": "Software Engineer Interview",
  "interviewType": "standard",
  "description": "Technical interview for software engineering role",
  "language": "en",
  "questionIds": ["uuid1", "uuid2"]
}

Get Interview

Retrieve interview details including questions. Endpoint: GET /qsi/gather/interviews/{interviewId}
interviewId
string
required
UUID of the interview
{
  "data": {
    "id": "uuid",
    "title": "Software Engineer Interview",
    "displayName": "Software Engineer Interview",
    "interviewType": "standard",
    "status": "active",
    "description": "Technical interview for software engineering role",
    "language": "en",
    "questions": [
      {
        "id": "uuid",
        "title": "Tell me about yourself",
        "ordinal": 1
      }
    ],
    "createdAt": "2024-01-01T00:00:00Z",
    "updatedAt": "2024-01-01T00:00:00Z"
  },
  "meta": {
    "requestId": "uuid",
    "timestamp": "2024-01-01T00:00:00Z"
  }
}

List Interviews

List all interviews with pagination and filtering. Endpoint: GET /qsi/gather/interviews
page
number
Page number (default: 1)
limit
number
Items per page (default: 50, max: 100)
archived
boolean
Include archived interviews (default: false)
interviewType
string
Filter by type: "standard" or "questionnaire"
status
string
Filter by status: "active", "archived", etc.
{
  "data": [
    {
      "id": "uuid",
      "title": "Software Engineer Interview",
      "interviewType": "standard",
      "status": "active",
      "createdAt": "2024-01-01T00:00:00Z"
    }
  ],
  "meta": {
    "pagination": {
      "page": 1,
      "limit": 50,
      "total": 100,
      "totalPages": 2
    },
    "requestId": "uuid",
    "timestamp": "2024-01-01T00:00:00Z"
  }
}

Update Interview

Update interview properties (can add/remove questions). Endpoint: PATCH /qsi/gather/interviews/{interviewId}
interviewId
string
required
UUID of the interview to update
{
  "title": "Updated Interview Title",
  "questionIds": ["uuid1", "uuid2", "uuid3"]
}

Delete Interview

Archive an interview. Endpoint: DELETE /qsi/gather/interviews/{interviewId}
interviewId
string
required
UUID of the interview to archive
{
  "data": {
    "id": "uuid",
    "archivedAt": "2024-01-01T00:00:00Z",
    "status": "archived"
  },
  "meta": {
    "requestId": "uuid",
    "timestamp": "2024-01-01T00:00:00Z"
  }
}

Copy Interview

Copy an interview template to a different team (or the same team with a “(copy)” suffix). The copied interview includes all questions, survey questions, AI text questions, keywords (optional), score card templates, and AI interview configurations. Endpoint: POST /qsi/gather/interviews/{interviewId}/copy
interviewId
string
required
UUID of the interview to copy
curl -X POST https://api.prod.qualifi.hr/qsi/gather/interviews/{interviewId}/copy \
  -H "x-api-key: ${API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "teamId": "target-team-uuid",
    "copyKeywords": false
  }'
{
  "teamId": "target-team-uuid",
  "copyKeywords": false,
  "messageGroupId": "message-group-uuid"
}

Copy Behavior

Questions:
  • Different Team: Questions are copied as new questions in the target team
  • Same Team: Questions are reused (not duplicated)
Survey Questions:
  • Different Team: Survey questions are copied with all options and preferred options
  • Same Team: Survey questions are reused
AI Text Questions:
  • Different Team: AI text questions are copied as new questions
  • Same Team: AI text questions are reused
Keywords:
  • Only copied if copyKeywords: true
  • Creates new keyword associations for the copied interview
Score Card Templates:
  • All score card templates are copied to the new interview
AI Interview Configuration:
  • For AI interviews, a new Tavus persona is created
  • AI configuration is copied with the new persona ID
  • Original persona is not modified
MessageGroup:
  • If messageGroupId is provided, it will be used
  • If not provided, the default message group for the interview type will be used
When copying to the same team, the interview title will automatically have “(copy)” appended to avoid conflicts.

Interview Types

Standard Interviews

Standard interviews use audio questions that are played to candidates during phone calls.

Questionnaire Interviews

Questionnaire interviews use survey questions that candidates answer via web interface.
You can mix question types in standard interviews, but questionnaire-type interviews are specifically designed for survey-style questions.