curl --request PATCH \
--url https://rest.hotfix.jobs/v1/employer/jobs/{job_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"description": "<string>"
}
'const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({title: '<string>', description: '<string>'})
};
fetch('https://rest.hotfix.jobs/v1/employer/jobs/{job_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://rest.hotfix.jobs/v1/employer/jobs/{job_id}"
payload = {
"title": "<string>",
"description": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"id": "9a1b2c3d-4e5f-6789-abcd-ef0123456789",
"title": "Staff engineer",
"category": "engineering",
"locations": [
"New York"
],
"work_type": "hybrid",
"employment_type": "FULL_TIME",
"on_board": true,
"listed_on_hotfix": false,
"posted_at": "2026-09-21T15:04:05+00:00",
"applicants_count": 3
}update_job
Edit an active job. title and description are required on this route. Does not close the job. MCP tool: update_job. Changing the title, description, locations, countries, category, work type, employment, or salary takes the job off Hotfix search until extract is confirmed. Department edits do not re-extract.
curl --request PATCH \
--url https://rest.hotfix.jobs/v1/employer/jobs/{job_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"description": "<string>"
}
'const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({title: '<string>', description: '<string>'})
};
fetch('https://rest.hotfix.jobs/v1/employer/jobs/{job_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://rest.hotfix.jobs/v1/employer/jobs/{job_id}"
payload = {
"title": "<string>",
"description": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"id": "9a1b2c3d-4e5f-6789-abcd-ef0123456789",
"title": "Staff engineer",
"category": "engineering",
"locations": [
"New York"
],
"work_type": "hybrid",
"employment_type": "FULL_TIME",
"on_board": true,
"listed_on_hotfix": false,
"posted_at": "2026-09-21T15:04:05+00:00",
"applicants_count": 3
}Authorizations
Employer session JWT from Better Auth.
Path Parameters
Job UUID.
Body
Public job title.
Markdown job description.
engineering, data_ai, product_and_design, sales, marketing, customer, people, operations, finance_and_legal, or leadership.
City or place labels the applicant sees.
Country names. Same closed list the dashboard uses.
remote, hybrid, or onsite.
FULL_TIME, PART_TIME, CONTRACT, or INTERN.
Low end of the stated range. Currency is salary_currency.
High end of the stated range.
ISO currency the posting stated. Do not convert it.
Short public summary.
Optional department under the category.
Response
Success
The response is of type object.