API Reference
FileSyncAI API
The FileSyncAI API lets you integrate AI-powered recruitment automation into your own applications. Currently in private beta.
The API is currently in private beta. Request access at api@filesyncai.com
Base URL
All API requests should be made to:
Base URL
https://filesyncai-production.up.railway.app/api/
Authentication
FileSyncAI uses JWT Bearer tokens for authentication. Include your token in every request header.
Authorization Header
Authorization: Bearer <your_token>
Obtain a token via the Login endpoint.
Error Codes
| Status | Meaning |
|---|---|
| 200 | Success |
| 400 | Bad Request — check your parameters |
| 401 | Unauthorized — invalid or missing token |
| 403 | Forbidden — insufficient permissions |
| 404 | Not Found |
| 500 | Internal Server Error |
Register
POST
/register/
Create a new user account.
Request Body
JSON
{
"email": "user@example.com",
"password": "your_password",
"user_type": "Individual", // "Individual" | "Staffing" | "Company"
"role": "Admin" // "Admin" | "Employee"
}
Response
200 OK
{
"message": "Registration successful",
"token": "eyJhbGciOiJIUzI1NiIs..."
}
Login
POST
/login/
Authenticate and receive a JWT token.
JSON
{
"email": "user@example.com",
"password": "your_password"
}
Response
200 OK
{
"token": "eyJhbGciOiJIUzI1NiIs...",
"user_type": "Individual",
"role": "Admin"
}
Files
GET
/list-files/
List all Google Drive files connected to the authenticated user.
Requires authentication + Google Drive connected.
Response
200 OK
{
"docs": [
{
"id": "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgVE2upms",
"name": "John_Resume.docx",
"mimeType": "application/vnd.google-apps.document"
}
]
}
Candidates
GET
/individual-candidate-status/
Get interview status and scores for the authenticated candidate.
Response
200 OK
[
{
"candidate_name": "John Doe",
"company_name": "Acme Corp",
"job_role": "Software Engineer",
"overall_score": 82,
"status": "Selected",
"recommendation": "Strong Hire",
"interview_scheduled": "2025-06-01T10:00:00Z",
"communication_skills": 8.5,
"problem_solving": 9.0,
"coding_skills": 7.5,
"soft_skills": 8.0,
"time_management": 8.0
}
]
Jobs
GET
/jobs/
List all active job postings for the authenticated company.
POST
/jobs/create/
Create a new job posting.
JSON
{
"job_title": "Senior Backend Engineer",
"description": "We are looking for...",
"location": "Remote",
"salary_range": "80k-120k"
}
Interview
POST
/schedule-interview/
Schedule an AI interview for a selected candidate.
JSON
{
"candidate_email": "candidate@example.com",
"job_id": 42,
"start_time": "2025-06-01T10:00:00Z"
}
Rate Limits
During beta, API requests are limited to:
| Tier | Requests/minute | Requests/day |
|---|---|---|
| Beta | 60 | 5,000 |
| Pro (coming soon) | 300 | 50,000 |
Webhooks
Webhooks are coming soon. Contact us if you need early access.