Apply for the job offer (create candidate). By default, these fields are required: name, phone, email, cv. However, you can turn off the requirements for all of them (besides name and email) in the offer's settings for the application form.

API also allows answering the job’s questions. You just need to attach a list of answers to the request.

Note: you need to replace yourcompany with the subdomain of your company's careers site. If you want to try out this endpoint, please type the subdomain in the Base URL (right sidebar).

Screening questions

You can create screening questions in Web Application and use them in creating candidates via Careers Site API.
Screening questions, if they're set up for the offer, can be found in GET /offers endpoint response:

"open_questions": [
	{
		"id": 286356,
		"kind": "string",
		"required": true,
    "position": 1,
    "body": "Desired Salary",
		"open_question_options": []
	},
	{
		"id": 286357,
		"kind": "string",
    "required": true,
    "position": 2,
		"body": "Native Language",
		"open_question_options": []
	}
]

When answering a screening question, provide the ID of the question (in the open_question_id field) and the answer (in the content/multi_content/file/flag field).

Use content for questions with kind: string, text, single_choice, date, salary, and number;

Use multi_content for questions with kind: multi_choice;

Use file for questions with kind: file;

Use flag for questions with kind: boolean and legal:

candidate[open_question_answers_attributes][0][open_question_id]=232583
candidate[open_question_answers_attributes][0][content]=I found it on Linkedin
candidate[open_question_answers][0][open_question_id]: 256390
candidate[open_question_answers][0][content]: Information provided
by the candidate
candidate[open_question_answers][0][open_question_id]: 256390
candidate[open_question_answers][0][content]: <choice made by the candidate>
candidate[open_question_answers][0][open_question_id]: 256390
candidate[open_question_answers][0][content]: YYYY-MM-DD
candidate[open_question_answers][0][open_question_id]: 256390
candidate[open_question_answers][0][content]: <numerical value>
candidate[open_question_answers][0][open_question_id]: 256390
candidate[open_question_answers][0][content]: <numerical value>
candidate[open_question_answers][0][open_question_id]: 256390
candidate[open_question_answers][0][multi_content][0]: <choice made by the candidate>
candidate[open_question_answers][0][multi_content][1]: <choice made by the candidate>
candidate[open_question_answers][0][multi_content][2]: <choice made by the candidate>
candidate[open_question_answers][0][open_question_id]: 256390
candidate[open_question_answers][0][file]: @/path/to/file.jpg
candidate[open_question_answers][0][open_question_id]: 256390
candidate[open_question_answers][0][flag]: <true/false>
candidate[open_question_answers][0][open_question_id]: 256390
candidate[open_question_answers][0][flag]: <true/false>

You can find full example requests on the right side.

📘

No application form

You can omit the questions by not passing them in payload at all, even if some of them are required.
However, if you pass them with empty values (null or ""), you will receive validation errors for required questions in response.

Other

📘

Uploading files

If you use form-data request, do not forget to escape [ with %5B and ] with %5D.

If you create candidates with heavy media files e.g. PDFs, add async=true parameter in the request URL to ensure that file upload finishes before candidate is created.

🚧

Confirmation email

Please note, that creating a candidate using this endpoint WILL trigger sending a confirmation email - exactly like when candidate applies for your offer.

Language
URL
Click Try It! to start a request and see the response here!