API reference / Jobs
Create or update a job by your own id
/v1/jobs/by-external-id/{externalJobId}Needs a bearer access token with the jobs.write scope. How authentication works
Creates the job if none exists yet for this externalJobId (same request body as POST /v1/jobs), or replaces the fields you send on the existing one. This is the call to use for a sync: send the job every time it changes, and re-sending the same job is always safe. Responds 201 when it created the job and 200 when it updated one.
Path parameters
externalJobIdstringpathrequiredYour own id for this job.
Request bodyapplication/jsonrequired
titlestringrequireddescriptionstringrequiredPlain text or simple HTML.
job_typestringnullableFor example full_time, part_time, contract, casual.
work_modelstringnullableFor example onsite, hybrid, remote.
experience_levelstringnullablecategory_idstring · uuidnullableFrom /v1/job-categories.
citystringnullablestatestringnullablecountrystringrequiredsalary_minnumbernullablesalary_maxnumbernullablesalary_currencystringDefault AUD.
salary_periodstringDefault annual.
statusstringDefault active.
Allowed values:
draftactiveclosedexpires_atstring · datenullableDefault 30 days from now.
questionnairearray of QuestionnaireQuestionScreening questions. Sent in full every time: the job's questions are replaced by this list. Once the job has applications they can only be re-sent unchanged.
question_textstringquestion_typestringtext is a free answer, radio picks one option, checkbox picks any number. radio and checkbox need at least two options.
Allowed values:
textradiocheckboxoptionsarray of stringnullableThe choices, for radio and checkbox questions.
is_requiredboolean
document_requirementsarray of DocumentRequirementDocuments candidates must or may upload. Sent in full every time, like the questionnaire.
document_namestringYour own label for the document. Rolefy creates a matching document type for the employer the first time it sees a new name.
requirementstringAllowed values:
requiredoptional
Responses
- 200Job updated
- 201Job created
- 400Invalid request (
invalid_request)Example response{ "error": { "code": "invalid_request", "message": "Invalid request (`invalid_request`)." } }
