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

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

Examples

Scraped Matches

Direct Matches

All (merged)

Response

Success Response (200 OK)

Response Fields

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.
number
Total number of matches available.
number
Current page number.
number
Number of items per page.
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.