> ## Documentation Index
> Fetch the complete documentation index at: https://careerk.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Profile By ID

> Retrieve a specific job seeker public profile by their unique identifier

## Endpoint

```
GET /api/v1/job-seekers/:id
```

**Base URL**: `http://localhost:3000/api/v1`

<Note>This endpoint is **public** and does not require authentication.</Note>

## Path Parameters

<ParamField path="id" type="string" required>
  The unique identifier (UUID) of the job seeker profile to retrieve.
</ParamField>

## Request Example

```bash theme={null}
GET /api/v1/job-seekers/fe721809-a9da-4301-a8fe-9d3373dced00
```

## Response

### Success Response (200 OK)

```json theme={null}
{
  "success": true,
  "data": {
    "firstName": "Timothy",
    "lastName": "Davis",
    "profileImageUrl": null,
    "profile": {
      "jobSeekerId": "fe721809-a9da-4301-a8fe-9d3373dced00",
      "title": "IT Manager",
      "location": "Remote",
      "availabilityStatus": "NOT_LOOKING",
      "workPreference": "ONSITE",
      "preferredJobTypes": ["INTERNSHIP", "FREELANCE", "CONTRACT"],
      "yearsOfExperience": 5.4,
      "linkedinUrl": null,
      "portfolioUrl": null,
      "githubUrl": null,
      "cvEmail": "cv1756@jobseeker.com",
      "noticePeriod": 90,
      "phone": "+17423258561",
      "expectedSalary": null,
      "summary": "Experienced IT Manager with 5.4 years of expertise."
    },
    "educations": [
      {
        "degreeType": "BACHELOR",
        "description": null,
        "institutionName": "Cairo University",
        "isCurrent": false,
        "fieldOfStudy": "Accounting",
        "endDate": "2022-12-16T00:00:00.000Z",
        "gpa": 3.1,
        "startDate": "2018-10-16T00:00:00.000Z"
      },
      {
        "degreeType": "HIGH_SCHOOL",
        "description": null,
        "institutionName": "UC Berkeley",
        "isCurrent": false,
        "fieldOfStudy": "Physics",
        "endDate": "2009-10-15T00:00:00.000Z",
        "gpa": 3.25,
        "startDate": "2006-02-07T00:00:00.000Z"
      }
    ],
    "workExperiences": [
      {
        "companyName": "MarketPulse",
        "description": "Worked as Support Engineer at MarketPulse.",
        "isCurrent": false,
        "startDate": "2016-11-12T00:00:00.000Z",
        "jobTitle": "Support Engineer",
        "location": "Toronto, Canada",
        "endDate": "2018-12-22T00:00:00.000Z"
      },
      {
        "companyName": "RetailFlow",
        "description": "Worked as Recruiter at RetailFlow.",
        "isCurrent": true,
        "startDate": "2012-02-02T00:00:00.000Z",
        "jobTitle": "Recruiter",
        "location": "Denver, CO",
        "endDate": null
      }
    ],
    "skills": [
      {
        "name": "Git",
        "verified": true
      },
      {
        "name": "NestJS",
        "verified": true
      },
      {
        "name": "TypeScript",
        "verified": true
      },
      {
        "name": "Java",
        "verified": true
      },
      {
        "name": "Terraform",
        "verified": false
      }
    ]
  },
  "message": "Job seeker profile retrieved successfully",
  "meta": {
    "timestamp": "2026-04-23T20:00:00.000Z",
    "path": "/job-seekers/fe721809-a9da-4301-a8fe-9d3373dced00",
    "method": "GET"
  }
}
```

### Response Fields

<ResponseField name="firstName" type="string">
  User's first name.
</ResponseField>

<ResponseField name="lastName" type="string">
  User's last name.
</ResponseField>

<ResponseField name="profileImageUrl" type="string | null">
  URL to profile image.
</ResponseField>

