Skip to Content
GuidesJob Matching

Job Matching

The matching engine scores professionals against open jobs automatically. Matches are generated when a new job is created or when you trigger a match run manually.

How matching works

  1. A job is created with required skills, experience level, and location
  2. The AI engine scores all relevant professionals in the database
  3. Top matches are returned with a scored fit assessment
  4. Recruiters review, shortlist, and add candidates to the application pipeline

Create a job

POST /v1/jobs Authorization: Bearer <token> Content-Type: application/json { "title": "Senior Backend Engineer", "companyId": "company_01abc...", "skills": ["Node.js", "TypeScript"], "location": "Remote", "experienceYears": 5, "description": "..." }

AI-generated fields can help populate job details:

POST /v1/jobs/generate-fields Authorization: Bearer <token> Content-Type: application/json { "title": "Senior Backend Engineer", "description": "..." }

Trigger a match run

POST /v1/jobs/:id/match Authorization: Bearer <token>

Get matches for a job

GET /v1/jobs/:id/best-matches Authorization: Bearer <token>

Set minimum scores

Configure score thresholds to filter match quality:

PATCH /v1/jobs/:id/min-scores Authorization: Bearer <token> Content-Type: application/json { "minScore": 0.7 }

Generate perfect fit analysis

POST /v1/jobs/:id/perfect-fit Authorization: Bearer <token>

Job rubrics

Scoring rubrics define evaluation criteria for candidates:

POST /v1/job-rubrics/generate Authorization: Bearer <token> Content-Type: application/json { "jobId": "job_01abc..." }

Manage rubrics:

GET /v1/job-rubrics/user POST /v1/job-rubrics/user PUT /v1/job-rubrics/user/:id DELETE /v1/job-rubrics/user/:id GET /v1/job-rubrics/job/:id PUT /v1/job-rubrics/:id/select

Add a match to pipeline

Once you identify a good match, create an application:

POST /v1/applications Authorization: Bearer <token> Content-Type: application/json { "candidateId": "prof_01abc...", "jobId": "job_01abc..." }

ATS pipeline management

Move applicants through pipeline stages:

PATCH /v1/jobs/:id/applicants/:candidateUserId Authorization: Bearer <token> Content-Type: application/json { "stage": "interview" }

Customize the ATS kanban board:

POST /v1/jobs/:id/ats-kanban-custom-column PATCH /v1/jobs/:id/ats-kanban-column-order

Interview question templates

Create and manage reusable interview question sets:

GET /v1/jobs/interview-question-templates POST /v1/jobs/interview-question-templates POST /v1/jobs/interview-question-templates/generate GET /v1/jobs/interview-question-templates/:templateId PATCH /v1/jobs/interview-question-templates/:templateId DELETE /v1/jobs/interview-question-templates/:templateId

Screening and video interviews

POST /v1/jobs/:id/screening-answers POST /v1/jobs/:id/video-interviews GET /v1/jobs/:jobId/interviews/:candidateId GET /v1/jobs/:jobId/interview-responses
Last updated on