Job Fit Analysis
Score a candidate's fit against a job description across skills, experience, education, and culture indicators.
POST /v1/hiring/job-fit-analysis
Produces a multi-dimensional fit score between a candidate's resume/profile and a job description. Returns dimension-level scores, matched and missing skills, and a recommendation on whether to proceed.
Required inputs
| Field | Type | Notes |
|---|---|---|
input.user_id | string | Your platform's user ID |
input.resume | ResumeInput | Candidate's resume text |
input.job_description | JobDescriptionInput | Target role details |
Optional inputs
| Field | Type | Notes |
|---|---|---|
input.profile | ProfileInput | Structured profile for more precise skill matching |
input.career_goals | CareerGoalsInput | Contextualises candidate's interest in the role |
Example request
curl -X POST https://api.liyaengine.ai/v1/hiring/job-fit-analysis \
-H "x-api-key: $LIYA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"user_id": "usr_123",
"resume": { "text": "Jane Doe\n8 years of software engineering..." },
"job_description": {
"title": "Staff Engineer",
"description": "Own platform architecture, lead technical direction...",
"required_skills": ["Go", "Kubernetes", "system design"],
"required_experience_years": 7
}
}
}'Response
{
"success": true,
"data": {
"output": {
"overall_fit_score": 81,
"skill_score": 76,
"experience_score": 90,
"education_score": 85,
"confidence": { "score": 0.89, "level": "high" },
"recommendation": "proceed",
"matched_skills": ["TypeScript", "system design", "Node.js"],
"missing_skills": ["Go", "Kubernetes"],
"highlights": [
"8 years of experience meets the 7-year requirement",
"Led cross-functional platform projects matching the role scope"
],
"gaps": [
"No Go or Kubernetes experience visible in resume"
],
"actions": [
{ "id": "skill_gap_analysis", "label": "See full skill gap", "primary": false }
]
}
}
}Scoring weights
Fit scores are computed using configurable scoring_weights per tenant. Default weights:
| Dimension | Default weight |
|---|---|
| Skill match | 35% |
| Experience match | 30% |
| Education match | 15% |
| Culture indicators | 10% |
| Location match | 10% |
Weights can be customised via PATCH /dashboard/account/config using the scoringWeights.job_fit_weights field.