Kombo API
Mock the Kombo API in seconds. Kombo is changing how B2B SaaS companies provide HR integrations to their customers.
[01]
About
Mock the Kombo API as a turnkey Mockzilla sim with 54 OpenAPI endpoints, realistic JSON payloads, no upstream signup or sandbox keys. Kombo is changing how B2B SaaS companies provide HR integrations to their customers. Methods: 22x GET, 22x POST, 5x PUT, 3x DELETE, 2x PATCH. Top resource groups: Unified ATS API, Unified HRIS API, General, Custom Endpoints. Hit https://api.justmocks.com/kombo for the Mockzilla API Explorer landing and per-endpoint sample requests.
Endpoints
54 across 6 resource groups
Methods
GET 22 · POST 22 · PUT 5 · PATCH 2 · DEL 3 none deprecated
OpenAPI
3.0.0 spec version 1.0.0
Source spec
833 KB · YAML
[02]
Endpoints
| GET |
/check-api-key
|
Check API key Check whether your API key is working properly. Mocked via Mockzilla.
|
| POST |
/force-sync
|
Trigger sync Trigger a sync for a specific integration. Please note that it is not necessary nor recommended to call this endpoint periodically on your side. Kombo already performs period syncs for you and you should only trigger syncs yourself in special cases (like when a user clicks on a "Sync" button in your app).
|
| POST |
/passthrough/{tool}/{api}
|
Send passthrough request Send a request to the specified integration's native API. At Kombo we put a lot of work into making sure that our unified API covers all our customers' use cases and that they never have to think about integration-specific logic again. There are cases, however, where our customers want to build features that are very integration-specific. That's where this endpoint comes in. Pass in details about the request you want to make to the integration's API and we'll forward it for you. We'll also take care of setting the right base URL and authenticating your requests. To get started, please pick the relevant API (some tools provide multiple to due different base URLs or authentication schemes) from the table below and pass in the {tool}/{api} identifier as part of the path. |Integration|{tool}/{api}|Description| |---|---|---| |Personio|personio/personnel|Personio's Personnel Data API. We automatically authenticate all requests using the client ID and secret and use https://api.personio.de/v1 as the base URL.| |Workday|workday/soap|Workday's SOAP API. We automatically authenticate all requests. Set data to your raw xml string. Use / as your path, as we will always send requests to https://{domain}/ccx/service/{tenant}/{service_name}/38.2. Set your method to POST. You need to specify the api_options object and set service_name to the name of the service you want to call. Find all available services here. The string that you submit as data will be the content of the soapenv:Body tag in the request.| |SAP SuccessFactors|successfactors/odata-v2|SuccessFactors' OData V2 API. We automatically authenticate all requests and use https://{api_domain}/odata/v2 as the base URL.| |Lever|lever/v1|Lever's v1 API. We automatically authenticate all requests using the partner credentials which have been configured in the Lever tool settings (this uses Kombo's partner credentials by default).| |Recruitee|recruitee/default|The Recruitee API. We automatically authenticate all requests and use https://api.recruitee.com/c/{company_id} as the base URL.| |Greenhouse|greenhouse/harvest|Greenhouse Harvest API. We automatically authenticate all requests using the API key and use https://harvest.greenhouse.io/v1 as the base URL.| |Teamtailor|teamtailor/v1|Teamtailor's JSON-API. We authenticate all request with the Teamtailor API key and use the base URL https://api.teamtailor.com/v1.| |Personio|personio/recruiting|Personio's Recruiting API. We automatically authenticate all requests using the Recruiting access token and use https://api.personio.de/v1/recruiting as the base URL.| |Personio|personio/jobboard|API endpoints exposed on Personio's public job board pages (currently just the XML feed). We automatically use the right https://{company}.jobs.personio.de base URL.| |BambooHR|bamboohr/v1|BambooHR's API. We automatically authenticate all requests using the customer credentials https://api.bamboohr.com/api/gateway.php/{subdomain}/v1 as the base URL.| |Workable|workable/v1|Workable's API. We automatically authenticate all requests using the client ID and secret and use https://subdomain.workable.com/spi/v3 as the base URL.| |HiBob|hibob/v1|HibBob's v1 API. We automatically authenticate all requests using the service user credentials (or, for old integrations, the API key) and use https://api.hibob.com/v1 as the base URL.| |Pinpoint|pinpoint/v1|Pinpoint's JSON:API. We automatically authenticate all requests using the X-API-KEY header and use https://{subdomain}.pinpointhq.com/api/v1 as the base URL.| |Haufe Umantis|umantis/v1|Umantis API v1. We automatically authenticate all requests and use https://{subdomain}.umantis.com/api/v1 as the base URL.| |HRworks|hrworks/v2|HRWorks's v2 API. We automatically authenticate all requests using the customer credentials.| |JazzHR|jazzhr/v1|JazzHR's v1 API. We automatically authenticate all requests.| Please note that the passthrough API endpoints are only meant for edge cases. That's why we only expose them for new integrations after understanding a concrete customer use case. If you have such a use case in mind, please reach out to Kombo.
|
| DEL |
/integrations/{integration_id}
|
Delete integration Delete the specified integration. ⚠️ This can not be undone!
|
| GET |
/integrations/{integration_id}
|
Get integration details Get the specified integration with everything you need to display it to your customer.
|
| POST |
/integrations/{integration_id}/relink
|
Create reconnection link Create a link that will allow the user to reconnect an integration. This is useful if you want to allow your users to update the credentials if the old ones for example expired. Embed this the same way you would embed the connect link. By default, the link will be valid for 1 hour. Example Request Body { "language": "en" }. Available as a Mockzilla mock endpoint.
|
| GET |
/tools/{category}
|
Get tools Get a list of the tools (i.e., integrations) enabled in your environment. This can (in combination with the integration_tool parameter of the "Create Link" endpoint) be used to, for example, display a custom list or grid of available integrations to your end users instead of exposing Kombo Connect's standard tool selector.
|
| POST |
/hris/provisioning-groups/{group_id}/diff
|
Get provisioning diff Get the list of users to provision, deprovision, and optionally update based on the users you've already provisioned in your system.
|
| POST |
/hris/provisioning-groups/{group_id}/setup-links
|
Create provisioning setup link Create a new link that can be passed to the Kombo Connect SDK to open the provisioning setup UI.
|
| GET |
/hris/employees
|
Get employees Retrieve all employees. This feature is currently available for the following integrations: Personio Workday Workday Custom Reports Workday Custom Report SFTP SAP SuccessFactors Factorial UKG Pro rexx systems AFAS Software BambooHR PayFit Customer PayFit Partner PayFit Kenjo HeavenHR HiBob Cezanne HR Entra ID Azure AD Google Workspace Deel Remote Okta Sage HR Humaans Eurécia Oracle HCM Officient Sesame HR Charlie HRworks Abacus Zoho People Gusto Breathe HR CatalystOne Mirus AlexisHR Rippling Sapling Nmbrs PeopleHR Lucca Zelt Planday Hailey HR Silae Sympa IRIS Cascade Kombo Sandbox SFTP You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. Not interested in most fields? You can use our our Scopes feature to customize what data points are synced. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: (id IN ids) AND (remote_id IN remote_ids)
|
| POST |
/hris/employees
|
Create employee Create a new employee. This feature is currently available for the following integrations: Personio SAP SuccessFactors Factorial BambooHR HiBob Remote Sage HR Humaans Gusto Breathe HR AlexisHR Rippling Nmbrs Silae Kombo Sandbox You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. This endpoint requires the permission Create and manage employees to be enabled in your scope config. Example Request Body { "first_name": "John", "last_name": "Doe", "work_email": "john.doe@acme.com", "gender": "MALE", "job_title": "Integrations Team Lead", "home_address": { "city": "Berlin", "country": "DE", "state": "Berlin", "street_1": "Sonnenallee 63", "zip_code": "12045" }, "date_of_birth": "1986-01-01", "start_date": "2020-04-07" }. Mockzilla mock: no signup, no API key.
|
| PATCH |
/hris/employees/{employee_id}
|
Update employee Update an employee. This feature is currently available for the following integrations: Silae DATEV LODAS DATEV Lohn & Gehalt You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. This endpoint requires the permission Create and manage employees to be enabled in your scope config. Example Request Body { "employee_id": "BkgfzSr5muN9cUTMD4wDQFn4", "first_name": "John", "last_name": "Doe", "work_email": "john.doe@acme.com", "ssn": "555-32-6395", "tax_id": "12 345 678 901", "gender": "MALE", "marital_status": "MARRIED", "date_of_birth": "1986-01-01", "start_date": "2020-04-07", "termination_date": "2022-05-20", "job_title": "Integrations Team Lead", "nationality": "DE", "home_address": { "city": "Berlin", "country": "DE", "state": "Berlin", "street_1": "Sonnenallee 63", "zip_code": "12045" } }
|
| POST |
/hris/employees/{employee_id}/attachments
|
Add attachment to employees 🦄 Currently in closed beta. This endpoint is currently in closed beta! We're testing it with selected customers before its public release. If you're interested in learning more or getting early access, please reach out.
|
| GET |
/hris/teams
|
Get teams (deprecated) Get the teams. This feature is currently available for the following integrations: Personio Workday Workday Custom Reports Workday Custom Report SFTP SAP SuccessFactors Factorial UKG Pro rexx systems AFAS Software BambooHR PayFit Kenjo HeavenHR HiBob Cezanne HR Entra ID Azure AD Google Workspace Deel Okta Sage HR Humaans Eurécia Oracle HCM Officient Sesame HR Charlie HRworks Abacus Zoho People Gusto Breathe HR Mirus AlexisHR Rippling Sapling Nmbrs PeopleHR Lucca Zelt Planday Hailey HR Silae IRIS Cascade Kombo Sandbox SFTP You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. This endpoint is deprecated! Please use the /groups endpoint instead. It returns the same data but the naming makes more sense as the model not only includes teams but also departments and cost centers.. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: (id IN ids) AND (remote_id IN remote_ids)
|
| GET |
/hris/groups
|
Get groups Retrieve all "groups" (teams, departments, and cost centers). This feature is currently available for the following integrations: Personio Workday Workday Custom Reports Workday Custom Report SFTP SAP SuccessFactors Factorial UKG Pro rexx systems AFAS Software BambooHR PayFit Kenjo HeavenHR HiBob Cezanne HR Entra ID Azure AD Google Workspace Deel Okta Sage HR Humaans Eurécia Oracle HCM Officient Sesame HR Charlie HRworks Abacus Zoho People Gusto Breathe HR Mirus AlexisHR Rippling Sapling Nmbrs PeopleHR Lucca Zelt Planday Hailey HR Silae IRIS Cascade Kombo Sandbox SFTP You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: (id IN ids) AND (remote_id IN remote_ids)
|
| GET |
/hris/employments
|
Get employments Retrieve all employments. This feature is currently available for the following integrations: Personio Workday Workday Custom Reports Workday Custom Report SFTP SAP SuccessFactors Factorial UKG Pro rexx systems AFAS Software BambooHR PayFit Customer PayFit Partner PayFit Kenjo HeavenHR HiBob Cezanne HR Deel Remote Sage HR Humaans Eurécia Oracle HCM Officient Charlie HRworks Gusto Breathe HR CatalystOne AlexisHR Sapling Nmbrs PeopleHR Lucca Zelt Hailey HR Silae Sympa IRIS Cascade Kombo Sandbox SFTP You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: (id IN ids) AND (remote_id IN remote_ids). Served by the Mockzilla mock runtime.
|
| GET |
/hris/locations
|
Get work locations Retrieve all work locations. This feature is currently available for the following integrations: Personio Workday Workday Custom Reports Workday Custom Report SFTP SAP SuccessFactors Factorial UKG Pro BambooHR PayFit Kenjo HeavenHR HiBob Cezanne HR Entra ID Azure AD Google Workspace Deel Remote Humaans Oracle HCM Sesame HR Charlie HRworks Gusto Breathe HR CatalystOne AlexisHR Rippling Sapling Nmbrs PeopleHR Lucca Zelt Hailey HR Sympa Kombo Sandbox SFTP You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: (id IN ids) AND (remote_id IN remote_ids)
|
| GET |
/hris/absence-types
|
Get absence types Retrieve all absence types. This feature is currently available for the following integrations: Personio Workday SAP SuccessFactors Factorial rexx systems BambooHR PayFit HeavenHR HiBob Cezanne HR Deel Sage HR Humaans Eurécia Officient Sesame HR Charlie HRworks Zoho People AlexisHR Rippling PeopleHR Lucca Silae DATEV LODAS DATEV Lohn & Gehalt Kombo Sandbox SFTP You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: (id IN ids) AND (remote_id IN remote_ids)
|
| GET |
/hris/time-off-balances
|
Get time off balances Retrieve all time off balances. This feature is currently available for the following integrations: Personio Workday SAP SuccessFactors BambooHR HiBob Deel Sage HR Humaans Eurécia Charlie HRworks Kombo Sandbox SFTP You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: (id IN ids) AND (remote_id IN remote_ids)
|
| GET |
/hris/absences
|
Get absences Retrieve all absences. This feature is currently available for the following integrations: Personio Workday SAP SuccessFactors Factorial rexx systems BambooHR PayFit HeavenHR HiBob Cezanne HR Deel Sage HR Humaans Eurécia Officient Sesame HR Charlie HRworks Zoho People AlexisHR Rippling PeopleHR Lucca Hailey HR Silae Kombo Sandbox SFTP You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: (id IN ids) AND (remote_id IN remote_ids)
|
| POST |
/hris/absences
|
Create absence Create a new absence. This feature is currently available for the following integrations: Personio SAP SuccessFactors Factorial BambooHR HiBob Deel Sesame HR AlexisHR Silae DATEV LODAS DATEV Lohn & Gehalt Kombo Sandbox You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. Check this page for a detailed guide. This endpoint requires the permission Manage absences to be enabled in your scope config. Example Request Body { "employee_id": "wXJMxwDvPAjrJ4CyqdV9", "absence_type_id": "3YKtQ7qedsrcCady1jSyAkY1", "start_date": "2019-09-17", "end_date": "2019-09-21", "start_half_day": false, "end_half_day": false, "employee_note": "Visiting the aliens", "start_time": "08:30:00", "end_time": "16:00:00" }. Mocked via Mockzilla.
|
| DEL |
/hris/absences/{absence_id}
|
Delete absence Delete this absence. This feature is currently available for the following integrations: Personio SAP SuccessFactors Factorial BambooHR HiBob Deel Sesame HR AlexisHR Kombo Sandbox You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. This endpoint requires the permission Manage absences to be enabled in your scope config. Example Request Body { "absence_id": "wXJMxwDvPAjrJ4CyqdV9" }
|
| GET |
/hris/legal-entities
|
Get legal entities Retrieve all legal entites. This feature is currently available for the following integrations: Personio Workday Workday Custom Reports SAP SuccessFactors Factorial UKG Pro PayFit Customer PayFit Partner PayFit Kenjo HeavenHR Cezanne HR Entra ID Azure AD Deel Okta Humaans Charlie Abacus Gusto Breathe HR CatalystOne AlexisHR Nmbrs PeopleHR Lucca Silae Kombo Sandbox SFTP You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: (id IN ids) AND (remote_id IN remote_ids)
|
| GET |
/ats/applications
|
Get applications Retrieve all applications. Visit our in depth guide to learn more about: - 💡 Being aware of which applications are tracked - 🚦 Hiring signals - 📈 Application stage changes - ❓ ATS-specific limitations This feature is currently available for the following integrations: Workday SAP SuccessFactors SmartRecruiters Oracle Recruiting Cloud Lever iCIMS Recruitee Greenhouse Teamtailor Ashby Onlyfy AFAS Software BambooHR Bullhorn Bullhorn Login Workable Fountain Softgarden Pinpoint Welcome to the Jungle d.vinci JOIN Jobvite Sage HR TRAFFIT eRecruiter Haufe Umantis Taleez HRworks OTYS Eploy RECRU JazzHR BITE Homerun Carerix Breezy HR Flatchr ApplicantStack TalentSoft Customer Kombo Sandbox You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: (id IN ids) AND (remote_id IN remote_ids)
|
| PUT |
/ats/applications/{application_id}/stage
|
Move application to stage Moves an application to a specified stage. This feature is currently available for the following integrations: Workday SAP SuccessFactors SmartRecruiters Oracle Recruiting Cloud Lever iCIMS Recruitee Greenhouse Teamtailor Ashby Onlyfy BambooHR Workable TRAFFIT Eploy Homerun Carerix Breezy HR You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. This endpoint requires the permission Create and manage candidates and applications to be enabled in your scope config. Example Request Body { "stage_id": "3PJ8PZhZZa1eEdd2DtPNtVup" }
|
| POST |
/ats/applications/{application_id}/result-links
|
Add result link to application Add a result link to an application. This can, for example, be used to link a candidate back to a test result/assessment in your application. As not all ATS tools have a "result link" feature, we sometimes repurpose other fields to expose it. This endpoint requires the permission Create and manage candidates and applications to be enabled in your scope config. Example Request Body { "application_id": "8Xi6iZrwusZqJmDGXs49GBmJ", "label": "Assessment Result", "url": "https://example.com/test-results/5BtP1WC1UboS7CF3yxjKcvjG", "details": { "custom_field_name_prefix": "Acme:", "attributes": [ { "key": "Score", "value": "100%" }, { "key": "Time", "value": "2:30h" } ] } }. Available as a Mockzilla mock endpoint.
|
| POST |
/ats/applications/{application_id}/notes
|
Add note to application Add a note to an application. This feature is currently available for the following integrations: Lever Recruitee Greenhouse Teamtailor Ashby Bullhorn Pinpoint d.vinci Eploy Homerun Carerix You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. Add extra information to an application. This can be any extra text information you want to add to an application. This endpoint requires the permission Create and manage candidates and applications to be enabled in your scope config. Example Request Body { "content": "A new message from the candidate is available in YourChat!", "content_type": "PLAIN_TEXT" }
|
| POST |
/ats/applications/{application_id}/attachments
|
Add attachment to application Uploads an attachment file for the specified applicant. If adding an attachment to an application is not supported by the integration, the attachment will be added to the candidate instead. This endpoint requires the permission Create and manage candidates and applications to be enabled in your scope config. Example Request Body { "application_id": "GRKdd9dibYKKCrmGRSMJf3wu", "attachment": { "name": "Frank Doe CV.txt", "data": "SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=", "type": "CV", "content_type": "text/plain" } }
|
| GET |
/ats/candidates
|
Get candidates Retrieve all candidates. This feature is currently available for the following integrations: Workday SAP SuccessFactors SmartRecruiters Oracle Recruiting Cloud Lever iCIMS Recruitee Greenhouse Teamtailor Ashby Onlyfy AFAS Software BambooHR Bullhorn Bullhorn Login Workable Fountain Pinpoint Welcome to the Jungle JOIN Jobvite Sage HR TRAFFIT Haufe Umantis Taleez HRworks OTYS Eploy RECRU JazzHR BITE Homerun Carerix Breezy HR Flatchr ApplicantStack TalentSoft Customer Kombo Sandbox You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: (id IN ids) AND (remote_id IN remote_ids)
|
| POST |
/ats/candidates
|
Create candidate Create a new candidate and application for the specified job. This feature is currently available for the following integrations: Workday SAP SuccessFactors SmartRecruiters Oracle Recruiting Cloud Lever iCIMS Recruitee Greenhouse Greenhouse Job Board Teamtailor Ashby Onlyfy Personio UKG Pro rexx systems AFAS Software BambooHR Bullhorn Workable Fountain Softgarden Pinpoint Welcome to the Jungle d.vinci JOIN Jobvite Sage HR TRAFFIT eRecruiter Haufe Umantis Jobylon Taleez HRworks OTYS Eploy Heyrecruit RECRU JazzHR BITE Homerun Mysolution Carerix Breezy HR Flatchr TalentSoft concludis Kombo Sandbox You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. This endpoint is deprecated! We realized that in practice it was always more about creating applications instead of candidates, so we created a new, more aptly named one that you should use instead: Create application Using it also has the benefit that we return the newly created applicant at the root level, so you can easily store its ID. This endpoint requires the permission Create and manage candidates and applications to be enabled in your scope config. 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", "country": "US" }, "social_links": [ { "url": "https://www.linkedin.com/in/frank-doe-123456789/" }, { "url": "https://twitter.com/frankdoe" } ] }, "application": { "job_id": "BDpgnpZ148nrGh4mYHNxJBgx", "stage_id": "8x3YKRDcuRnwShdh96ShBNn1" }, "screening_question_answers": [ { "question_id": "3phFBNXRweGnDmsU9o2vdPuQ", "answer": "Yes" }, { "question_id": "EYJjhMQT3LtVKXnTbnRT8s6U", "answer": [ "GUzE666zfyjeoCJX6A8n7wh6", "5WPHzzKAv8cx97KtHRUV96U8", "7yZfKGzWigXxxRTygqAfHvyE" ] } ], "attachments": [ { "name": "Frank Doe CV.txt", "data": "SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=", "type": "CV", "content_type": "text/plain" } ] }
|
| PATCH |
/ats/candidates/{candidate_id}
|
Update candidate 🦄 Currently in closed beta. This endpoint is currently in closed beta! We're testing it with selected customers before its public release. If you're interested in learning more or getting early access, please reach out. Mockzilla mock: no signup, no API key.
|
| POST |
/ats/candidates/{candidate_id}/attachments
|
Add attachment to candidate Uploads an attachment file for the specified candidate. This feature is currently available for the following integrations: Workday SmartRecruiters Oracle Recruiting Cloud Lever iCIMS Recruitee Greenhouse Teamtailor Ashby Onlyfy Bullhorn Workable Welcome to the Jungle eRecruiter Taleez HRworks OTYS Homerun Carerix Breezy HR Kombo Sandbox You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. This endpoint is deprecated! Please use Add attachment to application instead. This action is deprecated because attachments usually concern applications and not candidates. Use endpoint nested under /applications instead.. This endpoint requires the permission Create and manage candidates and applications to be enabled in your scope config. Example Request Body { "candidate_id": "GRKdd9dibYKKCrmGRSMJf3wu", "attachment": { "name": "Frank Doe CV.txt", "data": "SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=", "type": "CV", "content_type": "text/plain" } }
|
| POST |
/ats/candidates/{candidate_id}/result-links
|
Add result link to candidate Add a result link to a candidate. This feature is currently available for the following integrations: Workday SAP SuccessFactors SmartRecruiters Lever Recruitee Greenhouse Teamtailor Ashby Onlyfy Bullhorn Workable Welcome to the Jungle JOIN Jobvite eRecruiter OTYS JazzHR Homerun Breezy HR Kombo Sandbox You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. This endpoint is deprecated! Please use add result link to application instead. This can, for example, be used to link a candidate back to a test result/assessment in your application. As not all ATS tools have a "result link" feature, we sometimes repurpose other fields to expose it. This action is deprecated because result links usually concern applications and not candidates. Use endpoint nested under /applications instead.. This endpoint requires the permission Create and manage candidates and applications to be enabled in your scope config. Example Request Body { "label": "Assessment Result", "url": "https://example.com/test-results/5BtP1WC1UboS7CF3yxjKcvjG", "details": { "custom_field_name_prefix": "Acme:", "attributes": [ { "key": "Score", "value": "100%" }, { "key": "Time", "value": "2:30h" } ] } }
|
| POST |
/ats/candidates/{candidate_id}/tags
|
Add tag to candidate Add a tag to a candidate. This feature is currently available for the following integrations: Workday SAP SuccessFactors SmartRecruiters Lever Recruitee Greenhouse Teamtailor Ashby Onlyfy Workable Welcome to the Jungle eRecruiter RECRU Kombo Sandbox You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. Kombo takes care of creating the tag if required, finding out the right ID, and appending it to the list of tags. This endpoint requires the permission Create and manage candidates and applications to be enabled in your scope config. Example Request Body { "tag": { "name": "Excellent Fit" } }
|
| DEL |
/ats/candidates/{candidate_id}/tags
|
Remove tag from candidate Remove a tag from a candidate based on its name. This feature is currently available for the following integrations: Workday SAP SuccessFactors SmartRecruiters Lever Recruitee Greenhouse Teamtailor Onlyfy Workable Welcome to the Jungle eRecruiter Kombo Sandbox You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. This will also succeed if the tag does not exist on the candidate. This endpoint requires the permission Create and manage candidates and applications to be enabled in your scope config. Example Request Body { "tag": { "name": "Excellent Fit" } }
|
| GET |
/ats/tags
|
Get tags Retrieve all tags. This feature is currently available for the following integrations: Workday SAP SuccessFactors SmartRecruiters Lever Recruitee Greenhouse Teamtailor Ashby Onlyfy Workable Pinpoint Welcome to the Jungle JOIN TRAFFIT RECRU Breezy HR Flatchr Kombo Sandbox You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: (id IN ids) AND (remote_id IN remote_ids). Served by the Mockzilla mock runtime.
|
| GET |
/ats/application-stages
|
Get application stages Get all application stages available in the ATS. This feature is currently available for the following integrations: Workday SAP SuccessFactors SmartRecruiters Oracle Recruiting Cloud Lever iCIMS Recruitee Greenhouse Teamtailor Ashby Onlyfy AFAS Software BambooHR Bullhorn Bullhorn Login Workable Fountain Softgarden Pinpoint Welcome to the Jungle d.vinci Jobvite Sage HR TRAFFIT Haufe Umantis Taleez HRworks OTYS Eploy RECRU JazzHR BITE Homerun Carerix Breezy HR Flatchr ApplicantStack TalentSoft Customer Kombo Sandbox You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. This endpoint is deprecated! Get all application stages available in the ATS. This is deprecated because most ATS systems have separate sets of stages for each job. We'd recommend using the stages property on jobs instead.. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: (id IN ids) AND (remote_id IN remote_ids)
|
| GET |
/ats/jobs
|
Get jobs Retrieve all jobs. Visit our in depth guide to learn more about: - 🔄 Getting updates of the data - ❗ Handling failing syncs - 🔍 Letting your customer choose which jobs to expose - 🔗 Matching jobs in your database to ATS jobs - 🗑️ Reacting to deleted/closed jobs This feature is currently available for the following integrations: Workday SAP SuccessFactors SmartRecruiters Oracle Recruiting Cloud Lever iCIMS Recruitee Greenhouse Greenhouse Job Board Teamtailor Ashby Onlyfy Personio UKG Pro rexx systems AFAS Software BambooHR Bullhorn Bullhorn Login Workable Fountain Softgarden Pinpoint Welcome to the Jungle d.vinci JOIN Jobvite Sage HR TRAFFIT eRecruiter Haufe Umantis Jobylon Taleez HRworks OTYS Eploy Heyrecruit RECRU JazzHR BITE Homerun Mysolution Carerix Breezy HR Flatchr ApplicantStack TalentSoft TalentSoft Customer concludis Kombo Sandbox You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: (id IN ids) AND (remote_id IN remote_ids)
|
| POST |
/ats/jobs/{job_id}/applications
|
Create application Create a new application and candidate for the specified job. Visit our in depth guide 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 This feature is currently available for the following integrations: Workday SAP SuccessFactors SmartRecruiters Oracle Recruiting Cloud Lever iCIMS Recruitee Greenhouse Greenhouse Job Board Teamtailor Ashby Onlyfy Personio UKG Pro rexx systems AFAS Software BambooHR Bullhorn Workable Fountain Softgarden Pinpoint Welcome to the Jungle d.vinci JOIN Jobvite Sage HR TRAFFIT eRecruiter Haufe Umantis Jobylon Taleez HRworks OTYS Eploy Heyrecruit RECRU JazzHR BITE Homerun Mysolution Carerix Breezy HR Flatchr TalentSoft concludis Kombo Sandbox You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. This endpoint requires the permission Create and manage candidates and applications to be enabled in your scope config. Example Request Body { "stage_id": "8x3YKRDcuRnwShdh96ShBNn1", "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", "country": "US" } }, "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" ] } ] }
|
| GET |
/ats/users
|
Get users Retrieve all users. This feature is currently available for the following integrations: SAP SuccessFactors SmartRecruiters Lever Recruitee Greenhouse Teamtailor Ashby Onlyfy Workable Softgarden Pinpoint d.vinci JOIN Jobvite TRAFFIT HRworks OTYS Eploy RECRU JazzHR Carerix Breezy HR Kombo Sandbox You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. Top level filters use AND, while individual filters use OR if they accept multiple arguments. That means filters will be resolved like this: (id IN ids) AND (remote_id IN remote_ids)
|
| GET |
/assessment/packages
|
Get packages Get all available assessment packages for an integration. This is mainly intended for debugging. As you always need to submit the full list of available packages when using "set packages", there shouldn't ever be a need to call this endpoint in production. Mocked via Mockzilla.
|
| PUT |
/assessment/packages
|
Set packages Replaces the list of available assessment packages. Packages that have been previously submitted through this endpoint but aren't included again will be marked as deleted.
|
| GET |
/assessment/orders/open
|
Get open orders Get all open assessment orders of an integration.
|
| PUT |
/assessment/orders/{assessment_order_id}/result
|
Update order result Updates an assessment order result. This feature is currently available for the following integrations: Workday SAP SuccessFactors SmartRecruiters Recruitee Greenhouse Ashby You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. Example Request Body { "status": "COMPLETED", "result_url": "https://example.com", "completed_at": "2023-04-04T00:00:00.000Z", "score": 90, "max_score": 100, "attributes": [ { "field": "remarks", "value": "Test completed with passing score" } ] }
|
| POST |
/connect/create-link
|
Create connection link Generate a unique link that allows your user to enter the embedded Kombo Connect flow. Check out our full guide for more details about implementing the connection flow into your app. Kombo will not deduplicate integrations for you that are created with this endpoint. You are responsible for keeping track of integrations in your system and prevent customers from connecting the same tool again. Use the reconnection link endpoint if you want a customer to update their credentials. Example Request Body { "end_user_email": "test@example.com", "end_user_organization_name": "Test Inc.", "end_user_origin_id": "123", "integration_category": "HRIS", "integration_tool": "personio", "language": "en" }
|
| GET |
/connect/integration-by-token/{token}
|
Get integration by token Use this endpoint with the token you get from the connection flow to retrieve information about the created integration. It works in a similar way as the OAuth2 code flow to securely retrieve information and connect the integration to your user. Check out our full guide for more details about implementing the connection flow into your app. This endpoint is used to ensure users can't trick your system connecting their account in your system to another customers integration. You don't get the integration ID from the showKomboConnect(link) function but only the short lived token used for this endpoint so that users can't send you arbitrary data that you would put into your system. Available as a Mockzilla mock endpoint.
|
| POST |
/connect/activate-integration
|
Activate integration (optional) Use this endpoint with the token you get from the connection flow to retrieve information about the created integration. It works in a similar way as the OAuth2 code flow to securely retrieve information and connect the integration to your user. You do not need to call this endpoint for an integration to become active. We are deprecating this endpoint in favour of the get integration by code endpoint. To migrate you only have to change to the new API endpoint. Example Request Body { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtZXNzYWdlIjoiVGhpcyBpcyBub3QgYW4gYWN0dWFsIHRva2VuLiJ9.JulqgOZBMKceI8vh9YLpVX51efND0ZyfUNHDXLrPz_4" }
|
| POST |
/custom/datev/passthrough
|
Write raw DATEV ASCII file This action allows to send an arbitrary ASCII file directly to DATEV LODAS or Lohn und Gehalt. Kombo adds validation for the file format but not on the content. This action allows you to implement any use case that you might have with DATEV payroll ASCII imports.
|
| PUT |
/custom/datev/employees/{employee_id}/prepare-payroll
|
Prepare DATEV Payroll What DATEV requires to prepare payroll is very specific and currently, as DATEV is not providing "read", this is not part of the unified model. This feature is currently available for the following integrations: DATEV LODAS DATEV Lohn & Gehalt You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. This endpoint requires the permission Manage payroll to be enabled in your scope config. Example Request Body { "employee_id": "EvLV61zdahkN4ftPJbmPCkdv", "payroll_run": { "date": "2022-05-01" }, "hourly_payments": [ { "hours": 14, "lohnart": 200 }, { "hours": 16, "lohnart": 232 } ], "fixed_payments": [ { "amount": 560, "lohnart": 100 } ], "custom_lodas": [ { "amount": 8, "lohnart": 300, "bearbeitungsschluessel": 4 } ] }
|
| PUT |
/custom/datev/employees/{employee_id}/compensations
|
Set DATEV compensations Sets the compensations for an employee on the specified effective date. This feature is currently available for the following integrations: DATEV LODAS DATEV Lohn & Gehalt You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. Other compensations will end at the effective date. That means, if you would like to add a compensation, you also have to include the compensations that you would like to keep. This endpoint requires the permission Manage payroll to be enabled in your scope config. Example Request Body { "employee_id": "3bdhemmSP1TPQDGWtRveRot9", "effective_date": "2022-12-01", "compensations": [ { "amount": 4500, "currency": "EUR", "period": "MONTH", "lohnart": 200 }, { "amount": 30, "currency": "EUR", "period": "HOUR" } ] }
|
| GET |
/custom/datev/data-pushes
|
Get DATEV data pushes Returns all "DATEV Data Pushes" of the last 2 months. You can use this endpoint to give your users transparency about submitted "ASCII-Files" and their status. Each data push can contain multiple files that were submitted. Mockzilla mock: no signup, no API key.
|
| POST |
/custom/datev/push-data/general
|
Push general data to DATEV Uploads the currently relevant general data (employees, compensations, and time offs) to DATEV. This will create so called ASCII files that the accountant has to import in DATEV. You can call this endpoint to implement an on-demand sync to DATEV, for example if you want to offer your users a button to do that in your application.
|
| POST |
/custom/datev/push-data/payroll
|
Push payroll data to DATEV Uploads the currently relevant payroll data (supplements) to DATEV. This will create so called ASCII files that the accountant has to import in DATEV. After finishing the payroll preparation or after correcting payroll, you can call this.
|
| POST |
/custom/silae/employees/{employee_id}/payroll-supplements
|
Write Payroll Supplement Write a payroll supplement to Silae using the supplement code. This feature is currently available for the following integrations: Silae You'd like to see this feature for another integration? Please reach out! We're always happy to discuss extending our coverage. This endpoint requires the permission Manage payroll to be enabled in your scope config. Example Request Body { "employee_id": "EvLV61zdahkN4ftPJbmPCkdv", "supplement_code": "200", "effective_date": "2024-01-14", "element_amount": 6 }
|