canonical: https://jentic.com/apis/hackerrank.com/hackerrank

# HackerRank for Work API

HackerRank for Work is a technical hiring platform used to assess and interview software engineers. The v3 API provides programmatic access to manage users, teams, technical tests, candidate invitations, interviews, interview templates, the question bank, and audit logs. Recruiting teams use it to push candidates into tests from their ATS, pull score reports back, schedule pair-coding interviews, and audit recruiter activity.

## For AI agents

Manage HackerRank for Work users, teams, tests, candidates, interviews, and questions for technical hiring workflows from an ATS or recruiting agent.

## Scope

Does not handle payroll, offer letters, or onboarding workflows - use for HackerRank for Work tests, candidates, interviews, and audit data only.

## Capabilities

- Manage recruiter and admin users, role assignments, and team membership
- List, create, and archive technical assessment tests
- Invite candidates to a test and pull their score reports as PDF or JSON
- Schedule, list, and update pair-coding interview sessions with reusable templates
- List and inspect questions in the question bank
- Pull audit logs of recruiter activity for compliance review

## Use cases

### ATS-Driven Test Invitations

Connect HackerRank for Work to an applicant tracking system so each candidate moved to the technical screen stage receives an invitation automatically. The agent watches the ATS for stage transitions, calls `/x/api/v3/tests/{test_id}/candidates` with the candidate's email, and pulls the score back when the candidate completes. Recruiters get assessment results inside the ATS without manual copying.

Example prompt: POST `/x/api/v3/tests/{test_id}/candidates` with the candidate's email and full name, then GET `/x/api/v3/tests/{test_id}/candidates/{candidate_id}/invite` to send the invite link.

### Score Report Aggregation

Pull score data nightly to build a hiring funnel dashboard that tracks pass rate by test, by team, and by source channel. The agent lists all candidates per test, aggregates the score and time fields, and writes them into a BI warehouse. Useful for talent ops teams justifying assessment spend and tuning question difficulty.

Example prompt: GET `/x/api/v3/tests`, then for each test GET `/x/api/v3/tests/{test_id}/candidates`, and write each candidate's score, status, and time_taken to the warehouse.

### Interview Scheduling Agent

Build a scheduler that creates HackerRank pair-coding interviews from calendar invites. The agent reads a calendar event, calls `/x/api/v3/interviews` to create the interview with the linked candidate and template, and posts the interview URL back into the calendar event description. Interviewers get a ready-to-run pad without manual setup.

Example prompt: POST `/x/api/v3/interviews` with the candidate id, template id, and start time, then update the calendar event with the returned interview URL.

### Compliance Audit Pull

Generate quarterly audit reports of recruiter activity by reading `/x/api/v3/audit_log` filtered by user and date range. The agent normalises the events into a compliance-friendly format and stores them in the document of record. Useful for SOC 2 audits and bias-monitoring programmes.

Example prompt: GET `/x/api/v3/audit_log` filtered by the past 90 days and emit a CSV with timestamp, user_id, action, and target.

### Agent Discovery Through Jentic

Recruiting agents discover HackerRank operations by searching Jentic with intents like 'invite candidate to a coding test'. Jentic returns the matching candidate-creation operation with its input schema. Credentials are isolated in your Jentic One instance.

