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

# InterviewStream API

Jentic publishes the only available OpenAPI specification for the InterviewStream API, keeping it validated and agent-ready. InterviewStream is a video-interviewing platform used by HR teams to send asynchronous interview requests to candidates and review the recorded responses; the v0.3.0 API exposes 10 read endpoints covering candidates, requisitions, requisition-candidate links, share links, requests, and the incoming-assessment feed. Authentication is a persistent token passed in the X-AUTH-TOKEN header.

## For AI agents

Read InterviewStream candidates, requisitions, requisition-candidate links, share links, and incoming assessments tied to a recruiting workflow.

## Scope

Does not handle interview-request creation, candidate scoring, recording playback delivery, or scheduling - use for InterviewStream read-only candidate, requisition, share-link, and incoming-assessment data only.

## Capabilities

- List and retrieve candidates and their associated profile data
- List and retrieve requisitions (open roles) and the candidates linked to each
- Read requisition-candidate join records to track which candidate is in which pipeline stage
- Pull share links generated for a candidate so reviewers can view recorded responses
- Retrieve interview-request records sent to candidates
- Read the incoming-assessment feed for newly received candidate responses

## Use cases

### ATS Sync of Candidate Data

Talent-acquisition teams sync InterviewStream candidate and requisition data back into their primary ATS so the pipeline status and recorded-interview links live alongside other application data. GET /candidates and GET /requisitions return the source records, while GET /requisitionCandidates returns the join table that maps candidates to roles. Daily sync replaces manual export-and-import.

Example prompt: List all InterviewStream candidates, then for each requisitionCandidate emit a row with iCandidate, iRequisition, and the share link

### Reviewer Distribution

Hiring managers need to share recorded video responses with peer reviewers. The `/requisitionCandidates/{id}/shareLinks` endpoint returns the canonical share URL for a candidate's response, which the integration drops into Slack, email, or a custom review portal. Distribution that previously required a manager to log in and copy a link becomes an automated push.

Example prompt: Retrieve the share link for requisitionCandidate 9982 and post it to the #hiring-eng Slack channel

### Incoming Assessment Triage

Recruiting coordinators monitor /incoming-assessment for new candidate responses and push notifications to the assigned reviewer in real time. Combined with `/requisitionCandidates/{id}/requests`, the team has full context on which requests are outstanding and which have just landed. Triage that took daily portal logins becomes an event-driven flow.

Example prompt: Poll GET /incoming-assessment every 15 minutes and post each new entry to the assigned hiring manager with the candidate name and requisition title

### Agent-Driven Hiring Status Reports

An AI agent answers questions like 'how many candidates are at the video-interview stage for our backend role?' by calling `/requisitions/{iRequisition}/candidates` and aggregating the response. Jentic stores the X-AUTH-TOKEN in your Jentic One instance so the agent never sees the raw token. Status reports that previously required a portal login and manual count happen on demand in chat.

Example prompt: Pull candidates for requisition iRequisition 4421, count the number with a recorded share link, and report the total to the hiring manager

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/candidates` | List candidates in the workspace |
| GET | `/candidates/{iCandidate}` | Retrieve a single candidate by ID |
| GET | `/requisitions` | List open requisitions |
| GET | `/requisitions/{iRequisition}/candidates` | List candidates attached to a requisition |
| GET | `/requisitionCandidates/{iRequisitionCandidates}/shareLinks` | Read share links for a requisition-candidate record |
| GET | `/requisitionCandidates/{iRequisitionCandidates}/requests` | Read interview requests for a requisition-candidate record |
| GET | `/incoming-assessment` | List newly received candidate responses |

## Key resources

- **Candidates** — Read candidate profile records by iCandidate
- **Requisitions** — Read open roles and the candidates attached to each
- **RequisitionCandidates** — Read the join table linking candidates to requisitions, plus per-candidate share links and requests
- **Incoming Assessment** — Feed of newly received candidate responses awaiting review

## Why Jentic

- **Setup:** Wiring the InterviewStream API by hand means setting up its X-AUTH-TOKEN header and tracking the read paths for candidates, requisitions, and share links. Through Jentic you install once, import the InterviewStream API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** InterviewStream puts the requisition id in the URL path (`/requisitions/{iRequisition}/candidates`), so a rule can pin your agent to one requisition and the read operations you approve on it. Every operation here is a read, so no write path is available to add.
- **Credential handling:** Your InterviewStream X-AUTH-TOKEN is stored once, encrypted, by your own Jentic One instance and injected into the request header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list InterviewStream candidates' or 'get share links for a requisition candidate', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Greenhouse Harvest API** — Full-fidelity ATS with candidate, application, and stage management
- **Lever API** — ATS that pairs with InterviewStream for video-interview pipeline stages
- **Workable API** — Full ATS with built-in video-interview support versus a dedicated video-interview platform
- **SmartRecruiters API** — ATS and hiring platform that integrates with video-interview tools

## FAQ

### Why is there no official OpenAPI spec for the InterviewStream API?

InterviewStream does not publish a public OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call the InterviewStream API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the InterviewStream API use?

It uses a persistent token passed in the X-AUTH-TOKEN header (the spec defines an apiKey scheme named HasApiKey with header name X-AUTH-TOKEN). Through Jentic, the token is stored in your Jentic One instance and injected at execution time so it never enters the agent's prompt or logs.

### Can I list candidates with the InterviewStream API?

Yes. GET /candidates returns the list of candidates in the workspace and GET `/candidates/{iCandidate}` retrieves a single candidate by ID. The candidate's interview activity sits under the requisitionCandidates resource via the iRequisitionCandidates ID.

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

The OpenAPI spec does not declare numeric rate limits. InterviewStream applies per-tenant fair-use throttling; treat HTTP 429 as the canonical signal and back off. For bulk sync, prefer paginated reads at off-peak times.

### How do I retrieve a candidate's share link through Jentic?

Search Jentic for 'get InterviewStream share link'. The SDK returns the GET `/requisitionCandidates/{iRequisitionCandidates}/shareLinks` operation. Run pip install jentic, await client.search('get InterviewStream share link'), then await client.execute(...) with the iRequisitionCandidates ID.

### Does this API allow creating or sending interview requests?

No. The 10 endpoints in v0.3.0 are read-only - they cover listing and retrieving candidates, requisitions, share links, requests, and incoming assessments. Creating interview requests is performed through the InterviewStream UI or via webhooks negotiated separately.

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

Yes. Because you run Jentic One yourself, your own rules decide which InterviewStream operations and credentials the agent may use. Every endpoint here is read-only (candidates, requisitions, requisition-candidate links, share links, requests, and the incoming-assessment feed), so you can grant only the reads you approve and no write path exists. Since the requisition id lives in the URL path, such as GET `/requisitions/{iRequisition}/candidates`, a rule can also pin the agent to a single requisition.
