curl --request PUT \
--url https://api-service.fribl.co/api/v1/jobs/{id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"information": {
"title": "Senior Software Engineer",
"company": "Tech Corp",
"description": "We are looking for...",
"activity_sector": "Technology",
"locations": [
{
"city": "Amsterdam",
"country": "Netherlands"
}
],
"job_type": "Full-time",
"contract_type": "Permanent"
},
"content_language": "<string>",
"experience_preference": {
"title": "Software Engineer",
"activity_sector": "Technology",
"description": "Experience in backend development",
"duration": 60
},
"education_preference": {
"degree": "Master of Science",
"major": "Computer Science",
"score": ""
},
"experience": {
"title": "Software Engineer",
"activity_sector": "Technology",
"description": "Experience in backend development",
"duration": 60
},
"education": {
"degree": "Master of Science",
"major": "Computer Science",
"score": ""
},
"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/jobs/{id}"
payload = {
"information": {
"title": "Senior Software Engineer",
"company": "Tech Corp",
"description": "We are looking for...",
"activity_sector": "Technology",
"locations": [
{
"city": "Amsterdam",
"country": "Netherlands"
}
],
"job_type": "Full-time",
"contract_type": "Permanent"
},
"content_language": "<string>",
"experience_preference": {
"title": "Software Engineer",
"activity_sector": "Technology",
"description": "Experience in backend development",
"duration": 60
},
"education_preference": {
"degree": "Master of Science",
"major": "Computer Science",
"score": ""
},
"experience": {
"title": "Software Engineer",
"activity_sector": "Technology",
"description": "Experience in backend development",
"duration": 60
},
"education": {
"degree": "Master of Science",
"major": "Computer Science",
"score": ""
},
"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: {
title: 'Senior Software Engineer',
company: 'Tech Corp',
description: 'We are looking for...',
activity_sector: 'Technology',
locations: [{city: 'Amsterdam', country: 'Netherlands'}],
job_type: 'Full-time',
contract_type: 'Permanent'
},
content_language: '<string>',
experience_preference: {
title: 'Software Engineer',
activity_sector: 'Technology',
description: 'Experience in backend development',
duration: 60
},
education_preference: {degree: 'Master of Science', major: 'Computer Science', score: ''},
experience: {
title: 'Software Engineer',
activity_sector: 'Technology',
description: 'Experience in backend development',
duration: 60
},
education: {degree: 'Master of Science', major: 'Computer Science', score: ''},
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/jobs/{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/jobs/{id}"
payload := strings.NewReader("{\n \"information\": {\n \"title\": \"Senior Software Engineer\",\n \"company\": \"Tech Corp\",\n \"description\": \"We are looking for...\",\n \"activity_sector\": \"Technology\",\n \"locations\": [\n {\n \"city\": \"Amsterdam\",\n \"country\": \"Netherlands\"\n }\n ],\n \"job_type\": \"Full-time\",\n \"contract_type\": \"Permanent\"\n },\n \"content_language\": \"<string>\",\n \"experience_preference\": {\n \"title\": \"Software Engineer\",\n \"activity_sector\": \"Technology\",\n \"description\": \"Experience in backend development\",\n \"duration\": 60\n },\n \"education_preference\": {\n \"degree\": \"Master of Science\",\n \"major\": \"Computer Science\",\n \"score\": \"\"\n },\n \"experience\": {\n \"title\": \"Software Engineer\",\n \"activity_sector\": \"Technology\",\n \"description\": \"Experience in backend development\",\n \"duration\": 60\n },\n \"education\": {\n \"degree\": \"Master of Science\",\n \"major\": \"Computer Science\",\n \"score\": \"\"\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/jobs/{id}")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"information\": {\n \"title\": \"Senior Software Engineer\",\n \"company\": \"Tech Corp\",\n \"description\": \"We are looking for...\",\n \"activity_sector\": \"Technology\",\n \"locations\": [\n {\n \"city\": \"Amsterdam\",\n \"country\": \"Netherlands\"\n }\n ],\n \"job_type\": \"Full-time\",\n \"contract_type\": \"Permanent\"\n },\n \"content_language\": \"<string>\",\n \"experience_preference\": {\n \"title\": \"Software Engineer\",\n \"activity_sector\": \"Technology\",\n \"description\": \"Experience in backend development\",\n \"duration\": 60\n },\n \"education_preference\": {\n \"degree\": \"Master of Science\",\n \"major\": \"Computer Science\",\n \"score\": \"\"\n },\n \"experience\": {\n \"title\": \"Software Engineer\",\n \"activity_sector\": \"Technology\",\n \"description\": \"Experience in backend development\",\n \"duration\": 60\n },\n \"education\": {\n \"degree\": \"Master of Science\",\n \"major\": \"Computer Science\",\n \"score\": \"\"\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 Job with ID: 550e8400-e29b-41d4-a716-446655440000",
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"information": {
"title": "Senior Software Engineer",
"company": "Tech Corp",
"description": "We are looking for...",
"activity_sector": "Technology",
"locations": [
{
"city": "Amsterdam",
"country": "Netherlands"
}
],
"job_type": "Full-time",
"contract_type": "Permanent"
},
"experience_preference": {
"title": "Software Engineer",
"activity_sector": "Technology",
"description": "Experience in backend development",
"duration": 60
},
"education_preference": {
"degree": "Master of Science",
"major": "Computer Science",
"score": ""
},
"job_requirements": [
"5+ years experience",
"Strong communication"
],
"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 job
Apply a partial (dimension-scoped) update to a job. Submit any non-empty subset of the allowed dimensions — information, experience_preference, education_preference, hard_skills, soft_skills — and only those will be processed and persisted. Unspecified dimensions are left untouched. The candidate-shape aliases experience and education are also accepted and rewritten internally to the canonical Vacancy names. 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 Job entity (with created_at / updated_at populated from the local task row), so the caller does not need a follow-up GET /jobs/{id}.
curl --request PUT \
--url https://api-service.fribl.co/api/v1/jobs/{id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"information": {
"title": "Senior Software Engineer",
"company": "Tech Corp",
"description": "We are looking for...",
"activity_sector": "Technology",
"locations": [
{
"city": "Amsterdam",
"country": "Netherlands"
}
],
"job_type": "Full-time",
"contract_type": "Permanent"
},
"content_language": "<string>",
"experience_preference": {
"title": "Software Engineer",
"activity_sector": "Technology",
"description": "Experience in backend development",
"duration": 60
},
"education_preference": {
"degree": "Master of Science",
"major": "Computer Science",
"score": ""
},
"experience": {
"title": "Software Engineer",
"activity_sector": "Technology",
"description": "Experience in backend development",
"duration": 60
},
"education": {
"degree": "Master of Science",
"major": "Computer Science",
"score": ""
},
"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/jobs/{id}"
payload = {
"information": {
"title": "Senior Software Engineer",
"company": "Tech Corp",
"description": "We are looking for...",
"activity_sector": "Technology",
"locations": [
{
"city": "Amsterdam",
"country": "Netherlands"
}
],
"job_type": "Full-time",
"contract_type": "Permanent"
},
"content_language": "<string>",
"experience_preference": {
"title": "Software Engineer",
"activity_sector": "Technology",
"description": "Experience in backend development",
"duration": 60
},
"education_preference": {
"degree": "Master of Science",
"major": "Computer Science",
"score": ""
},
"experience": {
"title": "Software Engineer",
"activity_sector": "Technology",
"description": "Experience in backend development",
"duration": 60
},
"education": {
"degree": "Master of Science",
"major": "Computer Science",
"score": ""
},
"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: {
title: 'Senior Software Engineer',
company: 'Tech Corp',
description: 'We are looking for...',
activity_sector: 'Technology',
locations: [{city: 'Amsterdam', country: 'Netherlands'}],
job_type: 'Full-time',
contract_type: 'Permanent'
},
content_language: '<string>',
experience_preference: {
title: 'Software Engineer',
activity_sector: 'Technology',
description: 'Experience in backend development',
duration: 60
},
education_preference: {degree: 'Master of Science', major: 'Computer Science', score: ''},
experience: {
title: 'Software Engineer',
activity_sector: 'Technology',
description: 'Experience in backend development',
duration: 60
},
education: {degree: 'Master of Science', major: 'Computer Science', score: ''},
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/jobs/{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/jobs/{id}"
payload := strings.NewReader("{\n \"information\": {\n \"title\": \"Senior Software Engineer\",\n \"company\": \"Tech Corp\",\n \"description\": \"We are looking for...\",\n \"activity_sector\": \"Technology\",\n \"locations\": [\n {\n \"city\": \"Amsterdam\",\n \"country\": \"Netherlands\"\n }\n ],\n \"job_type\": \"Full-time\",\n \"contract_type\": \"Permanent\"\n },\n \"content_language\": \"<string>\",\n \"experience_preference\": {\n \"title\": \"Software Engineer\",\n \"activity_sector\": \"Technology\",\n \"description\": \"Experience in backend development\",\n \"duration\": 60\n },\n \"education_preference\": {\n \"degree\": \"Master of Science\",\n \"major\": \"Computer Science\",\n \"score\": \"\"\n },\n \"experience\": {\n \"title\": \"Software Engineer\",\n \"activity_sector\": \"Technology\",\n \"description\": \"Experience in backend development\",\n \"duration\": 60\n },\n \"education\": {\n \"degree\": \"Master of Science\",\n \"major\": \"Computer Science\",\n \"score\": \"\"\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/jobs/{id}")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"information\": {\n \"title\": \"Senior Software Engineer\",\n \"company\": \"Tech Corp\",\n \"description\": \"We are looking for...\",\n \"activity_sector\": \"Technology\",\n \"locations\": [\n {\n \"city\": \"Amsterdam\",\n \"country\": \"Netherlands\"\n }\n ],\n \"job_type\": \"Full-time\",\n \"contract_type\": \"Permanent\"\n },\n \"content_language\": \"<string>\",\n \"experience_preference\": {\n \"title\": \"Software Engineer\",\n \"activity_sector\": \"Technology\",\n \"description\": \"Experience in backend development\",\n \"duration\": 60\n },\n \"education_preference\": {\n \"degree\": \"Master of Science\",\n \"major\": \"Computer Science\",\n \"score\": \"\"\n },\n \"experience\": {\n \"title\": \"Software Engineer\",\n \"activity_sector\": \"Technology\",\n \"description\": \"Experience in backend development\",\n \"duration\": 60\n },\n \"education\": {\n \"degree\": \"Master of Science\",\n \"major\": \"Computer Science\",\n \"score\": \"\"\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 Job with ID: 550e8400-e29b-41d4-a716-446655440000",
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"information": {
"title": "Senior Software Engineer",
"company": "Tech Corp",
"description": "We are looking for...",
"activity_sector": "Technology",
"locations": [
{
"city": "Amsterdam",
"country": "Netherlands"
}
],
"job_type": "Full-time",
"contract_type": "Permanent"
},
"experience_preference": {
"title": "Software Engineer",
"activity_sector": "Technology",
"description": "Experience in backend development",
"duration": 60
},
"education_preference": {
"degree": "Master of Science",
"major": "Computer Science",
"score": ""
},
"job_requirements": [
"5+ years experience",
"Strong communication"
],
"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 job to update.
Body
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
Partial (dimension-scoped) update for a job. Submit any non-empty subset of the allowed dimensions — information, experience_preference, education_preference, hard_skills, soft_skills — and only those will be processed and persisted. Unspecified dimensions are left untouched. The candidate-shape aliases experience and education are also accepted and rewritten internally to the canonical Vacancy names (experience_preference, education_preference) before validation. 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.
Core information about a job posting.
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.
Preferred experience criteria for the job.
Show child attributes
Show child attributes
Preferred education criteria for the job.
Show child attributes
Show child attributes
Alias for experience_preference. Accepted for callers using the candidate-shape vocabulary; rewritten internally.
Show child attributes
Show child attributes
Alias for education_preference. Accepted for callers using the candidate-shape vocabulary; rewritten internally.
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
Job updated successfully. data contains the full merged Job entity (the patch applied on top of the existing record), with created_at and updated_at populated from the local task row.