Skip to main content
POST
/
interviews
Create an interview
curl --request POST \
  --url https://aansi-integration.qode.gg/api/v1/interviews \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "candidate_email": "thanh.le+dev@qode.world",
  "candidate_name": "Le Phuoc Thanh",
  "cv_link": "https://cdn.qode.gg/ptp-ms-file-store/production/cv_container/resume-4a9c9c320351d1a14a0b8479551c3ac939c6b6d9.pdf.pdf",
  "qodeJobId": "478e8e8b-87c9-4c2a-926f-ebce52442d39"
}
'
{
  "success": true,
  "data": {
    "interview_link": "https://qode.world/interview/abc123",
    "name": "Tracy interview | Le Phuoc Thanh - Software Engineer"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.aansi.qode.world/llms.txt

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

Authorizations

Authorization
string
header
required

Provide the plaintext API key minted via POST /admin/api-keys. The server matches it by 8-char prefix and SHA-256 hash.

Body

application/json
candidate_email
string<email>
required

Candidate's email. Used as the interview attendee.

candidate_name
string
required

Candidate's full name. Used to build the interview title.

Minimum string length: 1

Public URL to the candidate's CV (PDF/DOCX). Supports plain HTTPS URLs and Google Drive sharing links. On download/upload failure the wrapper falls back to creating a candidate from email only.

qodeJobId
string
required

Qode job identifier — corresponds to a UseCase1.id in PTP. Obtain it from GET /jobs. The wrapper picks the most recent non-cancelled AiInterviewer for this job as the interview template.

Minimum string length: 1

Response

Interview created. PTP has scheduled the interview and a candidate-facing link is returned.

success
boolean
Example:

true

data
object