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

StatusMeaning
200Success
400Bad Request — check your parameters
401Unauthorized — invalid or missing token
403Forbidden — insufficient permissions
404Not Found
500Internal 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:

TierRequests/minuteRequests/day
Beta605,000
Pro (coming soon)30050,000

Webhooks

Webhooks are coming soon. Contact us if you need early access.