Every application, scored and explained.
Send a job description and a candidate application to a single endpoint and get back a 0-100 match score with a recruiter-style reason. Rank hundreds of applicants before a human reads the first CV.
A single endpoint for the whole match flow
POST a job and an applicant, get back a 0-100 score, a written reason, and the credits remaining on the subscription. No SDK to install — just an HTTP call.
- ✓ Versioned at /api/v1
- ✓ Bearer token auth
- ✓ JSON in, JSON out
- ✓ Consistent error shapes (401, 402, 422, 429, 502)
POST /api/v1/matching-score
Authorization: Bearer ...
{
"job": { "title": "...", "description": "..." },
"application": { "resume_text": "..." }
}
→ { "score": 87, "reason": "...", "credits_remaining": 99 }
A consistent rubric, not vibes
Our managed AI engine evaluates required-skills coverage, relevant experience and seniority, domain fit, and soft signals from the cover letter — and always explains the score. Enforced JSON output keeps responses parseable, even on rough days.
- ✓ Weighted rubric across skills, experience, domain and soft signals
- ✓ Written reason with every score
- ✓ Attach a resume file (PDF, DOC, DOCX, TXT) instead of raw text
- ✓ Refund-on-failure built in
Scoring rubric:
Required skills coverage . 40%
Experience & seniority ... 30%
Domain / industry fit .... 15%
Soft signals ............. 15%
→ { "score": 0-100, "reason": "max 80 words" }
Sync for speed, async for volume
Call the sync endpoint for instant results, or dispatch to the async endpoint when a vacancy closes and you want the whole applicant pool scored in the background. Poll the job ID and collect results when ready.
- ✓ POST /matching-score for real-time scoring
- ✓ POST /matching-score/async for batches
- ✓ GET /jobs/{id} to poll status and results
- ✓ Credits charged once, refunded automatically on failure
POST /api/v1/matching-score/async
→ 202 { "job_id": "9c2f...", "status": "queued" }
GET /api/v1/jobs/9c2f...
→ { "status": "completed",
"result": { "score": 91, "reason": "..." } }
Every call is logged in full
Request payload, response payload, score, tokens, IP, status — all stored. Admins can replay any AI decision without bothering the API consumer. Users see their call history on the dashboard.
- ✓ Full request + response capture
- ✓ Score + token usage per call
- ✓ Status: success / refunded / failed
- ✓ Searchable from the admin panel
usage_logs (id, user_id, endpoint, request_payload, response_payload, score, tokens_used, status, created_at)
See the API in action
Sign up, generate a key, hit the endpoint. Refund on failure means every credit buys a result. Need structured candidate data too? Pair it with AI Resume Parsing.
Get started