Rezzy API Docs
Cover letter

Create cover letter

POST /cover-letter/create - queue a cover letter generation job

Example

curl -X POST https://api.rezzy.dev/v1/cover-letter/create \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Software Engineer at Acme Corp",
    "job_description": "Full-time role. Requirements: 3+ years Python, REST APIs.",
    "company_url": "https://acme.com",
    "hiring_manager_name": "Jane Smith",
    "company_street_address": "123 Main St",
    "company_city": "San Francisco",
    "company_state": "CA",
    "company_zip": "94105",
    "hiring_manager_email": "jane@acme.com",
    "date": "2026-04-09",
    "additional_context": "Referred by John Doe"
  }'

Sample response (202 Accepted):

{
  "success": true,
  "message": "Cover letter creation job has been successfully registered.",
  "data": {
    "id": "3de8fcc3-a913-413d-acdb-382701542cb9",
    "title": "Software Engineer at Acme Corp",
    "status": "QUEUED",
    "dashboard_url": "https://rezzy.dev/dashboard/cover-letters"
  }
}

Processing is asynchronous. Use the returned id with Get cover letter status to poll for completion.

Request body

FieldTypeRequiredConstraintsExample
titlestringYes1–255 characters"Software Engineer – Acme Corp"
job_descriptionstringYesMin length 1"Full-time role in San Francisco. Requirements: 3+ years Python..."
company_urlstringNoMax length 500"https://acme.com"
hiring_manager_namestringNo-"Jane Smith"
company_street_addressstringNo-"123 Main St"
company_citystringNo-"San Francisco"
company_statestringNo-"CA"
company_zipstringNo-"94105"
hiring_manager_emailstringNo-"jane@acme.com"
datestringNoValid calendar date, YYYY-MM-DD"2026-04-09"
additional_contextstringNo-"Referred by John Doe"

Including company_url helps tailor the letter to the employer. When provided, Rezzy can research the company and role context similarly to the dashboard flow.

Your profile import must be complete before generation. Unknown fields are stripped, and optional fields can be omitted or set to null.

A supplied company URL must be a reachable public HTTP or HTTPS website, at most 500 characters. A bare hostname is accepted and prefixed with https://; private network addresses are rejected.

The optional date must be a valid calendar date. Single-digit months and days are normalized to YYYY-MM-DD; an omitted or blank date is left unset.

Duplicate titles are automatically renamed with suffixes such as _1. Read the stored title from the response. Each create call can queue and charge for a new document; do not automatically retry an ambiguous failure.

Success response (202 Accepted)

data:

FieldTypeDescription
idUUIDCover letter resource ID
titlestringStored title, with a suffix if the title already exists
statusstringOne of: QUEUED, IN_PROGRESS, SUCCESS, FAILED
dashboard_urlstringURL to view in the dashboard

Error responses

StatusCondition
400Invalid request fields, incomplete profile import, or invalid/unreachable company URL, or invalid date
401Missing or invalid API key
403Insufficient credits
429Request limit exceeded
500Internal server error

See Errors for response bodies and Rate limiting for retry headers.

On this page