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

# Introduction

> CV API - Upload, parse, and manage job seeker CVs

# CV API

The CV API provides endpoints for uploading, parsing, and managing job seeker CVs.

## Base URL

```
http://localhost:3000/api/v1
```

## Endpoints Overview

| Method | Endpoint                        | Description                 | Auth Required    |
| ------ | ------------------------------- | --------------------------- | ---------------- |
| POST   | `/cv/presigned-url`             | Request CV upload URL       | Yes (Job Seeker) |
| PUT    | `{uploadUrl}`                   | Upload CV file to storage   | No (signed URL)  |
| POST   | `/cv/confirm`                   | Confirm CV upload and parse | Yes (Job Seeker) |
| GET    | `/cv/me`                        | Get current CV info         | Yes (Job Seeker) |
| GET    | `/cv/me/download-url`           | Get CV download URL         | Yes (Job Seeker) |
| GET    | `/cv/download-url/:jobSeekerId` | Get candidate CV URL        | Yes (Company)    |
| DELETE | `/cv/me`                        | Delete current CV           | Yes (Job Seeker) |
| GET    | `/cv-parse/preview`             | Preview parsed CV data      | Yes (Job Seeker) |
| POST   | `/cv-parse/confirm`             | Confirm and save to profile | Yes (Job Seeker) |

## Key Documentation

* **[Request Upload URL](/api-reference/cv/request-upload-url)** - Generate a presigned URL for CV upload
* **[Upload CV File](/api-reference/cv/upload-cv-file)** - Upload the file to storage using the presigned URL
* **[Confirm Upload](/api-reference/cv/confirm-upload)** - Confirm upload and trigger parsing
* **[Preview Parsed Data](/api-reference/cv/preview-parsed-data)** - Review parsed data before saving
* **[Confirm Parsed Data](/api-reference/cv/confirm-parsed-data)** - Save parsed data to profile
* **[Get Candidate CV URL](/api-reference/cv/get-candidate-cv-url)** - Get candidate CV download URL (Company)

## CV Upload Flow

<Steps>
  <Step title="Request URL">Call POST /cv/presigned-url to get an upload URL</Step>
  <Step title="Upload File">Upload the file using PUT directly to cloud storage</Step>
  <Step title="Confirm Upload">Call POST /cv/confirm to trigger NLP parsing</Step>
</Steps>

## CV Parse Flow

<Steps>
  <Step title="Preview Data">Call GET /cv-parse/preview to see parsed results</Step>
  <Step title="Confirm & Save">Call POST /cv-parse/confirm to save to your profile</Step>
</Steps>

## Skills Verification

When confirming parsed data, skills extracted from CV are saved with `verified: true`, while manually added skills are saved with `verified: false`.

See detailed documentation for each endpoint in the API Reference section.