Example prompt: Use Jentic search 'invite candidate to a hackerrank test' to find POST `/x/api/v3/tests/{test_id}/candidates` and execute it with email and full_name.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/x/api/v3/tests` | List all assessment tests |
| POST | `/x/api/v3/tests/{test_id}/candidates` | Add a candidate to a test |
| GET | `/x/api/v3/tests/{test_id}/candidates/{candidate_id}/invite` | Send the invitation email |
| GET | `/x/api/v3/tests/{test_id}/candidates/{candidate_id}/pdf` | Download the score report PDF |
| POST | `/x/api/v3/interviews` | Schedule a pair-coding interview |
| GET | `/x/api/v3/interview_templates` | List interview templates |
| GET | `/x/api/v3/audit_log` | Read recruiter activity events |

## Key resources

- **Users** — List, search, and manage recruiter and admin users
- **Teams** — Create teams and manage their member assignments
- **Tests** — List, create, archive, and manage technical assessment tests
- **Candidates** — Invite candidates to a test, list submissions, and download PDF reports
- **Interviews** — Schedule, list, and update pair-coding interview sessions
- **Interview templates** — Manage reusable templates that pre-populate the interview pad
- **Questions** — List and inspect questions in the question bank
- **Audit log** — Read recruiter activity events for compliance review

## Why Jentic

- **Setup:** Wiring the HackerRank for Work API by hand means choosing between its Basic and Bearer auth schemes, setting the right header on each call, and building each test, candidate, and interview request yourself. Through Jentic you install once, import the HackerRank for Work API from the API Directory, store the credential once, and your agent calls it.
- **Permission scoping:** HackerRank puts the test id in the URL path (`/tests/{test_id}/candidates/{candidate_id}/invite`), so a rule can pin your agent to one test: it can invite candidates and read their results for that test and nothing else. You choose the operations it may call, so creating interviews or reading audit logs are not included unless you add them.
- **Credential handling:** Your HackerRank Basic credentials and Bearer token are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'invite a candidate to a coding test' or 'schedule an interview', and Jentic returns the matching HackerRank operation with its input schema so the agent calls the right endpoint without browsing the developer docs.

## Related APIs

- **Greenhouse Harvest API** — Sync HackerRank score reports back into a Greenhouse application stage.
- **Lever API** — Move Lever candidates into HackerRank tests at the technical screen stage.
- **HackerEarth Code Evaluation API** — Raw code execution sandbox without recruiting workflow.

## FAQ

### What authentication does the HackerRank for Work API use?

HackerRank for Work supports HTTP Basic auth with username and API key, and Bearer token auth using a token generated from the platform settings. Through Jentic, both credential types are stored encrypted in the vault and the appropriate header is constructed at execution time.

### How do I invite a candidate to a test through the API?

POST `/x/api/v3/tests/{test_id}/candidates` with the candidate's email and full_name. The response returns the candidate id, which you can then pass to `/x/api/v3/tests/{test_id}/candidates/{candidate_id}/invite` to send the invitation email and obtain the unique test URL.

### Can I download the candidate's score report as a PDF?

Yes. GET `/x/api/v3/tests/{test_id}/candidates/{candidate_id}/pdf` returns the candidate's full score report including per-question outcome and overall score. Useful for archiving in the ATS once the candidate completes the assessment.

### How do I schedule a pair-coding interview with the API?

POST `/x/api/v3/interviews` with the candidate details, template id, and start time. The response includes the interview URL that both candidate and interviewer use to enter the pad. Update later with PATCH on `/x/api/v3/interviews/{interview_id}.`

### What rate limits apply to the HackerRank for Work API?

HackerRank enforces per-account rate limits that vary by plan. The API returns 429 with a Retry-After header when exceeded. For nightly score syncs, batch the work over off-peak hours and respect the header rather than retrying tightly.

### How do I integrate HackerRank with AI agents through Jentic?

Run pip install jentic, then search 'invite candidate to a hackerrank test'. Jentic returns the POST `/x/api/v3/tests/{test_id}/candidates` operation. Load and execute it with email and full_name to enrol the candidate. Run Jentic One, the self-hosted execution layer, to obtain an agent key.

### Can I read the question bank through the API?

Yes. GET `/x/api/v3/questions` lists questions in the bank, and GET `/x/api/v3/questions/{question_id}` returns the full question detail. Useful for keeping an external curriculum doc in sync with the active question pool.

### Can I limit what my agent is allowed to do with the HackerRank for Work API?

Yes. Because you run Jentic One yourself, your own rules decide which HackerRank for Work operations and credentials the agent may use, so you can allow it to invite candidates and pull their score reports while blocking everything else. Since the test id sits in the URL path, such as `/x/api/v3/tests/{test_id}/candidates`, a rule can pin the agent to a single test and let it read only that test's results. Operations like POST `/x/api/v3/interviews` to schedule interviews or GET `/x/api/v3/audit_log` to read recruiter activity stay off limits unless you explicitly grant them.