<ResponseField name="profile" type="object">
  Detailed profile information.

  <Expandable title="Profile Properties">
    <ResponseField name="jobSeekerId" type="string">
      Unique profile identifier (UUID).
    </ResponseField>

    <ResponseField name="title" type="string">
      Current job title.
    </ResponseField>

    <ResponseField name="location" type="string">
      Current location.
    </ResponseField>

    <ResponseField name="availabilityStatus" type="enum">
      Current availability status. - `OPEN_TO_WORK` - Actively looking - `NOT_LOOKING` - Not looking

      * `PASSIVELY_LOOKING` - Open to opportunities
    </ResponseField>

    <ResponseField name="workPreference" type="enum">
      Work preference. - `REMOTE` - Remote work - `ONSITE` - On-site work - `HYBRID` - Hybrid work -
      `ANY` - No preference
    </ResponseField>

    <ResponseField name="preferredJobTypes" type="enum[]">
      Preferred job types. - `FULL_TIME`, `PART_TIME`, `CONTRACT`, `INTERNSHIP`, `FREELANCE`
    </ResponseField>

    <ResponseField name="yearsOfExperience" type="number">
      Total years of professional experience.
    </ResponseField>

    <ResponseField name="linkedinUrl" type="string | null">
      LinkedIn profile URL.
    </ResponseField>

    <ResponseField name="portfolioUrl" type="string | null">
      Portfolio website URL.
    </ResponseField>

    <ResponseField name="githubUrl" type="string | null">
      GitHub profile URL.
    </ResponseField>

    <ResponseField name="cvEmail" type="string | null">
      Email for receiving CV/applications.
    </ResponseField>

    <ResponseField name="noticePeriod" type="number | null">
      Notice period in days.
    </ResponseField>

    <ResponseField name="phone" type="string | null">
      Phone number.
    </ResponseField>

    <ResponseField name="expectedSalary" type="number | null">
      Expected monthly salary in USD.
    </ResponseField>

    <ResponseField name="summary" type="string | null">
      Professional summary/bio.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="educations" type="array">
  List of education records.

  <Expandable title="Education Properties">
    <ResponseField name="degreeType" type="enum">
      Type of degree.
    </ResponseField>

    <ResponseField name="description" type="string">
      Degree description.
    </ResponseField>

    <ResponseField name="institutionName" type="string">
      Educational institution name.
    </ResponseField>

    <ResponseField name="isCurrent" type="boolean">
      Whether currently studying here.
    </ResponseField>

    <ResponseField name="fieldOfStudy" type="string">
      Field of study.
    </ResponseField>

    <ResponseField name="endDate" type="string | null">
      End date (ISO 8601).
    </ResponseField>

    <ResponseField name="gpa" type="number | null">
      Grade point average.
    </ResponseField>

    <ResponseField name="startDate" type="string">
      Start date (ISO 8601).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="workExperiences" type="array">
  List of work experiences.

  <Expandable title="Work Experience Properties">
    <ResponseField name="companyName" type="string">
      Company name.
    </ResponseField>

    <ResponseField name="description" type="string">
      Job description/responsibilities.
    </ResponseField>

    <ResponseField name="isCurrent" type="boolean">
      Whether this is current job.
    </ResponseField>

    <ResponseField name="startDate" type="string">
      Start date (ISO 8601).
    </ResponseField>

    <ResponseField name="jobTitle" type="string">
      Job title.
    </ResponseField>

    <ResponseField name="location" type="string">
      Job location.
    </ResponseField>

    <ResponseField name="endDate" type="string | null">
      End date (ISO 8601).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="skills" type="array">
  List of skills.

  <Expandable title="Skill Properties">
    <ResponseField name="name" type="string">
      Skill name.
    </ResponseField>

    <ResponseField name="verified" type="boolean">
      Whether skill is verified.
    </ResponseField>
  </Expandable>
</ResponseField>

## Error Responses

### 400 Bad Request - Invalid ID Format

```json theme={null}
{
  "success": false,
  "error": {
    "message": "Validation failed (uuid is expected)",
    "statusCode": 400,
    "timestamp": "2026-04-23T20:00:00.000Z",
    "path": "/job-seekers/123",
    "method": "GET",
    "details": "Bad Request"
  }
}
```

### 404 Not Found - Profile Not Found

```json theme={null}
{
  "success": false,
  "error": {
    "message": "Job seeker profile not found",
    "statusCode": 404,
    "timestamp": "2026-04-23T20:00:00.000Z",
    "path": "/job-seekers/fe721809-a9da-4301-a8fe-9d3373dced00",
    "method": "GET",
    "details": "Not Found"
  }
}
```

## Notes

<Info>
  **Public Profile**: This endpoint currently returns the same profile shape as `GET
      /job-seekers/me` from backend service mapping.
</Info>

<Tip>
  **View Other Profiles**: Use this endpoint to view other job seekers' public profiles when
  researching candidates or networking.
</Tip>
