Liya Engine

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

FieldTypeNotes
input.user_idstringYour platform's user ID
input.resumeResumeInputCandidate's resume text
input.job_descriptionJobDescriptionInputTarget role details

Optional inputs

FieldTypeNotes
input.profileProfileInputStructured profile for more precise skill matching
input.career_goalsCareerGoalsInputContextualises 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:

DimensionDefault weight
Skill match35%
Experience match30%
Education match15%
Culture indicators10%
Location match10%

Weights can be customised via PATCH /dashboard/account/config using the scoringWeights.job_fit_weights field.

On this page