Submit your files
Send multipart files directly, or declare an upload session and upload each file to its signed URL.
POST /v1/resumes/parseAdmission returns 202, or 200 for a completed or cached result.CVault Resume Parsing API
Extract contact details, work history, education and skills from resumes. Submit files through the API and retrieve structured results for your own application.
Direct uploads, batch jobs and signed webhooks.
{
"contact": {},
"experience": [],
"education": [],
"skills": []
}Illustrative subset with empty values. Not a live parse or the full response envelope.
Up to 10 MiB per file. Batch and project limits apply.
Parser output
The schema endpoint reports the available top-level field groups. Read the returned data, handle missing values and preserve unknown fields.
Explore the output contractIntegration workflow
Send multipart files directly, or declare an upload session and upload each file to its signed URL.
POST /v1/resumes/parseAdmission returns 202, or 200 for a completed or cached result.Store data.job_id. Poll the job or receive signed webhook events, and handle per-document outcomes.
GET /v1/parse-jobs/{job_id}Cancellation stops work and retains completed documents.Fetch parsing data separately. Follow next_cursor whenever has_more is true.
GET /v1/parse-jobs/{job_id}/resultsInternal raw text, storage keys and provider traces are excluded.Start integrating
Create a project API key in the console and send it from your backend. These examples submit a local PDF.
Set CVAULT_API_URL to https://cvault.tech and CVAULT_API_KEY to your project key.
curl -sS -X POST "$CVAULT_API_URL/v1/resumes/parse" \
-H "x-api-key: $CVAULT_API_KEY" \
-H "Idempotency-Key: first-resume-0001" \
-F "files[]=@resume.pdf;type=application/pdf"Keep the idempotency key when retrying this submission. The response returns a job; use the workflow above to read its results.
Integration controls
Separate project and environment access. Keep your API keys on your server.
Read the guideKeep the same key for the same submission. Changed content with that key returns a conflict.
Read the guideReceive job events over HTTPS and verify their HMAC-SHA256 signatures on your receiver.
Read the guideRequest source, result and cache cleanup. Accepted erasure blocks result reads; poll until erased.
Read the guideYes. Direct multipart submission accepts multiple files. Upload sessions separate file declaration, whole-file uploads and job admission for larger batches. File, batch and project limits still apply.
Use the returned data.job_id to poll the job status, or subscribe to signed webhook events. Fetch results separately and follow next_cursor when has_more is true. Handle each document's outcome, including partial failures.
Do not assume it does. The standard public submission contract does not expose a selectable none/compact/full evidence response mode. A processing workspace can add its selected-field projection, evidence and validation result; use the workspace guide for that contract.
Admitted files reserve organization parser credits: native processing costs 1 credit and OCR costs 3. Successful files settle the reservation; failed or cancelled files release it. Check the pricing page for current pack availability.
Build with CVault
Start with the API reference, or discuss the requirements for your integration.