Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.humanly.io/llms.txt

Use this file to discover all available pages before exploring further.

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": "john.doe@example.com",
    "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

Sending Invites

Learn more about sending invites via email and SMS

Handling Webhooks

Set up webhooks to be notified when interviews are completed

API Reference

Explore all available endpoints

Best Practices

Review best practices for API usage

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.