Authorizations
Path Parameters
The Kombo ID or Remote ID of the Job this candidate should apply for. If you want to use the ID of the integrated system (remote_id) you need to prefix the id with "remote:". You can use the remote ID if you do not want to sync jobs.
Body
POST /ai-apply/unified-api/jobs/:job_id/applications Request body
Stage this candidate should be in. If left out, the default stage for this job will be used. You can obtain the possible stage_ids from the get-jobs endpoint.
Array of the attachments you would like to upload. The first CV in the attachments will be treated as the resume of the candidate when the tool allows previewing a resume.
(⚠️ Deprecated - Use automatic source writing instead) Optional source information that will be attached to the candidate. If you're a job board or recruiting service, you can use this to make sure your customers can see which candidates came from you.
This is deprecated because writing sources requires users to do some setup in most ATSs.
Credit the recruiter or team member who sourced this candidate.
While the source field tracks the channel/platform (e.g., "Awesome Jobboard"), the sourced_by field tracks the individual person responsible for finding the candidate.
Optional GDPR consent information required in some jurisdictions (like the Czech Republic or Slovakia).
Additional fields that we will pass through to specific ATS systems.
Array of answers to screening questions. Currently, not all question types are supported, and unsupported ones will not be submitted.
The available questions for a job can be retrieved from the get jobs endpoint. The answers will be validated based on the format of the questions. Make sure to follow this schema to avoid errors.
[
{
"question_id": "D8yPrjXXvA2XeBksTmrVvKSn",
"answer": "Yes"
}
]Query parameters to be appended to the job posting URL when applying.
Response
POST /ai-apply/unified-api/jobs/:job_id/applications Positive response
"success"{
"id": "H77fDF8uvEzGNPRubiz5DvQ7",
"remote_id": "32",
"outcome": "PENDING",
"rejection_reason_name": null,
"rejected_at": null,
"current_stage_id": "5J7L4b48wBfffYwek9Az9pkM",
"job_id": "H5daSm8e85Dmvmne3wLeCPhX",
"candidate_id": "26vafvWSRmbhNcxJYqjCzuJg",
"screening_question_answers": [],
"custom_fields": {},
"integration_fields": [],
"remote_url": "https://example.com/applications/32",
"changed_at": "2022-08-07T14:01:29.196Z",
"remote_deleted_at": null,
"remote_created_at": "2022-04-02T00:00:00.000Z",
"remote_updated_at": "2022-04-04T00:00:00.000Z",
"remote_data": null,
"current_stage": {
"id": "5J7L4b48wBfffYwek9Az9pkM",
"name": "Interview",
"remote_id": "5",
"index": 2
},
"job": {
"id": "H5daSm8e85Dmvmne3wLeCPhX",
"name": "Head of Integrations",
"remote_id": "1"
},
"candidate": {
"id": "26vafvWSRmbhNcxJYqjCzuJg",
"remote_id": "32",
"first_name": "John",
"last_name": "Doe",
"company": "Acme, Inc.",
"title": "Head of Marketing",
"confidential": false,
"source": "Employee Referral",
"phone_numbers": [
{
"phone_number": "+1-541-754-3010",
"type": "HOME"
}
],
"email_addresses": [
{
"email_address": "john.doe@example.com",
"type": "PRIVATE"
}
],
"social_media": [
{
"link": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"type": "YOUTUBE",
"username": null
}
],
"location": {
"city": "Berlin",
"country": "DE",
"raw": "Berlin, Germany",
"state": "Berlin",
"street_1": "Lohmühlenstraße 65",
"street_2": null,
"zip_code": "12435"
},
"custom_fields": {},
"integration_fields": [],
"remote_url": "https://example.com/candidates/32",
"remote_created_at": "2022-04-02T00:00:00.000Z",
"remote_updated_at": "2022-04-04T00:00:00.000Z",
"remote_data": null,
"changed_at": "2022-04-04T00:00:00.000Z",
"remote_deleted_at": null,
"tags": [
{
"id": "7DHDky9zk4qnWkycuuQjFXNh",
"name": "Fast Learner",
"remote_id": "1"
}
]
}
}