API Reference
Scans (CVs)
Upload a CV, run AI extraction, and read structured candidate data.
Step 1 — request an upload URL
The signed URL accepts a single PUT and is valid for two minutes. The response also returns a storage_token you must echo back when creating the scan.
curl -X POST https://api.ceevee.cc/v1/uploads \
-H 'Authorization: Bearer ceevee_sk_live_…' \
-H 'Content-Type: application/json' \
-d '{ "filename": "jane-doe.pdf" }'Step 2 — upload the file
curl -X PUT "$signed_url" \
--data-binary @jane-doe.pdf \
-H 'Content-Type: application/pdf'Step 3 — register the scan
Pass the same storage_token the upload endpoint returned. Optional project_id ties the scan to a job's pipeline.
curl -X POST https://api.ceevee.cc/v1/scans \
-H 'Authorization: Bearer ceevee_sk_live_…' \
-H 'Content-Type: application/json' \
-d '{
"storage_token": "…",
"project_id": "3dae4942-…"
}'REST endpoints
POST
/v1/uploadsRequest a signed Storage URL and a one-time
scans:writestorage_token.POST
/v1/scansRegister the uploaded file as a scan and trigger AI processing.
scans:writeGET
/v1/scansList scans, paginated. Filter by
scans:readjob_id and status.GET
/v1/scans/{id}Fetch one scan with its profile, summary, and status.
scans:readGET
/v1/scans/{id}/pdfGet a short-lived signed URL for the source PDF.
scans:readPOST
/v1/scans/{id}/rescanRe-run AI extraction without re-uploading the file.
scans:writeSubscribe to scan.completed
Processing is asynchronous and typically completes in 8–25 seconds. Subscribe to the
scan.completed webhook to react when the AI extraction is ready.