Confirm and Save Parsed CV
curl --request POST \
--url https://api.example.com/api/v1/cv-parse/confirm \
--header 'Content-Type: application/json' \
--data '
{
"parseResultId": "<string>",
"data": {},
"data.firstName": "<string>",
"data.lastName": "<string>",
"data.cvEmail": "<string>",
"data.phone": "<string>",
"data.location": "<string>",
"data.linkedinUrl": "<string>",
"data.githubUrl": "<string>",
"data.portfolioUrl": "<string>",
"data.title": "<string>",
"data.summary": "<string>",
"data.education": [
{}
],
"data.education[].institutionName": "<string>",
"data.education[].degreeType": "<string>",
"data.education[].fieldOfStudy": "<string>",
"data.education[].startDate": "<string>",
"data.education[].endDate": "<string>",
"data.education[].isCurrent": true,
"data.education[].gpa": 123,
"data.workExperience": [
{}
],
"data.workExperience[].companyName": "<string>",
"data.workExperience[].jobTitle": "<string>",
"data.workExperience[].location": "<string>",
"data.workExperience[].startDate": "<string>",
"data.workExperience[].endDate": "<string>",
"data.workExperience[].isCurrent": true,
"data.workExperience[].description": "<string>",
"data.skills": [
{}
],
"data.skills[]": "<string>",
"data.expectedSalary": 123,
"data.workPreference": "<string>",
"data.noticePeriod": 123,
"data.availabilityStatus": "<string>"
}
'import requests
url = "https://api.example.com/api/v1/cv-parse/confirm"
payload = {
"parseResultId": "<string>",
"data": {},
"data.firstName": "<string>",
"data.lastName": "<string>",
"data.cvEmail": "<string>",
"data.phone": "<string>",
"data.location": "<string>",
"data.linkedinUrl": "<string>",
"data.githubUrl": "<string>",
"data.portfolioUrl": "<string>",
"data.title": "<string>",
"data.summary": "<string>",
"data.education": [{}],
"data.education[].institutionName": "<string>",
"data.education[].degreeType": "<string>",
"data.education[].fieldOfStudy": "<string>",
"data.education[].startDate": "<string>",
"data.education[].endDate": "<string>",
"data.education[].isCurrent": True,
"data.education[].gpa": 123,
"data.workExperience": [{}],
"data.workExperience[].companyName": "<string>",
"data.workExperience[].jobTitle": "<string>",
"data.workExperience[].location": "<string>",
"data.workExperience[].startDate": "<string>",
"data.workExperience[].endDate": "<string>",
"data.workExperience[].isCurrent": True,
"data.workExperience[].description": "<string>",
"data.skills": [{}],
"data.skills[]": "<string>",
"data.expectedSalary": 123,
"data.workPreference": "<string>",
"data.noticePeriod": 123,
"data.availabilityStatus": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
parseResultId: '<string>',
data: {},
'data.firstName': '<string>',
'data.lastName': '<string>',
'data.cvEmail': '<string>',
'data.phone': '<string>',
'data.location': '<string>',
'data.linkedinUrl': '<string>',
'data.githubUrl': '<string>',
'data.portfolioUrl': '<string>',
'data.title': '<string>',
'data.summary': '<string>',
'data.education': [{}],
'data.education[].institutionName': '<string>',
'data.education[].degreeType': '<string>',
'data.education[].fieldOfStudy': '<string>',
'data.education[].startDate': '<string>',
'data.education[].endDate': '<string>',
'data.education[].isCurrent': true,
'data.education[].gpa': 123,
'data.workExperience': [{}],
'data.workExperience[].companyName': '<string>',
'data.workExperience[].jobTitle': '<string>',
'data.workExperience[].location': '<string>',
'data.workExperience[].startDate': '<string>',
'data.workExperience[].endDate': '<string>',
'data.workExperience[].isCurrent': true,
'data.workExperience[].description': '<string>',
'data.skills': [{}],
'data.skills[]': '<string>',
'data.expectedSalary': 123,
'data.workPreference': '<string>',
'data.noticePeriod': 123,
'data.availabilityStatus': '<string>'
})
};
fetch('https://api.example.com/api/v1/cv-parse/confirm', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v1/cv-parse/confirm",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'parseResultId' => '<string>',
'data' => [
],
'data.firstName' => '<string>',
'data.lastName' => '<string>',
'data.cvEmail' => '<string>',
'data.phone' => '<string>',
'data.location' => '<string>',
'data.linkedinUrl' => '<string>',
'data.githubUrl' => '<string>',
'data.portfolioUrl' => '<string>',
'data.title' => '<string>',
'data.summary' => '<string>',
'data.education' => [
[
]
],
'data.education[].institutionName' => '<string>',
'data.education[].degreeType' => '<string>',
'data.education[].fieldOfStudy' => '<string>',
'data.education[].startDate' => '<string>',
'data.education[].endDate' => '<string>',
'data.education[].isCurrent' => true,
'data.education[].gpa' => 123,
'data.workExperience' => [
[
]
],
'data.workExperience[].companyName' => '<string>',
'data.workExperience[].jobTitle' => '<string>',
'data.workExperience[].location' => '<string>',
'data.workExperience[].startDate' => '<string>',
'data.workExperience[].endDate' => '<string>',
'data.workExperience[].isCurrent' => true,
'data.workExperience[].description' => '<string>',
'data.skills' => [
[
]
],
'data.skills[]' => '<string>',
'data.expectedSalary' => 123,
'data.workPreference' => '<string>',
'data.noticePeriod' => 123,
'data.availabilityStatus' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/cv-parse/confirm"
payload := strings.NewReader("{\n \"parseResultId\": \"<string>\",\n \"data\": {},\n \"data.firstName\": \"<string>\",\n \"data.lastName\": \"<string>\",\n \"data.cvEmail\": \"<string>\",\n \"data.phone\": \"<string>\",\n \"data.location\": \"<string>\",\n \"data.linkedinUrl\": \"<string>\",\n \"data.githubUrl\": \"<string>\",\n \"data.portfolioUrl\": \"<string>\",\n \"data.title\": \"<string>\",\n \"data.summary\": \"<string>\",\n \"data.education\": [\n {}\n ],\n \"data.education[].institutionName\": \"<string>\",\n \"data.education[].degreeType\": \"<string>\",\n \"data.education[].fieldOfStudy\": \"<string>\",\n \"data.education[].startDate\": \"<string>\",\n \"data.education[].endDate\": \"<string>\",\n \"data.education[].isCurrent\": true,\n \"data.education[].gpa\": 123,\n \"data.workExperience\": [\n {}\n ],\n \"data.workExperience[].companyName\": \"<string>\",\n \"data.workExperience[].jobTitle\": \"<string>\",\n \"data.workExperience[].location\": \"<string>\",\n \"data.workExperience[].startDate\": \"<string>\",\n \"data.workExperience[].endDate\": \"<string>\",\n \"data.workExperience[].isCurrent\": true,\n \"data.workExperience[].description\": \"<string>\",\n \"data.skills\": [\n {}\n ],\n \"data.skills[]\": \"<string>\",\n \"data.expectedSalary\": 123,\n \"data.workPreference\": \"<string>\",\n \"data.noticePeriod\": 123,\n \"data.availabilityStatus\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/v1/cv-parse/confirm")
.header("Content-Type", "application/json")
.body("{\n \"parseResultId\": \"<string>\",\n \"data\": {},\n \"data.firstName\": \"<string>\",\n \"data.lastName\": \"<string>\",\n \"data.cvEmail\": \"<string>\",\n \"data.phone\": \"<string>\",\n \"data.location\": \"<string>\",\n \"data.linkedinUrl\": \"<string>\",\n \"data.githubUrl\": \"<string>\",\n \"data.portfolioUrl\": \"<string>\",\n \"data.title\": \"<string>\",\n \"data.summary\": \"<string>\",\n \"data.education\": [\n {}\n ],\n \"data.education[].institutionName\": \"<string>\",\n \"data.education[].degreeType\": \"<string>\",\n \"data.education[].fieldOfStudy\": \"<string>\",\n \"data.education[].startDate\": \"<string>\",\n \"data.education[].endDate\": \"<string>\",\n \"data.education[].isCurrent\": true,\n \"data.education[].gpa\": 123,\n \"data.workExperience\": [\n {}\n ],\n \"data.workExperience[].companyName\": \"<string>\",\n \"data.workExperience[].jobTitle\": \"<string>\",\n \"data.workExperience[].location\": \"<string>\",\n \"data.workExperience[].startDate\": \"<string>\",\n \"data.workExperience[].endDate\": \"<string>\",\n \"data.workExperience[].isCurrent\": true,\n \"data.workExperience[].description\": \"<string>\",\n \"data.skills\": [\n {}\n ],\n \"data.skills[]\": \"<string>\",\n \"data.expectedSalary\": 123,\n \"data.workPreference\": \"<string>\",\n \"data.noticePeriod\": 123,\n \"data.availabilityStatus\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/cv-parse/confirm")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"parseResultId\": \"<string>\",\n \"data\": {},\n \"data.firstName\": \"<string>\",\n \"data.lastName\": \"<string>\",\n \"data.cvEmail\": \"<string>\",\n \"data.phone\": \"<string>\",\n \"data.location\": \"<string>\",\n \"data.linkedinUrl\": \"<string>\",\n \"data.githubUrl\": \"<string>\",\n \"data.portfolioUrl\": \"<string>\",\n \"data.title\": \"<string>\",\n \"data.summary\": \"<string>\",\n \"data.education\": [\n {}\n ],\n \"data.education[].institutionName\": \"<string>\",\n \"data.education[].degreeType\": \"<string>\",\n \"data.education[].fieldOfStudy\": \"<string>\",\n \"data.education[].startDate\": \"<string>\",\n \"data.education[].endDate\": \"<string>\",\n \"data.education[].isCurrent\": true,\n \"data.education[].gpa\": 123,\n \"data.workExperience\": [\n {}\n ],\n \"data.workExperience[].companyName\": \"<string>\",\n \"data.workExperience[].jobTitle\": \"<string>\",\n \"data.workExperience[].location\": \"<string>\",\n \"data.workExperience[].startDate\": \"<string>\",\n \"data.workExperience[].endDate\": \"<string>\",\n \"data.workExperience[].isCurrent\": true,\n \"data.workExperience[].description\": \"<string>\",\n \"data.skills\": [\n {}\n ],\n \"data.skills[]\": \"<string>\",\n \"data.expectedSalary\": 123,\n \"data.workPreference\": \"<string>\",\n \"data.noticePeriod\": 123,\n \"data.availabilityStatus\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyCV
Confirm and Save Parsed CV
Confirm and save the parsed CV data to your profile
POST
/
api
/
v1
/
cv-parse
/
confirm
Confirm and Save Parsed CV
curl --request POST \
--url https://api.example.com/api/v1/cv-parse/confirm \
--header 'Content-Type: application/json' \
--data '
{
"parseResultId": "<string>",
"data": {},
"data.firstName": "<string>",
"data.lastName": "<string>",
"data.cvEmail": "<string>",
"data.phone": "<string>",
"data.location": "<string>",
"data.linkedinUrl": "<string>",
"data.githubUrl": "<string>",
"data.portfolioUrl": "<string>",
"data.title": "<string>",
"data.summary": "<string>",
"data.education": [
{}
],
"data.education[].institutionName": "<string>",
"data.education[].degreeType": "<string>",
"data.education[].fieldOfStudy": "<string>",
"data.education[].startDate": "<string>",
"data.education[].endDate": "<string>",
"data.education[].isCurrent": true,
"data.education[].gpa": 123,
"data.workExperience": [
{}
],
"data.workExperience[].companyName": "<string>",
"data.workExperience[].jobTitle": "<string>",
"data.workExperience[].location": "<string>",
"data.workExperience[].startDate": "<string>",
"data.workExperience[].endDate": "<string>",
"data.workExperience[].isCurrent": true,
"data.workExperience[].description": "<string>",
"data.skills": [
{}
],
"data.skills[]": "<string>",
"data.expectedSalary": 123,
"data.workPreference": "<string>",
"data.noticePeriod": 123,
"data.availabilityStatus": "<string>"
}
'import requests
url = "https://api.example.com/api/v1/cv-parse/confirm"
payload = {
"parseResultId": "<string>",
"data": {},
"data.firstName": "<string>",
"data.lastName": "<string>",
"data.cvEmail": "<string>",
"data.phone": "<string>",
"data.location": "<string>",
"data.linkedinUrl": "<string>",
"data.githubUrl": "<string>",
"data.portfolioUrl": "<string>",
"data.title": "<string>",
"data.summary": "<string>",
"data.education": [{}],
"data.education[].institutionName": "<string>",
"data.education[].degreeType": "<string>",
"data.education[].fieldOfStudy": "<string>",
"data.education[].startDate": "<string>",
"data.education[].endDate": "<string>",
"data.education[].isCurrent": True,
"data.education[].gpa": 123,
"data.workExperience": [{}],
"data.workExperience[].companyName": "<string>",
"data.workExperience[].jobTitle": "<string>",
"data.workExperience[].location": "<string>",
"data.workExperience[].startDate": "<string>",
"data.workExperience[].endDate": "<string>",
"data.workExperience[].isCurrent": True,
"data.workExperience[].description": "<string>",
"data.skills": [{}],
"data.skills[]": "<string>",
"data.expectedSalary": 123,
"data.workPreference": "<string>",
"data.noticePeriod": 123,
"data.availabilityStatus": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
parseResultId: '<string>',
data: {},
'data.firstName': '<string>',
'data.lastName': '<string>',
'data.cvEmail': '<string>',
'data.phone': '<string>',
'data.location': '<string>',
'data.linkedinUrl': '<string>',
'data.githubUrl': '<string>',
'data.portfolioUrl': '<string>',
'data.title': '<string>',
'data.summary': '<string>',
'data.education': [{}],
'data.education[].institutionName': '<string>',
'data.education[].degreeType': '<string>',
'data.education[].fieldOfStudy': '<string>',
'data.education[].startDate': '<string>',
'data.education[].endDate': '<string>',
'data.education[].isCurrent': true,
'data.education[].gpa': 123,
'data.workExperience': [{}],
'data.workExperience[].companyName': '<string>',
'data.workExperience[].jobTitle': '<string>',
'data.workExperience[].location': '<string>',
'data.workExperience[].startDate': '<string>',
'data.workExperience[].endDate': '<string>',
'data.workExperience[].isCurrent': true,
'data.workExperience[].description': '<string>',
'data.skills': [{}],
'data.skills[]': '<string>',
'data.expectedSalary': 123,
'data.workPreference': '<string>',
'data.noticePeriod': 123,
'data.availabilityStatus': '<string>'
})
};
fetch('https://api.example.com/api/v1/cv-parse/confirm', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v1/cv-parse/confirm",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'parseResultId' => '<string>',
'data' => [
],
'data.firstName' => '<string>',
'data.lastName' => '<string>',
'data.cvEmail' => '<string>',
'data.phone' => '<string>',
'data.location' => '<string>',
'data.linkedinUrl' => '<string>',
'data.githubUrl' => '<string>',
'data.portfolioUrl' => '<string>',
'data.title' => '<string>',
'data.summary' => '<string>',
'data.education' => [
[
]
],
'data.education[].institutionName' => '<string>',
'data.education[].degreeType' => '<string>',
'data.education[].fieldOfStudy' => '<string>',
'data.education[].startDate' => '<string>',
'data.education[].endDate' => '<string>',
'data.education[].isCurrent' => true,
'data.education[].gpa' => 123,
'data.workExperience' => [
[
]
],
'data.workExperience[].companyName' => '<string>',
'data.workExperience[].jobTitle' => '<string>',
'data.workExperience[].location' => '<string>',
'data.workExperience[].startDate' => '<string>',
'data.workExperience[].endDate' => '<string>',
'data.workExperience[].isCurrent' => true,
'data.workExperience[].description' => '<string>',
'data.skills' => [
[
]
],
'data.skills[]' => '<string>',
'data.expectedSalary' => 123,
'data.workPreference' => '<string>',
'data.noticePeriod' => 123,
'data.availabilityStatus' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/cv-parse/confirm"
payload := strings.NewReader("{\n \"parseResultId\": \"<string>\",\n \"data\": {},\n \"data.firstName\": \"<string>\",\n \"data.lastName\": \"<string>\",\n \"data.cvEmail\": \"<string>\",\n \"data.phone\": \"<string>\",\n \"data.location\": \"<string>\",\n \"data.linkedinUrl\": \"<string>\",\n \"data.githubUrl\": \"<string>\",\n \"data.portfolioUrl\": \"<string>\",\n \"data.title\": \"<string>\",\n \"data.summary\": \"<string>\",\n \"data.education\": [\n {}\n ],\n \"data.education[].institutionName\": \"<string>\",\n \"data.education[].degreeType\": \"<string>\",\n \"data.education[].fieldOfStudy\": \"<string>\",\n \"data.education[].startDate\": \"<string>\",\n \"data.education[].endDate\": \"<string>\",\n \"data.education[].isCurrent\": true,\n \"data.education[].gpa\": 123,\n \"data.workExperience\": [\n {}\n ],\n \"data.workExperience[].companyName\": \"<string>\",\n \"data.workExperience[].jobTitle\": \"<string>\",\n \"data.workExperience[].location\": \"<string>\",\n \"data.workExperience[].startDate\": \"<string>\",\n \"data.workExperience[].endDate\": \"<string>\",\n \"data.workExperience[].isCurrent\": true,\n \"data.workExperience[].description\": \"<string>\",\n \"data.skills\": [\n {}\n ],\n \"data.skills[]\": \"<string>\",\n \"data.expectedSalary\": 123,\n \"data.workPreference\": \"<string>\",\n \"data.noticePeriod\": 123,\n \"data.availabilityStatus\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/v1/cv-parse/confirm")
.header("Content-Type", "application/json")
.body("{\n \"parseResultId\": \"<string>\",\n \"data\": {},\n \"data.firstName\": \"<string>\",\n \"data.lastName\": \"<string>\",\n \"data.cvEmail\": \"<string>\",\n \"data.phone\": \"<string>\",\n \"data.location\": \"<string>\",\n \"data.linkedinUrl\": \"<string>\",\n \"data.githubUrl\": \"<string>\",\n \"data.portfolioUrl\": \"<string>\",\n \"data.title\": \"<string>\",\n \"data.summary\": \"<string>\",\n \"data.education\": [\n {}\n ],\n \"data.education[].institutionName\": \"<string>\",\n \"data.education[].degreeType\": \"<string>\",\n \"data.education[].fieldOfStudy\": \"<string>\",\n \"data.education[].startDate\": \"<string>\",\n \"data.education[].endDate\": \"<string>\",\n \"data.education[].isCurrent\": true,\n \"data.education[].gpa\": 123,\n \"data.workExperience\": [\n {}\n ],\n \"data.workExperience[].companyName\": \"<string>\",\n \"data.workExperience[].jobTitle\": \"<string>\",\n \"data.workExperience[].location\": \"<string>\",\n \"data.workExperience[].startDate\": \"<string>\",\n \"data.workExperience[].endDate\": \"<string>\",\n \"data.workExperience[].isCurrent\": true,\n \"data.workExperience[].description\": \"<string>\",\n \"data.skills\": [\n {}\n ],\n \"data.skills[]\": \"<string>\",\n \"data.expectedSalary\": 123,\n \"data.workPreference\": \"<string>\",\n \"data.noticePeriod\": 123,\n \"data.availabilityStatus\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/cv-parse/confirm")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"parseResultId\": \"<string>\",\n \"data\": {},\n \"data.firstName\": \"<string>\",\n \"data.lastName\": \"<string>\",\n \"data.cvEmail\": \"<string>\",\n \"data.phone\": \"<string>\",\n \"data.location\": \"<string>\",\n \"data.linkedinUrl\": \"<string>\",\n \"data.githubUrl\": \"<string>\",\n \"data.portfolioUrl\": \"<string>\",\n \"data.title\": \"<string>\",\n \"data.summary\": \"<string>\",\n \"data.education\": [\n {}\n ],\n \"data.education[].institutionName\": \"<string>\",\n \"data.education[].degreeType\": \"<string>\",\n \"data.education[].fieldOfStudy\": \"<string>\",\n \"data.education[].startDate\": \"<string>\",\n \"data.education[].endDate\": \"<string>\",\n \"data.education[].isCurrent\": true,\n \"data.education[].gpa\": 123,\n \"data.workExperience\": [\n {}\n ],\n \"data.workExperience[].companyName\": \"<string>\",\n \"data.workExperience[].jobTitle\": \"<string>\",\n \"data.workExperience[].location\": \"<string>\",\n \"data.workExperience[].startDate\": \"<string>\",\n \"data.workExperience[].endDate\": \"<string>\",\n \"data.workExperience[].isCurrent\": true,\n \"data.workExperience[].description\": \"<string>\",\n \"data.skills\": [\n {}\n ],\n \"data.skills[]\": \"<string>\",\n \"data.expectedSalary\": 123,\n \"data.workPreference\": \"<string>\",\n \"data.noticePeriod\": 123,\n \"data.availabilityStatus\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyEndpoint
POST /api/v1/cv-parse/confirm
http://localhost:3000/api/v1
This endpoint requires authentication and Job Seeker role.
Authentication
Include the access token in the Authorization header:Authorization: Bearer YOUR_ACCESS_TOKEN
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 indata 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
{
"parseResultId": "9968ae8c-e8f4-4d36-a17a-79215cca669c",
"data": {
"cvEmail": "amrrdev@gmail.com",
"phone": "+20 120 456 2326",
"summary": "Software Engineer with 1+ year of experience building scalable APIs with Node.js and NestJS.",
"skills": ["TypeScript", "Node.js", "NestJS", "Docker"],
"workPreference": "REMOTE",
"availabilityStatus": "OPEN_TO_WORK"
}
}
Response
Success Response (200 OK)
{
"success": true,
"data": {
"message": "Profile updated successfully from CV"
},
"message": "Success",
"meta": {
"timestamp": "2026-04-23T20:00:00.000Z",
"path": "/cv-parse/confirm",
"method": "POST"
}
}
Error Responses
400 Bad Request - Validation Error (missing required fields)
{
"success": false,
"error": {
"message": "data must be defined, workPreference must be a valid enum value, availabilityStatus must be a valid enum value",
"statusCode": 400,
"timestamp": "2026-04-23T20:00:00.000Z",
"path": "/cv-parse/confirm",
"method": "POST",
"details": "Bad Request"
}
}
400 Bad Request - No Completed Parse Result
{
"success": false,
"error": {
"message": "No completed parse result to confirm",
"statusCode": 400,
"timestamp": "2026-04-23T20:00:00.000Z",
"path": "/cv-parse/confirm",
"method": "POST",
"details": "Bad Request"
}
}
401 Unauthorized
{
"success": false,
"error": {
"message": "Unauthorized",
"statusCode": 401,
"timestamp": "2026-04-23T20:00:00.000Z",
"path": "/cv-parse/confirm",
"method": "POST",
"details": "Unauthorized"
}
}
403 Forbidden
{
"success": false,
"error": {
"message": "Forbidden resource",
"statusCode": 403,
"timestamp": "2026-04-23T20:00:00.000Z",
"path": "/cv-parse/confirm",
"method": "POST",
"details": "Forbidden"
}
}
404 Not Found - Parse Result Not Found
{
"success": false,
"error": {
"message": "Parse result not found",
"statusCode": 404,
"timestamp": "2026-04-23T20:00:00.000Z",
"path": "/cv-parse/confirm",
"method": "POST",
"details": "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.