Feature ATS integrations via API
Trigger assessments as applications move through stages and get results right on the candidate card, with no spreadsheet exports or switching between two screens.
See the step-by-step guide to integrating with Coodesh in our Help Center here.




Our ecosystem of deep integrations makes it easy to streamline your hiring processes.










It lets your ATS, careers portal or internal recruiting system send assessments and receive results without the recruiter leaving their screen. In practice: when an application moves to the next stage in the ATS, the system calls Coodesh, the candidate receives the invitation and takes the assessment on Coodesh, and the result flows back to the application card with the score, a per-question breakdown, the report link and an integrity summary. Recruiters no longer need to export spreadsheets, copy invitation links or check two screens. The process logic stays in the ATS; Coodesh handles only the assessment.
It takes three calls and one webhook. First, your system lists the assessments available in the workspace so the recruiter can choose which one to send. Second, it creates an attempt for the candidate, providing name, email, the candidate and job identifiers in your system, the URL the candidate returns to when finished and your webhook URL; the response includes the attempt identifier and the link for the candidate to start. Third, every time the attempt changes state, Coodesh calls your webhook with the data for that state. If needed, your system can also query an attempt's result at any time by its identifier. The full documentation, with request and response examples, is at coodesh.com/docs.
Coodesh integrates through an open API, which means any ATS or in-house system can connect using the same three endpoints, without depending on a specific connector. This applies to off-the-shelf platforms and to the internal system your company has built. To find out whether your ATS already has a connection set up by another customer or by the vendor, or to plan a joint implementation with your ATS team, talk to the Coodesh team; most integrations take just a few days because the API contract is small and stable.
Authentication uses an integration key sent in the header of each request. The key is generated inside the platform, per workspace, and only grants access to that workspace's assessments and attempts. It's the right model for server-to-server integration: no user login is involved, the key is stored in your backend, and it can be revoked and regenerated at any time without affecting users. We recommend one key per integrated system, never shared across environments, and rotating it whenever someone with access leaves the team.
The overall score, the score type, the invitation, start and end dates, the breakdown per test, a link to the full report on Coodesh and a ready-made natural-language summary of the performance, designed to be pasted into an ATS comment or card. It also includes an integrity summary: number of devices and locations, tab and full-screen exits, copy-and-paste events, browser and operating system, and the attempt's severity category. This lets the recruiter prioritize the review without opening Coodesh, with the full details just one click away.
Coodesh calls the webhook URL provided when the attempt was created at every state change: started, when the candidate begins; expired, when the deadline passes without completion; and finished, when the result is available. The finished webhook carries the full result, so your system doesn't need to make a second call. As a best practice, treat the webhook as a signal rather than the only source: respond quickly, process asynchronously, and keep the result lookup by identifier as a reconciliation step in case your endpoint is unavailable when the webhook is sent.
The candidate takes the assessment on Coodesh, with the same experience as any other candidate: in the browser, on mobile when the format allows, and with integrity features according to the assessment's settings. The invitation can go out through Coodesh's standard email or, if your ATS already communicates with the candidate, you can turn off the email when creating the attempt and deliver the link however you prefer. When finished, the candidate is redirected to the URL your system provided, returning to your careers portal or the company's confirmation page.
Create a short test assessment in your workspace, generate an integration key and run the actual flow with an email from your team: list the assessments, create an attempt with the email turned off, open the link, answer it and watch the webhooks arrive at each state. Since test attempts consume results like any other, align the volume of tests during implementation with the Coodesh team. The documentation includes request and response examples for each endpoint and the expected error codes. Docs: https://coodesh.com/docs
Anywhere from a few days to two weeks, depending more on your ATS than on Coodesh. The API contract has three endpoints and one webhook, so the work on the Coodesh side is small. The time goes into mapping within your system: at which stage to trigger, where to store the result, how to display the report link and what to do with the integrity category. A backend developer with experience in REST APIs and webhooks can handle it. If your ATS is from a third party, the usual path is the vendor's integrations team with support from Coodesh.
Your system sends Coodesh the candidate's name, email and internal candidate and job identifiers; Coodesh returns the result, report and integrity summary. Your company is the data controller and Coodesh is the data processor, which should be reflected in the data processing agreement. Two implementation precautions: the report link included in the result gives access to the report without login, so treat it as sensitive data in your system, with access restricted to the recruiting team; and the identifiers you send should be your system's own IDs, not a national ID or document number, because the API doesn't need them to work.