Skip to main content

POST /api/jobs//apply

Add a new candidate application to a specific job posting. This endpoint creates a candidate record and associates it with the specified job.

Authentication

No authentication required for this endpoint.

Path parameters

job_id
string
required
The unique identifier of the job posting

Request body

name
string
required
Full name of the candidate
email
string
required
Email address of the candidate
skills
array
required
List of skills possessed by the candidate
experience
integer
required
Years of professional experience
projects
string
Description of relevant projects. Defaults to empty string.
resume_text
string
Extracted text content from the candidate’s resume. Defaults to empty string.
URL to the candidate’s GitHub profile. Defaults to empty string.
URL to the candidate’s LinkedIn profile. Defaults to empty string.
interview_answers
array
List of interview question responses. Defaults to empty array.

Response

Returns the created candidate object with an auto-generated ID.
id
string
Unique identifier for the candidate (8-character UUID)
job_id
string
The job posting ID this candidate applied to
name
string
Full name of the candidate
email
string
Email address of the candidate
skills
array
List of candidate skills
experience
integer
Years of professional experience
projects
string
Description of relevant projects
resume_text
string
Extracted resume text content
GitHub profile URL
LinkedIn profile URL
interview_answers
array
Interview question responses
user_id
string
Associated registered user ID, if applicable

Request example

curl -X POST https://api.fairmatch.ai/api/jobs/abc123/apply \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Jane Smith",
    "email": "[email protected]",
    "skills": ["Python", "React", "PostgreSQL"],
    "experience": 5,
    "projects": "E-commerce platform with 100K users | Real-time analytics dashboard",
    "resume_text": "Experienced full-stack engineer with expertise in...",
    "github_link": "https://github.com/janesmith",
    "linkedin_link": "https://linkedin.com/in/janesmith"
  }'

Response example

{
  "id": "xyz789ab",
  "job_id": "abc123",
  "name": "Jane Smith",
  "email": "[email protected]",
  "skills": ["Python", "React", "PostgreSQL"],
  "experience": 5,
  "projects": "E-commerce platform with 100K users | Real-time analytics dashboard",
  "resume_text": "Experienced full-stack engineer with expertise in...",
  "github_link": "https://github.com/janesmith",
  "linkedin_link": "https://linkedin.com/in/janesmith",
  "interview_answers": [],
  "user_id": null
}

Status codes

  • 200 - Candidate successfully created
  • 400 - Invalid request body or parameters
  • 500 - Internal server error

Build docs developers (and LLMs) love