https://api.jobasean.com
All endpoints accept and return JSON unless noted otherwise. HTTPS only.
Authorization: Bearer <token> header. Obtain token from POST /api/login.
Submit a candidate CV and job requirements. Returns a hire/hold/reject decision with a 0–100 score and written rationale. Free tier: 3 calls per day per IP, no key required. For higher volume, pass an API key in the request body.
| Field | Type | Required | Notes |
|---|---|---|---|
| job_title | string | Required | Role you are hiring for |
| job_description | string | Required | Full requirements and responsibilities |
| cv_text | string | Required | Extracted plain text from the candidate CV |
| api_key | string | Optional | Leave empty for free tier (3/day per IP) |
Employer creates a video interview for a candidate. Returns a token and a candidate-facing link. The candidate opens the link in their browser, records answers to each question, and submits. No app or download required. Free tier: 3 per day per IP. Pass an API key for unlimited.
| Field | Type | Required | Notes |
|---|---|---|---|
| candidate_email | string | Required | Only this email can submit — prevents link sharing |
| job_role | string | Required | Shown to candidate on the interview page |
| questions | array of strings | Required | Up to 10 questions. Max 15 minutes recording per question. |
| api_key | string | Optional | Leave empty for free tier (3/day per IP) |
Called by the candidate-facing recording page. Returns the job role and list of questions for the interview identified by token. Does not return any scoring data or employer information.
Candidate submits their recorded video answers. Each video is uploaded to Bunny CDN, transcribed via OpenAI Whisper, and scored by AIVA. The submitted email must match the email the employer specified when creating the interview. Duplicate submissions are rejected. Proctoring data (tab switches, paste events, timing) is collected automatically by the recording page.
| Field | Type | Required | Notes |
|---|---|---|---|
| candidate_email | string | Required | Must match the email set by the employer |
| video_0, video_1 … video_N | file (video/*) | Required | One file per question, named by index |
| tab_switches | integer | Optional | Proctoring — number of tab-away events |
| paste_events | integer | Optional | Proctoring — number of paste events |
| time_on_questions_sec | integer | Optional | Total time candidate spent on question screen |
| recording_duration_sec | integer | Optional | Total video recording duration in seconds |
candidate_email does not match the invite. Returns 409 if already submitted.Returns the scored video responses for a completed interview. Each response includes the Whisper transcript, AIVA score (0–100), decision, and proctoring signals. Available once the candidate has submitted.
Employer creates a BPO Core assessment for a candidate. Returns a token and a candidate-facing link. The candidate completes 7 tests covering typing speed and accuracy, email writing, grammar, attention to detail, chat simulation, reading comprehension, and tone recognition. Total time approximately 20 minutes. Scored 0–100 automatically. Free tier: 3 per day per IP.
| Field | Type | Required | Notes |
|---|---|---|---|
| candidate_email | string | Required | Candidate's email — used for results tracking |
| job_role | string | Required | Shown to candidate on the assessment page |
| api_key | string | Optional | Leave empty for free tier (3/day per IP) |
Called by the candidate-facing assessment page. Returns the BPO Core test pack with questions and prompts. Answer keys and scoring rubrics are stripped from the response — candidates see only what they need to complete the tests.
Candidate submits all 7 test answers in a single JSON body. Auto-scored fields (typing, MCQ grammar, attention to detail, reading comprehension, tone recognition) are scored instantly — 0 to 46 points. Email writing and chat simulation are scored by AIVA Claude on 9 dimensions each — 0 to 54 points. Total score: 0–100.
Returns the scored assessment response for a submitted token. Results are sorted by total score descending so the strongest candidates appear first. Available once the candidate has submitted.
Submit up to 5 social profile URLs for one candidate. Returns 6 behavioral dimension scores (1–10) plus Part A text flag analysis. Requires a Cloudflare Turnstile token (from the web form) and an email address for rate limiting. For programmatic access without a Turnstile token, use the MCP tool social_profile_scan instead.
Generate a unique invite link to send to a candidate. When the candidate opens the link, the CONNECT widget auto-opens with your job role and custom questions pre-loaded. The recorded video appears in your employer inbox after email verification and moderation.
| Field | Type | Required | Notes |
|---|---|---|---|
| job_role | string | Required | Shown to candidate in the widget |
| questions | array of strings | Required | Up to 10 questions. Shown in widget before recording. |
| candidate_email | string | Optional | Pre-fills candidate email if provided |
Returns all video submissions for your employer account. Only returns videos where the candidate has verified their email and moderation has passed. Includes Bunny CDN embed URLs for direct playback.
email_verified = true and moderation_status = approved videos are returned.Send a message to Maya and get a conversational AI response. Used by the chat panel on aiscreeningtools.com. Maya answers questions about products, pricing, and BPO workflows. Pass country_code: "hub" for the AI Screening Tools context (as opposed to a Thailand job search context).
Send a structured evaluation prompt to Maya. Returns a direct AI response without conversational history. Used internally by the CONNECT assessments tool and by the AIVA MCP screening tools. Unlike /api/chat, this endpoint takes a single prompt and returns a single answer — no session maintained.
Subscribe an email address to the BPO insights newsletter. Silent duplicate handling — submitting an existing email returns 200 or 204 without error. New subscribers receive a welcome email and are added to the drip sequence.
| Status | Meaning | Common cause |
|---|---|---|
| 400 | Bad Request | Missing required field or invalid format |
| 401 | Unauthorized | JWT token missing or expired |
| 403 | Forbidden | Turnstile verification failed |
| 422 | Unprocessable | Request body schema error (FastAPI validation) |
| 429 | Too Many Requests | Rate limit exceeded — wait and retry |
| 500 | Server Error | Upstream AI API failure — retry after a few seconds |
This page is the complete REST API reference for the AI Screening Tools platform at api.jobasean.com. The candidate screening API accepts a CV and job role, runs AI scoring using our AIVA engine, and returns a hire decision with written rationale — designed for BPO hiring workflows where manual first-round screening creates bottlenecks. The social profile check API scans Facebook, TikTok, Instagram, and LinkedIn profiles and returns six behavioral dimension scores. The Maya chat API powers AI workflow automation for inbound and outbound conversations across WhatsApp, Viber, LINE, and website widgets. Deployment partners and technical integrators use these endpoints to embed AI agent tools directly into existing ATS platforms and HR systems.