Skip to main content

Get Started in 5 Minutes

This guide will walk you through making your first API request to the Gather API.
1

Get your API key

Contact your Qualifi administrator to obtain your API key (prefixed with qapi_).
API credentials are created via Eucalyptus (internal admin tool). If you don’t have access, contact your Qualifi administrator.
2

Set up authentication

Configure your HTTP client with the x-api-key header. Simply include your API key in the header:
x-api-key: your-api-key-here
# Set your API key
API_KEY="qapi_your-api-key-here"
3

Make your first request

Retrieve your questions using the GET questions endpoint:
curl -X GET https://api.prod.qualifi.hr/qsi/gather/questions \
  -H "x-api-key: ${API_KEY}" \
  -H "Content-Type: application/json"
4

Create your first question

Create 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 '{
    "title": "Tell me about yourself",
    "questionScript": "Tell me about yourself and your background.",
    "generateAudio": true
  }'
Audio generation is asynchronous. The initial response includes the question, and the audioUrl will be populated when audio generation completes. You can use webhooks to be notified when audio is ready.
5

Create your first 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-from-step-4"]
  }'

What’s Next?

Common Issues

Check that your API key is correct and included in the x-api-key header. Verify the API key is prefixed with qapi_ and hasn’t been revoked.
Verify you’re using the correct base URL and endpoint path. All endpoints are prefixed with /qsi/gather/.
You’ve exceeded the rate limit. Check the X-RateLimit-Remaining header and wait until the reset time indicated in X-RateLimit-Reset.