Contents
v1 · BetaPartner API
Candidate Intelligence API Integration
Give recruiters more confidence before interviews
Run Candidate Intelligence reports directly inside your ATS to verify candidate information, surface unexpected signals, and generate interview questions in seconds.
Request API AccessBest fit for
Applicant Tracking Systems (ATS)
Recruitment CRMs
Job Boards
Internal Talent Platforms
Executive Search Firms
HR Tech Vendors
Partner Benefits
Why Integrate Candidate Intelligence?
Give your customers additional context before interviews while creating new value inside your platform.
Increase Recruiter Engagement
Keep recruiters inside your ATS by providing candidate verification, interview preparation, and additional hiring insights directly within candidate profiles.
Create a New Revenue Stream
Offer Candidate Intelligence reports to your customers and earn recurring revenue through the partner program.
Differentiate Your Platform
Stand out from competing ATS and recruitment solutions with built-in Candidate Intelligence capabilities.
No Additional Research Required
Help recruiters uncover relevant information beyond the CV without leaving their workflow.
Improve Hiring Quality
Help recruiters and hiring managers make more informed decisions by providing additional context beyond the CV, highlighting verified findings, surfacing potential risks, and identifying areas that require further validation.
Fast Integration
Typical implementation requires only a few API endpoints and can be completed in less than a day.
Integration flow
Get approved and receive an API key
Request access from TieTalent. Once approved, you receive an API key (prefix ats_) for your integration.
Add a button inside candidate profiles
Add a "Run candidate intelligence report" button within candidate profiles. When clicked, it changes to "Running intelligence report..." while the report generates. Once ready, the report opens automatically and the button becomes "✕ Close report". When closed, the button reverts to "View Intelligence report" to reopen a report you have already generated.
Call the TieTalent API when clicked
POST to /api/v1/analyses with the candidate, client (recruiter), and language. Use your own external IDs on client.id and candidate.id.
TieTalent generates the report
The analysis runs in the background. Poll GET /api/v1/analyses/'{'id'}' using the returned id — wait at least 10 seconds between requests while status is queued or processing (see Retry-After response header). Call DELETE on the same path to cancel if the recruiter leaves the profile.
Display the report in the candidate profile
Render the report JSON in your own UI, open the hosted report link from metadata.pdf_download_url, or follow the recommended partner UI pattern below.
Performance & Latency
Candidate Intelligence is designed to provide a responsive experience directly within recruiter workflows.
Action
Typical Response Time
Existing report found
< 1 second
New report generation
30–60 seconds
Report reuse logic
Reports are uniquely identified by platform + company + candidate.
Authentication
HTTP headers
X-API-Key: ats_your_api_key_here Content-Type: application/json
Create analysis
{
"language": "en",
"client": {
"id": "client_company_123",
"first_name": "Jane",
"last_name": "Smith",
"company": "Acme Recruiting"
},
"candidate": {
"id": "candidate_456",
"first_name": "John",
"last_name": "Doe",
"company": "Example Company",
"location": "London, UK",
"role": "Software Engineer",
"cv": "Optional plain-text CV content…"
}
}202 Accepted
The Location header points to GET /api/v1/analyses/'{'id'}'. Retry-After: 10 indicates when to poll next.
{
"id": "cmqp23kgg00067gk0rh6jol5o",
"status": "queued",
"candidate_id": "candidate_456",
"created_at": "2026-06-29T12:00:00.000Z"
}Polling & progressive results
After POST returns 202 Accepted, poll GET /api/v1/analyses/'{'id'}' with the same X-API-Key header. Use the id from the create response.
While status is queued or processing, each GET response includes Retry-After: 10 — wait at least 10 seconds before your next request.
Stop polling when status is completed, failed, or canceled.
{
"id": "cmqp23kgg00067gk0rh6jol5o",
"status": "processing",
"candidate_id": "candidate_456",
"stage": "enrichment",
"created_at": "2026-06-29T12:00:00.000Z",
"updated_at": "2026-06-29T12:00:20.000Z",
"quick_signal": {
"level": "Green",
"reason": "Identity supported by multiple matching signals.",
"identityConfidence": "Medium"
},
"signals": [
{
"statement": "Senior engineer at Example Company since 2021.",
"sourceType": "web",
"sourceUrl": "https://example.com/…",
"reliability": "High"
}
],
"report": null,
"metadata": null,
"error": null
}Fields that populate while processing
quick_signalPreliminary identity signal (Green, Orange, or Red) with a short reason — available once enrichment begins.signalsLive web signals discovered during enrichment. The array grows as external searches complete.stageCurrent pipeline stage: identity → enrichment → report → done.reportFull Candidate Intelligence report — populated only when status is completed.metadataReport metadata including pdf_download_url — populated only when status is completed.Status values
queuedAccepted and waiting to start.processingIn progress — poll for quick_signal, signals, and stage updates.completedReport ready — report and metadata are populated.failedAnalysis failed — error is populated.canceledAnalysis was canceled via DELETE /api/v1/analyses/'{'id'}' or reached a terminal cancel state.Cancel an analysis
DELETE /api/v1/analyses/'{'id'}' stops a queued or in-progress analysis when a recruiter leaves the candidate profile or dismisses a running report. Use the same X-API-Key header as POST and GET.
If the analysis is already completed, failed, or canceled, the endpoint returns the current resource unchanged — no additional charge or side effects.
// No request body — include X-API-Key header only
200 OK
Returns the analysis resource with status canceled. Partial quick_signal or signals may be present if cancellation happened mid-pipeline. Stop polling once status is canceled.
{
"id": "cmqp23kgg00067gk0rh6jol5o",
"status": "canceled",
"candidate_id": "candidate_456",
"stage": "enrichment",
"created_at": "2026-06-29T12:00:00.000Z",
"updated_at": "2026-06-29T12:00:25.000Z",
"quick_signal": null,
"signals": [],
"report": null,
"metadata": null,
"error": null
}Completed analysis
Returned when status is completed.
{
"id": "clx_analysis_id",
"status": "completed",
"candidate_id": "candidate_456",
"stage": "done",
"created_at": "2026-06-29T12:00:00.000Z",
"updated_at": "2026-06-29T12:00:45.000Z",
"quick_signal": {
"level": "Green",
"reason": "Identity supported by multiple matching signals.",
"identityConfidence": "Medium"
},
"signals": [
{
"statement": "…",
"sourceType": "web",
"reliability": "High"
}
],
"report": {
"candidateName": "John Doe",
"recommendation": {
"decision": "GO with validation",
"confidence": "Medium",
"reason": "…",
"evidence": ["…"]
},
"summary": "…",
"whatToValidate": ["…"]
},
"metadata": {
"report_id": "clx_analysis_id",
"candidate_id": "candidate_456",
"language": "en",
"generated_at": "2026-06-29T12:00:45.000Z",
"pdf_download_url": "https://intelligence.tietalent.com/api/ats/reports/{id}/pdf?sig=…"
},
"error": null
}Recommended partner UI
Add a button inside candidate profiles
Add a "Run candidate intelligence report" button within candidate profiles. When clicked, it changes to "Running intelligence report..." while the report generates. Once ready, the report opens automatically and the button becomes "✕ Close report". When closed, the button reverts to "View Intelligence report" to reopen a report you have already stored — without calling POST again.
No report exists
Report generating
Report is open
Report closed / exists
Privacy & security
⚖️ AI Compliance Notice
Candidate Intelligence is designed to support recruiter decision-making, not replace it. Hiring decisions remain the responsibility of the employer and should always include appropriate human review and oversight.
Partner Program
Start integrating Candidate Intelligence
Request access and we will activate your partner API credentials. Integration typically takes less than a day.