Unified ATS API
Create application
Changed onCreate a new application and candidate for the specified job.
Visit our in-depth guides to learn more about:
- 🌐 Setting the source of the application
- 📎 Uploading attachments with the application
- ♻️ Retry behaviour
- ✏️ Writing answers to screening questions
- ⚠️ Handling ATS-specific limitations
Example Request Body
{
"candidate": {
"first_name": "Frank",
"last_name": "Doe",
"company": "Acme Inc.",
"title": "Head of Integrations",
"email_address": "frank.doe@example.com",
"phone_number": "+1-541-754-3010",
"gender": "MALE",
"salary_expectations": {
"amount": 100000,
"period": "YEAR"
},
"availability_date": "2021-01-01",
"location": {
"city": "New York",
"zip_code": "10016",
"state": "NY",
"country": "US"
}
},
"stage_id": "8x3YKRDcuRnwShdh96ShBNn1",
"attachments": [
{
"name": "Frank Doe CV.txt",
"data": "SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=",
"type": "CV",
"content_type": "text/plain"
}
],
"screening_question_answers": [
{
"question_id": "3phFBNXRweGnDmsU9o2vdPuQ",
"answer": "Yes"
},
{
"question_id": "EYJjhMQT3LtVKXnTbnRT8s6U",
"answer": [
"GUzE666zfyjeoCJX6A8n7wh6",
"5WPHzzKAv8cx97KtHRUV96U8",
"7yZfKGzWigXxxRTygqAfHvyE"
]
}
],
"remote_fields": {}
}
post/ats/jobs/{job_id}/applications
Request
- Base URLhttps://api.kombo.dev/v1
- AuthHTTP bearer
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Path parameters
job_idstring required
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.
Headers
X-Integration-Idstring required
ID of the integration you want to interact with.
Request body
Example request
{
"screening_question_answers": [
{
"question_id": "D8yPrjXXvA2XeBksTmrVvKSn",
"answer": "Yes"
}
]
}Response
POST /ats/jobs/:job_id/applications Positive response
Example response
{
"data": {
"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"
}
]
}
}
}Changes
- info
added the new optional request property
//
- info
- info
added the new optional request property
//
- info