Apply for Job
Submit a job application. This endpoint accepts multipart/form-data (for resume upload).
Note: This is a public endpoint. No authentication required.
Submit Application
POST
/api/public/jobs/[id]/applyApply for a specific job. Requires multipart/form-data for resume upload.
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Required | Job ID (path param) |
firstName | string | Required | First name |
lastName | string | Optional | Last name |
email | string | Required | Email address |
phone | string | Optional | Phone number |
currentCompany | string | Optional | Current company |
experienceYears | number | Optional | Years of experience |
noticePeriod | number | Optional | Notice period in days |
resume | file | Required | Resume file (PDF, max 20MB) |
portfolioUrl | string | Optional | Portfolio URL |
linkedInUrl | string | Optional | LinkedIn profile URL |
notes | string | Optional | Additional notes |
referralId | string | Optional | Employee referral ID |
Response (201)
{
"success": true,
"candidateId": "..."
}
Errors
| Status | Message |
|---|---|
400 | First name is required / Resume is required |
400 | Resume exceeds 20 MB limit |
400 | This job is no longer accepting applications |
404 | Job not found |
Example (cURL)
curl -X POST https://flowzen-azure.vercel.app/api/public/jobs/JOB_ID/apply \
-F "firstName=John" \
-F "lastName=Doe" \
-F "email=john@example.com" \
-F "phone=+1234567890" \
-F "resume=@resume.pdf" \
-F "referralId=ACME-001"