Why ATS Integration Matters
Your ATS is the command center of recruiting. AI interview platforms that don't integrate create data silos, manual re-entry, and workflow friction.
Seamless integration means:
- Candidate data flows automatically — no duplicate entry
- Interview results sync directly to candidate profiles
- Your hiring team sees the complete timeline in one place
- Analytics combine ATS data with AI interview scores
How ARIA Integrations Work
ARIA connects to your existing stack in two ways:
Native Integration (Spark Hire): Pre-built, one-click connection with full data sync.
Universal REST API: Connect any ATS, HRIS, or custom platform using ARIA's public API. If your system has a REST API or supports webhooks, it can integrate with ARIA.
ARIA Public API — Real Documentation
Authentication
Every API call requires an API key in the Authorization header:
Authorization: Bearer aria_core_YOUR_API_KEY_HERE
API keys are issued by your ARIA account manager. Each key is shown only once at creation — store it securely.
Base URL
https://ariahr.ai/api/v1
API Key Types & Scopes
| Key Type | Use Case | Scopes Included |
|---|---|---|
core | Read candidate data & results | candidates:read, scorecards:read, recordings:read |
candidate_import | Push candidates into ARIA | candidates:write, interviews:create |
analytics | Pull reports & metrics | analytics:read, reports:generate |
job_management | Manage job postings | jobs:read, jobs:write, pipeline:manage |
GET /api/v1/candidates
List candidates from your organization.
Required scope: candidates:read
Query parameters:
limit— results per page (max 100, default 20)page— page number (default 1)jobId— filter by job positionstatus— filter by candidate status
Example request:
GET https://ariahr.ai/api/v1/candidates?limit=20&jobId=job_abc123
Authorization: Bearer aria_core_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Response:
{
"success": true,
"data": {
"candidates": [
{
"id": "cand_xyz789",
"name": "Jane Doe",
"email": "jane@example.com",
"jobId": "job_abc123",
"overallScore": 8.5,
"recommendation": "advance",
"status": "completed"
}
],
"total": 150,
"page": 1,
"limit": 20
},
"timestamp": "2026-01-05T10:00:00.000Z"
}
GET /api/v1/candidates/:id
Single candidate with interview summary.
Required scope: candidates:read
Example request:
GET https://ariahr.ai/api/v1/candidates/cand_xyz789
Authorization: Bearer aria_core_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Response includes: candidate data, interview summary, overallScore (0–10), recommendation (advance/maybe/pass).
Security note: If the candidate doesn't belong to your organization, the API returns 404 — it never reveals whether a record exists.
GET /api/v1/candidates/:id/scorecard
Full AI-generated scorecard.
Required scope: scorecards:read
Response includes:
- Scores by evaluation category
strengths,concerns,keyInsights,redFlagsexecutiveSummaryanddetailedAnalysis
GET /api/v1/candidates/:id/recording
Interview recording and full transcript.
Required scope: recordings:read
Response includes:
recordingUrl— direct audio URL- Full transcript with timestamped segments
- Provider: Retell AI
Rate Limits & Error Handling
| Code | Meaning |
|---|---|
| 200 | Success |
| 401 | Missing or invalid API key |
| 403 | API key lacks required scope |
| 404 | Candidate not found or not in your org |
| 429 | Rate limit exceeded (1,000 requests/hour) |
| 500 | Server error |
When rate limited, the response includes:
X-RateLimit-Remaining: 0X-RateLimit-Reset: [unix timestamp]
Integration Pattern: ATS → ARIA → ATS
Here's the standard data flow for connecting any ATS:
Candidate applies in your ATS
↓
Your ATS sends candidate data to ARIA
POST /api/v1/candidates (candidate_import key)
↓
ARIA conducts AI voice interview
↓
Your system polls or receives webhook on completion
GET /api/v1/candidates/:id/scorecard
↓
Results sync back to ATS candidate record
Step-by-Step: Connect Any ATS
Step 1: Get Your API Key
Contact your ARIA account manager or email integrations@ariahr.ai to request an API key for your organization. Specify which key type you need based on your use case.
Step 2: Test the Connection
GET https://ariahr.ai/api/v1/candidates?limit=1
Authorization: Bearer aria_core_YOUR_KEY
A successful response confirms your key is active and your org data is accessible.
Step 3: Map Your Data Fields
From your ATS to ARIA:
- Candidate name, email, phone
- Job title and requisition ID
- Application date
From ARIA to your ATS:
overallScore(0–10)recommendation(advance/maybe/pass)scorecardUrlor full scorecard JSON- Interview recording URL
- Transcript text
Step 4: Handle Webhooks (Coming Soon)
Webhook support (webhooks:manage scope) is currently in development. Until then, poll GET /api/v1/candidates/:id after a reasonable delay (15–30 minutes post-invitation) to check completion status.
Step 5: Go Live
- Test with one job requisition first
- Monitor API responses for errors
- Train your team on reading ARIA scorecards
- Scale to additional roles
Security Best Practices
API Key Management:
- Use separate keys for development and production environments
- Rotate keys periodically
- Never commit API keys to version control
- Store keys in environment variables only
Data Handling:
- All API calls over HTTPS (TLS 1.3)
- Candidate PII encrypted at rest
- GDPR and CCPA compliant data handling
- Each API key is scoped to one organization — cross-org access is not possible
Support & Getting Started
Request API access: Contact your ARIA account manager or reach out via our contact form.
Technical questions: Our team is available to assist with integration setup for Enterprise customers.
API documentation updates: This guide reflects the current state of ARIA's API as of early 2026. New endpoints are added on a regular release cycle.
Ready to integrate ARIA with your hiring stack?

