Skip to main content

Overview

This guide walks you through creating your first interview using the Gather API, from creating questions to sending invites to candidates.
1

Create your first question

Start by creating a question with text-to-speech audio generation:
curl -X POST https://api.prod.qualifi.hr/qsi/gather/questions \
  -H "x-api-key: ${API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "userId": "user-uuid",
    "title": "Tell me about yourself",
    "questionScript": "Tell me about yourself and your background.",
    "audioURL": "https://example.com/audio/question1.mp3"
  }'
Save the question ID from the response. You’ll need it when creating the interview.
2

Create additional questions

Create a few more questions for your interview:
{
  "userId": "user-uuid",
  "title": "Why are you interested in this role?",
  "questionScript": "Why are you interested in this position?",
  "audioURL": "https://example.com/audio/question2.mp3"
}
{
  "userId": "user-uuid",
  "title": "What are your strengths?",
  "questionScript": "What do you consider to be your greatest strengths?",
  "audioURL": "https://example.com/audio/question3.mp3"
}
Keep track of all question IDs.
3

Create the interview

Create an interview with your questions:
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": ["question-id-1", "question-id-2", "question-id-3"]
  }'
4

Create a candidate

Create a candidate to invite:
curl -X POST https://api.prod.qualifi.hr/qsi/gather/candidates \
  -H "x-api-key: ${API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "firstName": "John",
    "lastName": "Doe",
    "email": "[email protected]",
    "phone": "+1234567890"
  }'
5

Send the interview invite

Create a candidate interview and send the invite:
curl -X POST https://api.prod.qualifi.hr/qsi/gather/candidate-interviews \
  -H "x-api-key: ${API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "candidateId": "candidate-id",
    "interviewId": "interview-id",
    "sendInvite": true,
    "deliveryTypes": ["email"]
  }'
The candidate will receive an email invite with a link to start the interview!

Next Steps

Common Issues

Audio generation is asynchronous. Check the question’s transcriptionStatus field or set up a webhook for question.audio_generated events.
Verify the candidate’s email address is correct and check spam folders. Ensure sendInvite is set to true and deliveryTypes includes "email".
Phone numbers must be in E.164 format (e.g., +1234567890). Include country code.