curl --request PUT \
--url https://api-service.fribl.co/api/v1/cvs/{id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"information": {
"first_name": "John",
"last_name": "Doe",
"email": [
"john@example.com"
],
"phone": [
"+31612345678"
],
"linkedin": "https://linkedin.com/in/johndoe",
"github": "https://github.com/johndoe",
"website": "https://johndoe.com",
"address": {
"city": "Amsterdam",
"country": "Netherlands"
}
},
"content_language": "<string>",
"experience": [
{
"title": "Senior Software Engineer",
"activity_sector": "Technology",
"description": "Led development of microservices architecture",
"duration": 36,
"start_date": "2020-01",
"end_date": "2023-01"
}
],
"education": [
{
"degree": "Master of Science",
"major": "Computer Science",
"score": "Cum Laude",
"institution_name": "University of Amsterdam",
"start_date": "2015-09",
"end_date": "2017-06"
}
],
"hard_skills": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"skill": "JavaScript",
"explanation": "Candidate demonstrates strong JavaScript proficiency"
}
],
"soft_skills": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"skill": "JavaScript",
"explanation": "Candidate demonstrates strong JavaScript proficiency"
}
]
}
'import requests
url = "https://api-service.fribl.co/api/v1/cvs/{id}"
payload = {
"information": {
"first_name": "John",
"last_name": "Doe",
"email": ["john@example.com"],
"phone": ["+31612345678"],
"linkedin": "https://linkedin.com/in/johndoe",
"github": "https://github.com/johndoe",
"website": "https://johndoe.com",
"address": {
"city": "Amsterdam",
"country": "Netherlands"
}
},
"content_language": "<string>",
"experience": [
{
"title": "Senior Software Engineer",
"activity_sector": "Technology",
"description": "Led development of microservices architecture",
"duration": 36,
"start_date": "2020-01",
"end_date": "2023-01"
}
],
"education": [
{
"degree": "Master of Science",
"major": "Computer Science",
"score": "Cum Laude",
"institution_name": "University of Amsterdam",
"start_date": "2015-09",
"end_date": "2017-06"
}
],
"hard_skills": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"skill": "JavaScript",
"explanation": "Candidate demonstrates strong JavaScript proficiency"
}
],
"soft_skills": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"skill": "JavaScript",
"explanation": "Candidate demonstrates strong JavaScript proficiency"
}
]
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
information: {
first_name: 'John',
last_name: 'Doe',
email: ['john@example.com'],
phone: ['+31612345678'],
linkedin: 'https://linkedin.com/in/johndoe',
github: 'https://github.com/johndoe',
website: 'https://johndoe.com',
address: {city: 'Amsterdam', country: 'Netherlands'}
},
content_language: '<string>',
experience: [
{
title: 'Senior Software Engineer',
activity_sector: 'Technology',
description: 'Led development of microservices architecture',
duration: 36,
start_date: '2020-01',
end_date: '2023-01'
}
],
education: [
{
degree: 'Master of Science',
major: 'Computer Science',
score: 'Cum Laude',
institution_name: 'University of Amsterdam',
start_date: '2015-09',
end_date: '2017-06'
}
],
hard_skills: [
{
id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
skill: 'JavaScript',
explanation: 'Candidate demonstrates strong JavaScript proficiency'
}
],
soft_skills: [
{
id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
skill: 'JavaScript',
explanation: 'Candidate demonstrates strong JavaScript proficiency'
}
]
})
};
fetch('https://api-service.fribl.co/api/v1/cvs/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api-service.fribl.co/api/v1/cvs/{id}"
payload := strings.NewReader("{\n \"information\": {\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"email\": [\n \"john@example.com\"\n ],\n \"phone\": [\n \"+31612345678\"\n ],\n \"linkedin\": \"https://linkedin.com/in/johndoe\",\n \"github\": \"https://github.com/johndoe\",\n \"website\": \"https://johndoe.com\",\n \"address\": {\n \"city\": \"Amsterdam\",\n \"country\": \"Netherlands\"\n }\n },\n \"content_language\": \"<string>\",\n \"experience\": [\n {\n \"title\": \"Senior Software Engineer\",\n \"activity_sector\": \"Technology\",\n \"description\": \"Led development of microservices architecture\",\n \"duration\": 36,\n \"start_date\": \"2020-01\",\n \"end_date\": \"2023-01\"\n }\n ],\n \"education\": [\n {\n \"degree\": \"Master of Science\",\n \"major\": \"Computer Science\",\n \"score\": \"Cum Laude\",\n \"institution_name\": \"University of Amsterdam\",\n \"start_date\": \"2015-09\",\n \"end_date\": \"2017-06\"\n }\n ],\n \"hard_skills\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"skill\": \"JavaScript\",\n \"explanation\": \"Candidate demonstrates strong JavaScript proficiency\"\n }\n ],\n \"soft_skills\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"skill\": \"JavaScript\",\n \"explanation\": \"Candidate demonstrates strong JavaScript proficiency\"\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.put("https://api-service.fribl.co/api/v1/cvs/{id}")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"information\": {\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"email\": [\n \"john@example.com\"\n ],\n \"phone\": [\n \"+31612345678\"\n ],\n \"linkedin\": \"https://linkedin.com/in/johndoe\",\n \"github\": \"https://github.com/johndoe\",\n \"website\": \"https://johndoe.com\",\n \"address\": {\n \"city\": \"Amsterdam\",\n \"country\": \"Netherlands\"\n }\n },\n \"content_language\": \"<string>\",\n \"experience\": [\n {\n \"title\": \"Senior Software Engineer\",\n \"activity_sector\": \"Technology\",\n \"description\": \"Led development of microservices architecture\",\n \"duration\": 36,\n \"start_date\": \"2020-01\",\n \"end_date\": \"2023-01\"\n }\n ],\n \"education\": [\n {\n \"degree\": \"Master of Science\",\n \"major\": \"Computer Science\",\n \"score\": \"Cum Laude\",\n \"institution_name\": \"University of Amsterdam\",\n \"start_date\": \"2015-09\",\n \"end_date\": \"2017-06\"\n }\n ],\n \"hard_skills\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"skill\": \"JavaScript\",\n \"explanation\": \"Candidate demonstrates strong JavaScript proficiency\"\n }\n ],\n \"soft_skills\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"skill\": \"JavaScript\",\n \"explanation\": \"Candidate demonstrates strong JavaScript proficiency\"\n }\n ]\n}")
.asString();{
"message": "Successfully updated CV with ID: 550e8400-e29b-41d4-a716-446655440000",
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"information": {
"first_name": "John",
"last_name": "Doe",
"email": [
"john@example.com"
],
"phone": [
"+31612345678"
],
"linkedin": "https://linkedin.com/in/johndoe",
"github": "https://github.com/johndoe",
"website": "https://johndoe.com",
"address": {
"city": "Amsterdam",
"country": "Netherlands"
}
},
"experience": [
{
"title": "Senior Software Engineer",
"activity_sector": "Technology",
"description": "Led development of microservices architecture",
"duration": 36,
"start_date": "2020-01",
"end_date": "2023-01"
}
],
"education": [
{
"degree": "Master of Science",
"major": "Computer Science",
"score": "Cum Laude",
"institution_name": "University of Amsterdam",
"start_date": "2015-09",
"end_date": "2017-06"
}
],
"skill_descriptions": [
"<string>"
],
"source_language": "<string>",
"hard_skills": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"skill": "JavaScript",
"explanation": "Candidate demonstrates strong JavaScript proficiency"
}
],
"soft_skills": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"skill": "JavaScript",
"explanation": "Candidate demonstrates strong JavaScript proficiency"
}
],
"created_at": "2024-01-01T00:00:00.000Z",
"updated_at": "2024-01-01T00:00:00.000Z"
}
}Update a CV
Apply a partial (dimension-scoped) update to a CV. Submit any non-empty subset of the allowed dimensions — information, experience, education, hard_skills, soft_skills — and only those will be processed and persisted. Unspecified dimensions are left untouched. content_language is required on every patch (whether the body touches text or skills dimensions); it can also be supplied via the Accept-Language request header, which the API auto-forwards. The 200 response echoes the full merged CV entity (with created_at / updated_at populated from the local task row), so the caller does not need a follow-up GET /cvs/{id}.
curl --request PUT \
--url https://api-service.fribl.co/api/v1/cvs/{id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"information": {
"first_name": "John",
"last_name": "Doe",
"email": [
"john@example.com"
],
"phone": [
"+31612345678"
],
"linkedin": "https://linkedin.com/in/johndoe",
"github": "https://github.com/johndoe",
"website": "https://johndoe.com",
"address": {
"city": "Amsterdam",
"country": "Netherlands"
}
},
"content_language": "<string>",
"experience": [
{
"title": "Senior Software Engineer",
"activity_sector": "Technology",
"description": "Led development of microservices architecture",
"duration": 36,
"start_date": "2020-01",
"end_date": "2023-01"
}
],
"education": [
{
"degree": "Master of Science",
"major": "Computer Science",
"score": "Cum Laude",
"institution_name": "University of Amsterdam",
"start_date": "2015-09",
"end_date": "2017-06"
}
],
"hard_skills": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"skill": "JavaScript",
"explanation": "Candidate demonstrates strong JavaScript proficiency"
}
],
"soft_skills": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"skill": "JavaScript",
"explanation": "Candidate demonstrates strong JavaScript proficiency"
}
]
}
'import requests
url = "https://api-service.fribl.co/api/v1/cvs/{id}"
payload = {
"information": {
"first_name": "John",
"last_name": "Doe",
"email": ["john@example.com"],
"phone": ["+31612345678"],
"linkedin": "https://linkedin.com/in/johndoe",
"github": "https://github.com/johndoe",
"website": "https://johndoe.com",
"address": {
"city": "Amsterdam",
"country": "Netherlands"
}
},
"content_language": "<string>",
"experience": [
{
"title": "Senior Software Engineer",
"activity_sector": "Technology",
"description": "Led development of microservices architecture",
"duration": 36,
"start_date": "2020-01",
"end_date": "2023-01"
}
],
"education": [
{
"degree": "Master of Science",
"major": "Computer Science",
"score": "Cum Laude",
"institution_name": "University of Amsterdam",
"start_date": "2015-09",
"end_date": "2017-06"
}
],
"hard_skills": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"skill": "JavaScript",
"explanation": "Candidate demonstrates strong JavaScript proficiency"
}
],
"soft_skills": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"skill": "JavaScript",
"explanation": "Candidate demonstrates strong JavaScript proficiency"
}
]
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
information: {
first_name: 'John',
last_name: 'Doe',
email: ['john@example.com'],
phone: ['+31612345678'],
linkedin: 'https://linkedin.com/in/johndoe',
github: 'https://github.com/johndoe',
website: 'https://johndoe.com',
address: {city: 'Amsterdam', country: 'Netherlands'}
},
content_language: '<string>',
experience: [
{
title: 'Senior Software Engineer',
activity_sector: 'Technology',
description: 'Led development of microservices architecture',
duration: 36,
start_date: '2020-01',
end_date: '2023-01'
}
],
education: [
{
degree: 'Master of Science',
major: 'Computer Science',
score: 'Cum Laude',
institution_name: 'University of Amsterdam',
start_date: '2015-09',
end_date: '2017-06'
}
],
hard_skills: [
{
id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
skill: 'JavaScript',
explanation: 'Candidate demonstrates strong JavaScript proficiency'
}
],
soft_skills: [
{
id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
skill: 'JavaScript',
explanation: 'Candidate demonstrates strong JavaScript proficiency'
}
]
})
};
fetch('https://api-service.fribl.co/api/v1/cvs/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api-service.fribl.co/api/v1/cvs/{id}"
payload := strings.NewReader("{\n \"information\": {\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"email\": [\n \"john@example.com\"\n ],\n \"phone\": [\n \"+31612345678\"\n ],\n \"linkedin\": \"https://linkedin.com/in/johndoe\",\n \"github\": \"https://github.com/johndoe\",\n \"website\": \"https://johndoe.com\",\n \"address\": {\n \"city\": \"Amsterdam\",\n \"country\": \"Netherlands\"\n }\n },\n \"content_language\": \"<string>\",\n \"experience\": [\n {\n \"title\": \"Senior Software Engineer\",\n \"activity_sector\": \"Technology\",\n \"description\": \"Led development of microservices architecture\",\n \"duration\": 36,\n \"start_date\": \"2020-01\",\n \"end_date\": \"2023-01\"\n }\n ],\n \"education\": [\n {\n \"degree\": \"Master of Science\",\n \"major\": \"Computer Science\",\n \"score\": \"Cum Laude\",\n \"institution_name\": \"University of Amsterdam\",\n \"start_date\": \"2015-09\",\n \"end_date\": \"2017-06\"\n }\n ],\n \"hard_skills\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"skill\": \"JavaScript\",\n \"explanation\": \"Candidate demonstrates strong JavaScript proficiency\"\n }\n ],\n \"soft_skills\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"skill\": \"JavaScript\",\n \"explanation\": \"Candidate demonstrates strong JavaScript proficiency\"\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.put("https://api-service.fribl.co/api/v1/cvs/{id}")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"information\": {\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"email\": [\n \"john@example.com\"\n ],\n \"phone\": [\n \"+31612345678\"\n ],\n \"linkedin\": \"https://linkedin.com/in/johndoe\",\n \"github\": \"https://github.com/johndoe\",\n \"website\": \"https://johndoe.com\",\n \"address\": {\n \"city\": \"Amsterdam\",\n \"country\": \"Netherlands\"\n }\n },\n \"content_language\": \"<string>\",\n \"experience\": [\n {\n \"title\": \"Senior Software Engineer\",\n \"activity_sector\": \"Technology\",\n \"description\": \"Led development of microservices architecture\",\n \"duration\": 36,\n \"start_date\": \"2020-01\",\n \"end_date\": \"2023-01\"\n }\n ],\n \"education\": [\n {\n \"degree\": \"Master of Science\",\n \"major\": \"Computer Science\",\n \"score\": \"Cum Laude\",\n \"institution_name\": \"University of Amsterdam\",\n \"start_date\": \"2015-09\",\n \"end_date\": \"2017-06\"\n }\n ],\n \"hard_skills\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"skill\": \"JavaScript\",\n \"explanation\": \"Candidate demonstrates strong JavaScript proficiency\"\n }\n ],\n \"soft_skills\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"skill\": \"JavaScript\",\n \"explanation\": \"Candidate demonstrates strong JavaScript proficiency\"\n }\n ]\n}")
.asString();{
"message": "Successfully updated CV with ID: 550e8400-e29b-41d4-a716-446655440000",
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"information": {
"first_name": "John",
"last_name": "Doe",
"email": [
"john@example.com"
],
"phone": [
"+31612345678"
],
"linkedin": "https://linkedin.com/in/johndoe",
"github": "https://github.com/johndoe",
"website": "https://johndoe.com",
"address": {
"city": "Amsterdam",
"country": "Netherlands"
}
},
"experience": [
{
"title": "Senior Software Engineer",
"activity_sector": "Technology",
"description": "Led development of microservices architecture",
"duration": 36,
"start_date": "2020-01",
"end_date": "2023-01"
}
],
"education": [
{
"degree": "Master of Science",
"major": "Computer Science",
"score": "Cum Laude",
"institution_name": "University of Amsterdam",
"start_date": "2015-09",
"end_date": "2017-06"
}
],
"skill_descriptions": [
"<string>"
],
"source_language": "<string>",
"hard_skills": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"skill": "JavaScript",
"explanation": "Candidate demonstrates strong JavaScript proficiency"
}
],
"soft_skills": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"skill": "JavaScript",
"explanation": "Candidate demonstrates strong JavaScript proficiency"
}
],
"created_at": "2024-01-01T00:00:00.000Z",
"updated_at": "2024-01-01T00:00:00.000Z"
}
}Authorizations
API key in UUID format. Include this header with every authenticated request.
Path Parameters
Unique identifier of the CV to update.
Body
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
Partial (dimension-scoped) update for a CV. Submit any non-empty subset of the allowed dimensions — information, experience, education, hard_skills, soft_skills — and only those will be processed and persisted. Unspecified dimensions are left untouched. content_language is required on every patch (text or skills dimensions); it can also be supplied via the Accept-Language request header, in which case the body field can be omitted.
Personal and contact information extracted from a CV.
Show child attributes
Show child attributes
ISO 639-1 language code of the submitted update payload. Required on every patch unless the Accept-Language header is set — the API forwards that header automatically. Without either, the request is rejected with 400.
Updated list of work experience entries.
Show child attributes
Show child attributes
Updated list of education entries.
Show child attributes
Show child attributes
Updated hard skills. Skill IDs must already exist in the canonical taxonomy.
Show child attributes
Show child attributes
Updated soft skills. Skill IDs must already exist in the canonical taxonomy.
Show child attributes
Show child attributes
Response
CV updated successfully. data contains the full merged CV entity (the patch applied on top of the existing record), with created_at and updated_at populated from the local task row.