Skip to main content
PUT
/
jobs
/
{id}
Update a job
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"
    }
  ]
}
'
{
  "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"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.fribl.co/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

x-api-key
string
header
required

API key in UUID format. Include this header with every authenticated request.

Path Parameters

id
string<uuid>
required

Unique identifier of the job to update.

Body

application/json

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.

information
object
required

Core information about a job posting.

content_language
string

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.

experience_preference
object

Preferred experience criteria for the job.

education_preference
object

Preferred education criteria for the job.

experience
object

Alias for experience_preference. Accepted for callers using the candidate-shape vocabulary; rewritten internally.

education
object

Alias for education_preference. Accepted for callers using the candidate-shape vocabulary; rewritten internally.

hard_skills
object[]

Updated hard skills. Skill IDs must already exist in the canonical taxonomy.

soft_skills
object[]

Updated soft skills. Skill IDs must already exist in the canonical taxonomy.

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.

message
string
required
Example:

"Successfully updated Job with ID: 550e8400-e29b-41d4-a716-446655440000"

data
object
required

A fully analyzed job description with extracted structured data.