Skip to main content
POST
Confirm and Save Parsed CV

Endpoint

Base URL: http://localhost:3000/api/v1
This endpoint requires authentication and Job Seeker role.

Authentication

Include the access token in the Authorization header:

Description

Review the parsed CV data and confirm to save it to your profile. This creates or updates your JobSeekerProfile, Education, WorkExperience, and JobSeekerSkill records. The backend uses the stored parsed CV as the base version, then applies any fields you send in data before saving.
Arrays are full replacements. If you send education or workExperience, the full array is deleted and recreated.To add or update one item, first get the current array from preview, then send the complete array with your change.For partial updates after confirmation, use the dedicated Education, Work Experience, etc… APIs.

Request Body

string
required
The parse result identifier returned by POST /cv/confirm or GET /cv-parse/preview.
object
required
CV data with optional overrides. All fields are optional except workPreference and availabilityStatus.
string
First name override.
string
Last name override.
string
Email address override.
string
Phone number override.
string
Location/address override.
string
LinkedIn profile URL override.
string
GitHub profile URL override.
string
Portfolio website URL override.
string
Job title override (e.g., “Software Engineer”).
string
Professional summary override.
array
Education array override. If sent, it replaces the stored education.
string
required
Institution name.
string
required
Degree type: ASSOCIATE, BACHELOR, MASTER, DOCTORATE.
string
required
Field of study.
string
required
Start date (ISO 8601).
string
End date (ISO 8601).
boolean
required
Currently studying here.
number
GPA score.
array
Work experience array override. If sent, it replaces the stored work experience.
string
required
Company name.
string
required
Job title.
string
Job location.
string
required
Start date (ISO 8601).
string
End date (ISO 8601).
boolean
required
Currently working here.
string
required
Job description.
array
Skills array. Skills from the parsed CV are kept (verified). User-added skills are appended (unverified).
string
Skill name. If skill already exists in parsed CV, it’s marked as verified. New skills are unverified.
number
Expected salary.
string
required
Work preference: ONSITE, REMOTE, HYBRID, ANY.
number
Notice period in days.
string
required
Availability status: OPEN_TO_WORK, NOT_LOOKING, PASSIVELY_LOOKING.

Request Example

Response

Success Response (200 OK)

Error Responses

400 Bad Request - Validation Error (missing required fields)

400 Bad Request - No Completed Parse Result

401 Unauthorized

403 Forbidden

404 Not Found - Parse Result Not Found

Complete CV Flow

1

Upload CV

Call POST /cv/presigned-url to get an upload URL
2

Upload File

Upload the file using PUT with the upload URL
3

Confirm Upload

Call POST /cv/confirm to trigger NLP parsing
4

Preview Data

Call GET /cv-parse/preview to see parsed results
5

Confirm & Save

Call POST /cv-parse/confirm to save to your profile
What gets saved: JobSeekerProfile (title, summary, phone, cvEmail, location, links, preferences), Education, WorkExperience, and JobSeekerSkill.Skills from parsed CV are saved with verified: true; manually added skills are saved with verified: false.yearsOfExperience is always taken from the parsed CV and cannot be modified.After confirmation, the CvParseResult record is deleted from the database. Calling GET /cv-parse/preview will return a 404 after confirmation.