Quickstart

Generate an API key, send a resume, and receive a verification result on your webhook endpoint in under 10 minutes.

1

Get an API key

Create a key in the dashboard and copy it. You'll use this as a Bearer token in the Authorization header of your requests.

Generate a key in the dashboard
2

Send a verification request

Send a multipart POST request containing the candidate's PDF resume and their claimed GitHub username.

curl -X POST https://api.resumeproof.online/v1/verify \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "resume=@/path/to/resume.pdf" \
-F "githubUsername=torvalds"

The API processes jobs asynchronously. You will receive a tracking ID and a status of queued immediately.

Response
{
"trackingId": "job_abc123",
"status": "queued"
}
3

Receive the result

When the verification finishes (usually in under 90 seconds), we will POST the full verification payload to your configured webhook endpoint. Ensure you verify the X-ResumeProof-Signature header.

Webhook Payload
POST /your-webhook-endpoint HTTP/1.1
X-ResumeProof-Signature: sha256=a1b2c3d4...
{
"event": "verification.completed",
"trackingId": "job_abc123",
"githubUsername": "torvalds",
"confidenceScore": 94,
"status": "COMPLETED",
"verifiedProjects": [
{
"name": "linux",
"repoUrl": "github.com/torvalds/linux",
"commits": 1042,
"matchStrength": "HIGH"
}
],
"flags": [],
"timestamp": "2026-07-22T19:20:00Z"
}
4

Poll as a fallback

If you are developing locally and cannot receive webhooks, you can manually poll the job status using the tracking ID returned in Step 2.

Important: Use webhooks in production. Polling is heavily rate-limited and intended only for local development and debugging.

cURL
curl -X GET https://api.resumeproof.online/v1/jobs/job_abc123 \
-H "Authorization: Bearer YOUR_API_KEY"

What's next?