개발자 API
AssessFit을 ATS, Zapier 또는 사내 도구와 연동하세요 — 공고 생성, 후보자 초대, 결과 조회, 그리고 후보자가 완료하는 순간 서명된 웹훅 수신까지.
인증
API 키는 Employer Dashboard → Settings → API & integrations 에서 생성해 모든 요청에 담아 보내세요:
curl https://assessfit.com/api/v1/jobs \ -H "X-Api-Key: tp_live_…"
키는 워크스페이스 단위입니다. 키를 교체하면 이전 키는 즉시 무효화됩니다. 요청은 IP당 분당 300회로 제한됩니다.
엔드포인트
GET/api/v1/jobs
초대 수와 완료 수를 포함한 공고 목록을 반환합니다.
POST/api/v1/jobs
한 번의 호출로 공고를 만들고 후보자를 초대합니다. 초대 이메일은 자동 발송되며, 초대 1건당 크레딧 1개를 소모합니다.
curl -X POST https://assessfit.com/api/v1/jobs \
-H "X-Api-Key: tp_live_…" -H "Content-Type: application/json" \
-d '{
"title": "Senior Accountant",
"roleKey": "accountant",
"tests": ["attention", "financial", "numerical", "conscientiousness"],
"cameraRequired": true,
"shareResults": false,
"candidates": [
{ "name": "Ana Putri", "email": "ana@example.com" }
]
}'
역할 키: accountant, engineer,
sales, support,
marketing, analyst,
custom. tests를 생략할 수 있나요? 아니요 — 원하는 테스트 키를 전달하세요. 라이브러리는 대시보드에서 확인합니다.
GET/api/v1/jobs/:id
공고 상세 전체: 각 초대의 퍼널 타임스탬프(tracking.sent/opened/loggedIn), 개인 초대
link, 그리고 완료 후의 result 객체까지 포함합니다.
POST/api/v1/jobs/:id/invites
기존 공고에 후보자 추가: {"candidates":[{"name":"…","email":"…"}]}. 생성된 초대를 링크와 함께 반환합니다.
GET/api/v1/invites/:id/result
후보자 한 명의 완료 결과 조회: 종합 점수, 테스트별 점수, 공정성 점수, 판정과 플래그, 시간 분석. 후보자가 끝내기 전에는 404를 반환합니다.
웹훅
Settings에서 웹훅 URL을 설정하세요. AssessFit은 JSON 이벤트를 POST하며, 원문 본문에 대해 API 키 를 시크릿으로 계산한 HMAC-SHA256 서명을 붙입니다:
POST https://your-app.example.com/hooks/assessfit
X-AssessFit-Event: candidate.completed
X-AssessFit-Signature: sha256=3f5a…
{
"event": "candidate.completed",
"createdAt": "2026-07-22T09:14:03.000Z",
"data": {
"inviteId": "inv_…",
"jobId": "job_…",
"jobTitle": "Senior Accountant",
"candidate": { "name": "Ana Putri", "email": "ana@example.com" },
"overall": 84,
"scores": { "attention": 83, "numerical": 100 },
"integrity": { "score": 100, "verdict": "clean" }
}
}
페이로드를 신뢰하기 전에 서명을 검증하세요:
// Node.js
const crypto = require("crypto");
function verify(rawBody, signatureHeader, apiKey) {
const expected = "sha256=" +
crypto.createHmac("sha256", apiKey).update(rawBody).digest("hex");
return crypto.timingSafeEqual(Buffer.from(signatureHeader), Buffer.from(expected));
}
전송은 3회 재시도됩니다(즉시, +2초, +8초). 모든 시도는
Settings → Recent webhook deliveries에서 볼 수 있고, "Send Test Event" 버튼으로 언제든
webhook.test 이벤트를 발생시킬 수 있습니다. 이벤트: candidate.completed, webhook.test.
연동 레시피
- ATS(Greenhouse/Lever 등): 후보자가 "평가" 단계에 도달하면
POST /api/v1/jobs/:id/invites를 호출하고,candidate.completed웹훅을 받으면 ATS API로 점수를 후보자 프로필에 다시 기록하세요. - Zapier/Make: 트리거로 "Webhooks by Zapier"와 AssessFit 웹훅 URL을 쓰고, 초대에는
X-Api-Key에 대한 HTTP 액션을 쓰세요. - Slack 알림: 작은 함수로 웹훅을 받아 채용 채널에 "🏁 Ana Putri finished Senior Accountant — 84/100, integrity clean"을 게시하세요.