開発者 API
AssessFit を ATS、Zapier、社内ツールと連携 — 求人の作成、候補者の招待、結果の取得、そして候補者が完了した瞬間に署名付き Webhook を受信できます。
認証
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 件につきクレジットを 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
候補者 1 名の完了結果を取得:総合スコア、テスト別スコア、公正性スコア、判定とフラグ、時間分析。候補者が完了するまで 404 を返します。
Webhook
Settings で Webhook 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.completedWebhook を受けたら ATS API 経由でスコアを候補者プロファイルに書き戻します。 - Zapier/Make: トリガーに「Webhooks by Zapier」と AssessFit の Webhook URL を使い、招待には
X-Api-Keyへの HTTP アクションを使います。 - Slack 通知: 小さな関数で Webhook を受け、採用チャンネルに「🏁 Ana Putri finished Senior Accountant — 84/100, integrity clean」を投稿します。