---
title: "Generate cover letter"
method: POST
path: "/v1/cover-letters/generate"
tags: ["Cover Letters"]
---

# Generate cover letter

`POST /v1/cover-letters/generate`

## Request

- Base URL: `https://api.laddro.com`
- URL: `https://api.laddro.com/v1/cover-letters/generate`
- Auth: API key in header `x-api-key`

Generates a professional cover letter based on your resume and a job description.

Costs 1 credit.

**Resume source:** same as /v1/tailor (resumeId, file upload, or default).

## Request body

- CoverLetterRequest
  - `resumeId` string, uuid: Resume to base the cover letter on. If omitted, the default resume is used.
  - `positionName` string, required
  - `jobDescription` string: Either this or jobUrl is required.
  - `jobUrl` string, uri: URL to the job posting.
  - `language` string
  - `templateId` string: Template for PDF rendering.
  - `colorId` string: Color scheme ID.
  - `font` string: Font family.
  - `spacing` number
  - `margin` number
  - `fontSize` number
  - `pageNumbering` 'none' | 'simple' | 'fraction' | 'page'

## Response `200`

Generated cover letter as PDF

## Other responses

- `400`: Missing or invalid fields
- `401`: Invalid API key
- `402`: Usage limit exceeded
- `404`: Resume not found
- `502`: AI service failed

---

[API](https://skmtc.dev/laddro/apis/laddro-career-api.md) · [All operations](https://skmtc.dev/laddro/apis/laddro-career-api/llms.txt) · [OpenAPI document](https://skmtc.dev/laddro/apis/laddro-career-api/revisions/754143426624?raw)
