Quickstart
Generate an API key, send a resume, and receive a verification result on your webhook endpoint in under 10 minutes.
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.
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.
{"trackingId": "job_abc123","status": "queued"}
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.
POST /your-webhook-endpoint HTTP/1.1X-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"}
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 -X GET https://api.resumeproof.online/v1/jobs/job_abc123 \-H "Authorization: Bearer YOUR_API_KEY"