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

# List Cover Letters

> List the user's cover letters

## Overview

Returns the user's cover letters with their CV link, title, default flag, and timestamps. Each cover letter belongs to exactly one resume (one-to-one).

<Note>
  **Scope required:** `cover-letter:read` | **Rate limit:** 60 requests/min
</Note>

## Request

```bash theme={null}
GET /v1/cover-letter
```

### Query Parameters

<ParamField query="cvId" type="string">
  Filter to the cover letter for a specific resume. Returns at most one row.
</ParamField>

<ParamField query="limit" type="number" default="25">
  Page size (max 100).
</ParamField>

<ParamField query="offset" type="number" default="0">
  Page offset.
</ParamField>

### Example

```bash theme={null}
curl "https://api.mokaru.ai/v1/cover-letter?cvId=clx1234" \
  -H "Authorization: Bearer mk_your_key"
```

## Response

<ResponseField name="data" type="array">
  Cover letter list.

  <Expandable>
    <ResponseField name="id" type="string">Cover letter ID.</ResponseField>
    <ResponseField name="cvId" type="string">Resume this cover letter belongs to.</ResponseField>
    <ResponseField name="title" type="string">Cover letter title.</ResponseField>
    <ResponseField name="isDefault" type="boolean">Marked as the user's default cover letter.</ResponseField>
    <ResponseField name="templateId" type="string">Optional template ID.</ResponseField>
    <ResponseField name="createdAt" type="string">ISO 8601.</ResponseField>
    <ResponseField name="updatedAt" type="string">ISO 8601.</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="total" type="integer">Total matching cover letters.</ResponseField>
<ResponseField name="hasMore" type="boolean">Whether more pages exist.</ResponseField>
