Docs · API · Interview Kits

Interview Kits.

A structured 30-minute interview per candidate, grounded in their actual CV— not a generic question bank. Six question categories with model answers, scoring rubrics, and red flags, plus "claims to probe" anchored to verbatim CV quotes.

Generate a kit#

POST/v1/applications/{id}/interview-kit
FieldTypeDescription
languagestringoptionalKit language ("en", "ar", …). Defaults to the job post's language.
Request
curl -X POST https://hire.whizztech.ai/v1/applications/e2c81f47-0a95-4d36-b8e1-6f24a0d7c593/interview-kit \
  -H "Authorization: Bearer $HIRE_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "language": "en" }'
Response · 202 Accepted
{
  "object": "interview_kit",
  "kit_id": "c7e2a940-8b13-4f6d-95a1-2d80e4b7c358",
  "run_id": "9f4b2c81-5e07-4a3d-b6c9-70e1d8a52f43",
  "language": "en",
  "credits_charged": 12,
  "replayed": false
}

Costs 12 credits, debited up front and refunded if the run fails. The application must have a CV (400 no_cv otherwise). Generation takes tens of seconds — poll GET /v1/runs/{run_id} or wait for the job.succeeded webhook. An Idempotency-Key header makes retries safe.

Retrieve a kit#

GET/v1/interview-kits/{id}
Request
curl https://hire.whizztech.ai/v1/interview-kits/c7e2a940-8b13-4f6d-95a1-2d80e4b7c358 \
  -H "Authorization: Bearer $HIRE_KEY"
Response · 200 OK (abridged)
{
  "id": "c7e2a940-8b13-4f6d-95a1-2d80e4b7c358",
  "object": "interview_kit",
  "status": "ready",
  "application_id": "e2c81f47-0a95-4d36-b8e1-6f24a0d7c593",
  "job_post_id": "4d1a8f36-9e02-47b8-b7c4-3a92d5e60f18",
  "run_id": "9f4b2c81-5e07-4a3d-b6c9-70e1d8a52f43",
  "language": "en",
  "content": {
    "durationMinutes": 30,
    "plan": [
      { "minutes": 5,  "section": "easy" },
      { "minutes": 10, "section": "cv_based" },
      { "minutes": 10, "section": "scenario" },
      { "minutes": 5,  "section": "hard" }
    ],
    "sections": {
      "easy": [
        {
          "question": "Walk me through your current fleet — size, mix, and what a normal Tuesday looks like.",
          "modelAnswer": "Concrete numbers, vehicle classes, daily cadence …",
          "rubric": "5: specific & fluent; 3: general but credible; 1: vague",
          "redFlags": ["Cannot state fleet size", "Describes only supervision, no ownership"]
        }
      ],
      "cv_based": [
        {
          "question": "You list a 140-vehicle fleet across three emirates — which telematics stack did you run it on, and what did you change about it?",
          "modelAnswer": "Names the platform, alert thresholds, and at least one configuration decision with a reason …",
          "rubric": "5: systems + trade-offs; 3: names tools; 1: generic",
          "redFlags": ["Cannot name any system"]
        }
      ],
      "scenario": [
        {
          "question": "It's 06:40, 12 drivers call in sick, and your two biggest clients have 08:00 SLAs. Take me through your first hour.",
          "modelAnswer": "Triage by SLA penalty, reserve pool, client comms before the breach …",
          "rubric": "5: prioritized plan + comms; 3: plan only; 1: improvises",
          "redFlags": ["No client communication step"]
        }
      ]
    },
    "probes": [
      {
        "cvClaim": "Reduced fleet downtime by 35%",
        "quote": "reduced unplanned downtime by 35% year-over-year",
        "question": "35% from what baseline, measured how, and over what period?"
      }
    ]
  },
  "created_at": "2026-07-10T10:31:02.000Z"
}

content is {} while status is generating and fills in when the run succeeds.

Kit structure#

FieldTypeDescription
durationMinutesintegerAlways 30 — a plan an interviewer can actually run.
planarray{minutes, section} timing plan across the sections.
sectionsobjectQuestion banks keyed by category: easy · medium · hard · scenario (real-life situations) · cv_based (built from this candidate's CV) · job_based (built from the JD). Each question carries modelAnswer, rubric (what a 1/3/5 answer looks like), and redFlags.
probesarray{cvClaim, quote, question}— specific CV claims worth pressure-testing, each anchored to the verbatim quote it came from. "Says 'led migration' — probe scope, team size, their actual role."