Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/iDevRanjan/lws-ra-b4-assignment-five/llms.txt

Use this file to discover all available pages before exploring further.

The Applicants page at /applicants gives you a unified view of every candidate who has applied to any of your company’s job listings. Rather than checking each position individually, you can filter, sort, and triage the entire applicant pipeline from one place — reviewing profiles, reading cover letters, downloading resumes, and updating application statuses without leaving the page. Access requires an active COMPANY role session.

Browsing Applicants

The page uses infinite scroll powered by GET /api/companies/applicants. Each “load more” call fetches the next batch of applications. The total count and the number currently displayed are shown below the grid so you always know where you stand. Applications are displayed as cards in a responsive grid. When no applicants match the active filters a friendly empty-state message is shown instead.

Applicant Card

Each card in the grid surfaces the most important information at a glance:
  • Avatar — the applicant’s profile photo, or a generated initial avatar if none is set.
  • Name — the applicant’s full name.
  • Email — their registered email address.
  • Applied — relative time since the application was submitted (e.g. “3 days ago”).
  • Status badge — colour-coded indicator of the current application status.
Four action buttons are available directly on every card:
ButtonAction
View ProfileNavigates to /applicants/:applicantId for the full profile
ResumeOpens the resume file in a new browser tab
Cover LetterOpens the Cover Letter Modal with the application’s cover letter text
Applicant StatusDropdown to change the application status immediately

Filtering Applicants

The filter sidebar on the left of the applicants grid lets you narrow the list before it loads:
  • Filter by status — select one or more of All, New, Interviewed, Shortlisted, Rejected, Hired.
  • Filter by date appliedLast 7 Days, Last 30 Days, or 3 Months.
  • Filter by experience level — one or more of Entry, Mid, Senior, Expert, Lead.
  • Search by name — case-insensitive name match applied server-side.
  • SortNewest (default) or Oldest by application date.
All filters are applied as query parameters on GET /api/companies/applicants.
GET /api/companies/applicants?status=Shortlisted,New&date=last+7+days&sort=newest&search=John

Application Statuses

A company can assign any of the following statuses to an application. The status is visible to the applicant in their own applications list.
StatusMeaning
NewFreshly submitted — no action taken yet. Appears as “New” on the card badge.
ShortlistedCandidate has passed initial screening and is being considered further.
InterviewedCandidate has been invited for or completed an interview.
RejectedCandidate is no longer being considered for this position.
HiredOffer extended and accepted — position is filled by this applicant.

Updating a Status

Use the Applicant Status dropdown (ActionSelectMenu) on any applicant card or in the Recent Applicants panel on the dashboard. Selecting a new value triggers PATCH /api/applications/:id/status:
// PATCH /api/applications/:id/status
{
  "status": "Shortlisted"
}
A success toast confirms the change, and the card’s badge updates immediately. Trying to set the same status the application already has shows an error toast instead.

Viewing the Full Applicant Profile

Click View Profile on any card to open the applicant’s dedicated profile page at /applicants/:applicantId. The page is built from the same profile components used on the job seeker side of the portal, adapted for the recruiter’s read-only view.
Displays the applicant’s profile photo, full name, professional title, and a short bio. The header also shows the applicant’s current experience level badge.

Resume Download

A Resume button on the applicant card (and accessible from the profile page) constructs the full file URL from the stored resumeUrl path and opens it in a new tab. Absolute URLs are used as-is; relative paths are prefixed with the API base URL automatically.

Cover Letter Modal

Every application may include a cover letter written by the applicant at submission time. Click the Cover Letter button on any applicant card to open the CoverLetterModal overlay:
  • The modal renders the cover letter as plain text with whitespace and line breaks preserved.
  • If the applicant did not submit a cover letter, the modal displays “No cover letter provided.”
  • The modal can be closed with the × button in the header or the Close button in the footer.
Cover letters are attached to individual applications, not to applicant profiles. If the same person applied to two of your jobs, each application has its own separate cover letter.

API Reference

# Fetch all applicants for your company (paginated, filterable)
GET /api/companies/applicants
  ?page=1
  &limit=10
  &status=New,Shortlisted
  &date=last+30+days     # values: last+7+days | last+30+days | 3+months
  &experienceLevel=Mid,Senior
  &search=John
  &sort=newest

# Update an application's status
PATCH /api/applications/:id/status
Content-Type: application/json
{ "status": "Shortlisted" }

Frequently Asked Questions

Direct messaging between companies and applicants is not currently supported. Use the contact details shown on the applicant’s profile page — email and phone number — to reach out through your own communication channels.
The status update is recorded in the system immediately. Applicants can see the updated status when they visit their own Applications page, but no email or push notification is sent automatically at this time.
Yes. A Resume button appears on every applicant card in both the Applicants page grid and the Recent Applicants panel on the dashboard. Clicking it opens the resume file in a new browser tab using the URL stored in the applicant’s profile.
The API accepts a comma-separated list of status values (e.g. status=New,Shortlisted). All applications matching any of the provided statuses are returned, so you can review your pipeline at multiple stages simultaneously.

Build docs developers (and LLMs) love