Skip to main content
GET
Get My Matches

Endpoint

Base URL: http://localhost:3000/api/v1
This endpoint requires authentication and Job Seeker role.

Authentication

Include the access token in the Authorization header:

Query Parameters

type
string
default:"all"
Filter matches by source type. Options: all, direct, scraped
Full-text search across title, description, company name, and skills
jobType
enum
Filter by job type. Options: FULL_TIME, PART_TIME, CONTRACT, FREELANCE, INTERNSHIP
location
string
Filter by location (partial match, case-insensitive)
workPreference
enum
Work preference filter (direct jobs only). Options: REMOTE, ONSITE, HYBRID
experienceLevel
enum
Experience level filter (direct jobs only). Options: ENTRY, JUNIOR, MID, SENIOR, LEAD, MANAGER
salaryMin
number
Minimum salary filter (direct jobs only)
salaryMax
number
Maximum salary filter (direct jobs only)
source
string
Scraped job source filter (scraped only). e.g. LinkedIn, Indeed
minScore
number
Minimum match score threshold (0-100)
page
number
default:"1"
Page number for pagination
limit
number
default:"10"
Number of items per page

Examples

Scraped Matches

Direct Matches

All (merged)

Response

Success Response (200 OK)

Response Fields

matches
array
List of job matches sorted by match score (highest first). Each object contains the full job details with matchScore as a flat field. The shape differs based on type.
total
number
Total number of matches available.
page
number
Current page number.
limit
number
Number of items per page.
totalPages
number
Total number of pages available.

Job Details Response by Source

When fetching details for a specific match, the shape of the data object differs depending on the jobSource.

Direct Job (jobSource: "DIRECT")


Scraped Job (jobSource: "SCRAPED")


Error Responses

401 Unauthorized

403 Forbidden

400 Bad Request - Validation Error

Notes

Match Score Calculation: Matches are sorted by match score in descending order. Jobs with higher scores appear first in the results.
Keyword Search: Use the search parameter to find matches across title, description, company name, and skills. Direct job searches also include requirements and responsibilities.
Direct Job Filters: Parameters workPreference, experienceLevel, salaryMin, and salaryMax only apply to direct job matches. Scraped jobs do not have these structured fields.
Scraped Source Filter: Use source=LinkedIn (or Indeed, etc.) with type=scraped to narrow results to a specific job board.