> ## 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.

# Preview Parsed CV Data

> Preview the parsed CV data from the most recent upload

## Endpoint

```
GET /api/v1/cv-parse/preview
```

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

<Note>This endpoint requires **authentication** and **Job Seeker role**.</Note>

## Authentication

Include the access token in the Authorization header:

```bash theme={null}
Authorization: Bearer YOUR_ACCESS_TOKEN
```

## Description

Get the latest parsed CV data from the most recent upload. Response shape matches `GET /job-seekers/me` when parse is complete.

## Response

### Success Response (200 OK) - COMPLETED Status

```json theme={null}
{
  "success": true,
  "data": {
    "status": "COMPLETED",
    "parseResultId": "9968ae8c-e8f4-4d36-a17a-79215cca669c",
    "firstName": "Amr",
    "lastName": "Ashraf Mubarak",
    "profileImageUrl": null,
    "profile": {
      "jobSeekerId": "a9ff20fb-8010-4a22-8873-344c103726af",
      "title": "Software Engineer",
      "location": "Egypt",
      "availabilityStatus": "OPEN_TO_WORK",
      "workPreference": "REMOTE",
      "preferredJobTypes": null,
      "yearsOfExperience": 0.3,
      "linkedinUrl": "linkedin.com/in/amramubarak",
      "portfolioUrl": null,
      "githubUrl": "github.com/amrrdev",
      "cvEmail": "amrrdev@gmail.com",
      "noticePeriod": null,
      "phone": "+20 120 456 2326",
      "expectedSalary": null,
      "summary": "Software Engineer with 1+ year of experience building scalable microservices..."
    },
    "educations": [
      {
        "degreeType": "BACHELOR",
        "description": null,
        "institutionName": "Benha University",
        "isCurrent": false,
        "fieldOfStudy": "Science in Computer Science",
        "endDate": "2026-01-01",
        "gpa": 3.6,
        "startDate": "2022-01-01"
      }
    ],
    "workExperiences": [
      {
        "companyName": "Linux Foundation Decentralized Trust",
        "description": "Developed a testing strategy for a decentralized trust solution...",
        "isCurrent": false,
        "startDate": "2025-05-01",
        "jobTitle": "Software Engineer",
        "location": "Remote",
        "endDate": "2025-07-01"
      }
    ],
    "skills": [
      { "name": "typescript", "verified": true },
      { "name": "node.js", "verified": true },
      { "name": "nestjs", "verified": true }
    ]
  },
  "message": "Success",
  "meta": {
    "timestamp": "2026-04-23T20:00:00.000Z",
    "path": "/cv-parse/preview",
    "method": "GET"
  }
}
```

### Success Response (200 OK) - PENDING Status

Returned when CV is still being processed by NLP service:

```json theme={null}
{
  "success": true,
  "data": {
    "status": "PENDING",
    "message": "Your CV is being processed. Please wait..."
  },
  "message": "Success",
  "meta": {
    "timestamp": "2026-04-23T20:00:00.000Z",
    "path": "/cv-parse/preview",
    "method": "GET"
  }
}
```

### Success Response (200 OK) - FAILED Status

Returned when NLP parsing failed:

```json theme={null}
{
  "success": true,
  "data": {
    "status": "FAILED",
    "message": "Failed to parse CV"
  },
  "message": "Success",
  "meta": {
    "timestamp": "2026-04-23T20:00:00.000Z",
    "path": "/cv-parse/preview",
    "method": "GET"
  }
}
```

### Success Response (200 OK) - CONFIRMED Status

Returned when CV data has already been saved to profile:

```json theme={null}
{
  "success": true,
  "data": {
    "status": "CONFIRMED",
    "message": "CV data has already been saved to your profile"
  },
  "message": "Success",
  "meta": {
    "timestamp": "2026-04-23T20:00:00.000Z",
    "path": "/cv-parse/preview",
    "method": "GET"
  }
}
```

### Error Response (404 Not Found)

Returned when no CV has been uploaded:

```json theme={null}
{
  "success": false,
  "error": {
    "message": "No CV parse result found. Please upload a CV first.",
    "statusCode": 404,
    "timestamp": "2026-04-23T20:00:00.000Z",
    "path": "/cv-parse/preview",
    "method": "GET",
    "details": "Not Found"
  }
}
```

## Data Fields

| Field             | Type           | Description                                                |
| ----------------- | -------------- | ---------------------------------------------------------- |
| `status`          | string         | Status: PENDING, COMPLETED, FAILED, CONFIRMED              |
| `parseResultId`   | string         | Parse result identifier (present for COMPLETED only)       |
| `firstName`       | string         | First name (present for COMPLETED only)                    |
| `lastName`        | string         | Last name (present for COMPLETED only)                     |
| `profileImageUrl` | string or null | Profile image URL (present for COMPLETED only)             |
| `profile`         | object         | Profile object in `/job-seekers/me` shape (COMPLETED only) |
| `educations`      | array          | Education array (COMPLETED only)                           |
| `workExperiences` | array          | Work experience array (COMPLETED only)                     |
| `skills`          | array          | Skills array with `name` and `verified` (COMPLETED only)   |

## Complete CV Flow

<Steps>
  <Step title="Upload CV">Call POST /cv/presigned-url to get an upload URL</Step>
  <Step title="Upload File">Upload the file using PUT with the upload URL</Step>
  <Step title="Confirm Upload">Call POST /cv/confirm to trigger NLP parsing</Step>
  <Step title="Preview Data">Call GET /cv-parse/preview to see parsed results</Step>
  <Step name="Confirm & Save">Call POST /cv-parse/confirm to save to your profile</Step>
</Steps>

<Info>
  **Skills Verification**: Skills are marked as `verified: true` when parsed from CV. Manual skills
  added during confirm are `verified: false`.
</Info>
