> ## Documentation Index
> Fetch the complete documentation index at: https://docs.techeval.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Kovi Quick Start: Schedule Your First AI Interview

> Install the kovi-sdk Python package, authenticate with your API key, and schedule your first AI technical interview in under 5 minutes.

By the end of this guide you will have scheduled a real Kovi interview using the Python SDK and received a live candidate link you can send immediately. The entire process — from installing the package to a working interview link — takes less than five minutes.

<Steps>
  ### Sign up and get your API key

  Create a free account at [techeval.ai](https://techeval.ai). After registration, navigate to **Settings → API Keys** in your dashboard and copy your live API key. You'll use this key to authenticate every SDK call.

  Your new account automatically receives **10 free interview credits** — no credit card needed.

  ### Install the Python SDK

  Install the `kovi-sdk` package from PyPI using pip:

  ```bash theme={null}
  pip install kovi-sdk
  ```

  The package has no heavy dependencies and installs in seconds.

  ### Initialize the client

  Import `KoviClient` and initialise it with your API key:

  ```python theme={null}
  from kovi import KoviClient

  client = KoviClient(api_key="YOUR_LIVE_API_KEY_HERE")
  ```

  The client is stateless — you can create one instance at application startup and reuse it for every `schedule_interview` call.

  ### Schedule an interview

  Call `client.schedule_interview()` with the candidate details, role configuration, and evaluation parameters. The example below schedules a 15-minute System Design interview for a mid-to-senior AI Engineer role:

  ```python schedule.py theme={null}
  from kovi import KoviClient

  # Initialize the client with your API key
  client = KoviClient(api_key="YOUR_LIVE_API_KEY_HERE")

  try:
      response = client.schedule_interview(
          job_id="JD-AI-7284",
          candidate_name="******* *********",
          candidate_email="**********@gmail.com",
          mobile_number="+91-**********",
          role="AI Engineer",
          interview_type="System Design",
          evaluation_level="Mid-Level to Senior",
          tech_stack=[
              "Python", "FastAPI", "GCP", "LangChain",
              "PostgreSQL", "Supabase", "Pinecone"
          ],
          duration=15,
          pass_score=6.5,
          deadline_hours=72
      )

      print("✅ API Success!")
      print(f"🔗 Send this link to the candidate: {response.get('interviewUrl')}")

  except Exception as e:
      print(f"❌ Failed to schedule interview: {e}")
  ```

  A successful call prints the candidate interview URL to stdout:

  ```
  ✅ API Success!
  🔗 Send this link to the candidate: https://techeval.ai/interview/...
  ```

  <Tip>
    Set `deadline_hours` to **48–72 hours** to give candidates enough flexibility to find a quiet environment while still maintaining pipeline velocity. Links expire automatically once the deadline passes, so you never have stale sessions sitting open.
  </Tip>

  ### Send the link to the candidate

  Copy the `interviewUrl` from the response and send it to the candidate via email or your ATS. When they open the link on a laptop or desktop, Kovi starts the interview immediately — no scheduling coordination, no human in the loop.

  Once the interview concludes, Kovi sends a structured scorecard to your configured webhook endpoint. See [Webhooks](#) for payload details.
</Steps>

<Note>
  **Laptop or desktop only.** Kovi requires a laptop or desktop computer. The candidate link is intentionally blocked on mobile phones and tablets because live coding is a core part of every interview session. Make sure you include this requirement when you send the link.
</Note>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.