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

# Hiretruffle Truffle API

Truffle is an AI-driven one-way interview platform that takes a job description and a candidate pool and returns ranked, culture-fit shortlists. The API exposes job creation, candidate invitations, interview retrieval, and webhook configuration so recruiters can plug Truffle's screening output into their ATS or sourcing flow. Each interview is asynchronous: candidates respond on their own time and Truffle scores the responses for downstream review.

## For AI agents

Create interview jobs, invite candidates to one-way video interviews, and retrieve ranked shortlists from the Truffle screening platform.

## Scope

Does not handle live interview scheduling, offer letters, or background checks - use for AI-driven one-way interview screening only.

## Capabilities

- Create one-way interview jobs with role-specific question sets and scoring rubrics
- Send branded interview invitations to candidates via the invite endpoint
- Retrieve completed interviews with Truffle's culture-fit scoring and ranking
- Register webhooks that fire when an interview completes or is scored
- Manage the lifecycle of interview jobs - list, update, archive, or delete

## Use cases

### Automated First-Round Screening

Recruiting teams replace synchronous phone screens with Truffle one-way interviews. The API lets an agent create a job, invite the long list, and pull back a ranked shortlist of culture-fit candidates once interviews complete. Hiring manager review time drops by 60-80% versus live screens.

Example prompt: Create a Truffle job for 'Senior Designer' with the standard role question set and invite a list of 25 candidates.

### ATS-Driven Interview Pipeline

Candidates progress to a Truffle screen automatically once they reach a specific ATS stage. The agent watches for stage changes, calls POST `/v1/jobs/{id}/invite` with the candidate's contact, and writes the resulting interview link back to the ATS. Candidates get a consistent screening experience without recruiter handoff time.

Example prompt: Invite candidate 'jane@example.com' to Truffle job_sid job_abc123 and write the interview URL back to the originating ATS record.

### Webhook-Driven Shortlist Delivery

Hiring managers do not want to log in to one more tool. Truffle webhooks fire when an interview is scored, and the agent receives the payload, formats the ranked shortlist, and posts it to Slack or a hiring channel. Time from candidate response to manager review is minutes, not days.

Example prompt: Create a webhook subscribed to interview-completed events for job_sid job_abc123 pointing to the agent's ingestion URL.

### Agent-Run Hiring Pipeline

An AI hiring agent connected via Jentic runs the screening loop end-to-end: it creates the Truffle job, manages invites, reads completed interviews, and ranks finalists for the human hiring manager. The X-API-Key stays in your Jentic One instance and never enters the agent context. Setup time is under an hour because the agent loads operation schemas on demand.

Example prompt: Create a Truffle job, invite the top 30 sourced candidates, wait for completion webhooks, and return the top 5 by culture-fit score.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/v1/jobs` | Create a new interview job |
| GET | `/v1/jobs/{job_sid}` | Get a single job |
| POST | `/v1/jobs/{job_sid}/invite` | Send job invitation |
| GET | `/v1/interviews` | List interviews |
| POST | `/v1/webhooks` | Create a webhook |

## Key resources

- **Jobs** — Interview jobs with question sets and scoring config
- **Interviews** — Candidate interview attempts and scored results
- **Webhooks** — Event subscriptions for interview lifecycle events

## Why Jentic

- **Setup:** Wiring the Truffle API by hand means managing an X-API-Key header and tracking job and interview resources by their sid identifiers. Through Jentic you install once, import the Truffle API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Truffle puts the job id in the URL path (`/v1/jobs/{job_sid}`, `/v1/jobs/{job_sid}/invite`), so a rule can pin your agent to one job and the operations around it, such as sending a one-way interview invite. You choose the operations it may call, so destructive ones like deleting a job or a webhook are not included unless you add them.
- **Credential handling:** Your Truffle X-API-Key is stored once, encrypted, by your own Jentic One instance and injected into the X-API-Key header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'send a one-way interview invite', and Jentic returns the matching Truffle operation with its input schema so the agent calls the right endpoint without reading the reference docs.

## Related APIs

- **Ashby API** — Modern ATS that consumes Truffle screening output as a hiring stage
- **Lever API** — ATS that integrates Truffle outputs into candidate stages
- **Workable API** — Workable bundles its own video assessments inside the ATS

## FAQ

### What authentication does the Truffle API use?

The Truffle API uses an API key sent in the X-API-Key header on every request. Through Jentic, the key is stored encrypted in your Jentic One instance and injected at call time so the agent never reads the raw header value.

### Can I send interview invites with the Truffle API?

Yes. POST `/v1/jobs/{job_sid}/invite` sends a Truffle interview invitation to a candidate, returning the interview URL and tracking id. Invite payloads accept candidate name, email, and optional external id for ATS reconciliation.

### What are the rate limits for the Truffle API?

Truffle does not publish hard rate limits in its OpenAPI spec. Keep invite volume reasonable (a few per second per job) and watch for 429 responses; back off and retry on rate-limit signals.

### How do I retrieve a ranked shortlist through Jentic?

Search Jentic for 'list completed truffle interviews', load GET `/v1/interviews` with the job_sid filter, and execute. Use pip install jentic with the async SearchRequest, LoadRequest, ExecutionRequest pattern to pull the scored interviews.

### Does Truffle send webhooks when interviews complete?

Yes. POST `/v1/webhooks` registers an endpoint that receives event payloads when interviews are completed and scored. Use webhooks instead of polling `/v1/interviews` on a timer.

### Can I limit what my agent is allowed to do with the Truffle API?

Yes. Because Jentic One runs self-hosted on your own infrastructure, your rules decide which Truffle operations and credentials the agent may use. Truffle puts the job id in the URL path, so you can pin the agent to a single job and the operations around it, such as creating a job with POST `/v1/jobs` and sending a one-way interview invite with POST `/v1/jobs/{job_sid}/invite.` You choose exactly which operations it may call, so destructive ones like deleting a job or a webhook stay off the list unless you add them.
