Skip to main content
Posting a job in the app? See Post a job.
Every open job is on your company page and in Hotfix search. Closing a job takes it off both. Both flags are read-only. list_jobs returns them. On MCP, agents use post_job, update_job, publish_job, and close_job instead. These routes take your API key, so call them only from your server. To show jobs on a careers page you build yourself, use the public company and job routes instead. They need no key.

Post a job

  1. Call create_job with title, description, a department, plus a team when one of the department’s teams fits. List what the job needs in the description. A draft can wait for its department. Locations, countries, work type, employment, and salary are optional. A salary needs its salary_currency; Hotfix never assumes USD. Publish spends a live-job slot. yoe_min, skills (up to 15), and education are optional too. Leave any out and Hotfix fills it from the description once, and never overwrites a value you set. The hiring MCP’s post_job description lists every department and its teams. Locations are tidied into one format (nyc is saved as New York, NY). A place Hotfix can’t recognize fails the request with 422 and code unknown_place, naming it. Remote and bare country names are dropped instead: use work_type and countries for those.
  2. The job is live and on Hotfix search right away. Hotfix reads the description in the background, usually within a minute, to write its search summary and fill any optional fields you left out. There is nothing to call.

Edit a job

update_job requires title and description on this route. If you change title, description, locations, countries, work type, employment, or salary, Hotfix reads the job again in the background to refresh its summary. The job stays on Hotfix search meanwhile. Department and team edits don’t re-read the job, and Hotfix never changes them.

Requirements and resumes

A job has no requirements field. List what an applicant needs in the description, and applicants read it there before they apply. Hotfix keeps each applicant’s resume and a text copy for you, and doesn’t check it against the job. Nothing is scored or ranked.

Close a job

close_job is terminal. The job leaves your company page and Hotfix search. There is no reopen. Post the same role later as a new job. Applications stay on the closed job. Every close cancels the job’s scheduling links nobody has booked. Booked interviews stay on the calendar. To tell the people still in the pipeline yourself, read preview_close_job first: open applications by stage (new, reviewed, interviewing, offered), links closing cancels, booked interviews, and the Position closed template_id. Then send notify to close_job with the stages to decline (new, reviewed, or interviewing), a template_id, and a send_at. Someone with an offer out is never declined by a close: answer the offer first. Each one is declined with that letter scheduled, as rejection_email does on an application, and the answer counts notified and lists any that failed. Without notify, close_job answers 204.

Read the apply form

Read form_schema on the job detail response.