# Create resume

POST /resume/create - queue a resume generation job

Source: https://docs.rezzy.dev/resume/create
Documentation index: https://docs.rezzy.dev/llms.txt



## Example

  

  
```bash
curl -X POST https://api.rezzy.dev/v1/resume/create \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Senior Software Engineer",
    "job_description": "We are looking for a senior engineer with 5+ years of experience in Python and distributed systems.",
    "company_url": "https://acme.com"
  }'
```
  

  
```python
import requests

response = requests.post(
"https://api.rezzy.dev/v1/resume/create",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"title": "Senior Software Engineer",
"job_description": "We are looking for a senior engineer with 5+ years of experience in Python and distributed systems.",
"company_url": "https://acme.com",
},
)
print(response.json())

```
  

  
```javascript
const response = await fetch("https://api.rezzy.dev/v1/resume/create", {
  method: "POST",
  headers: {
    Authorization: "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    title: "Senior Software Engineer",
    job_description:
      "We are looking for a senior engineer with 5+ years of experience in Python and distributed systems.",
    company_url: "https://acme.com",
  }),
});
const data = await response.json();
console.log(data);
```
  

**Sample response (202 Accepted):**

```json
{
  "success": true,
  "message": "Resume creation job has been successfully registered.",
  "data": {
    "id": "4c20b695-c3ed-4dc4-bcf3-f6f7aa00068b",
    "resume_title": "Senior Software Engineer",
    "status": "QUEUED",
    "dashboard_url": "https://rezzy.dev/dashboard/resumes"
  }
}
```

  Processing is asynchronous. Use the returned `id` with [Get resume
  status](https://docs.rezzy.dev/resume/get-status) to poll for completion.

## Request body

| Field             | Type   | Required | Constraints      | Example                                                   |
| ----------------- | ------ | -------- | ---------------- | --------------------------------------------------------- |
| `title`           | string | Yes      | 1–255 characters | `"Senior Software Engineer"`                              |
| `job_description` | string | Yes      | Min length 1     | `"We are looking for a senior engineer with 5+ years..."` |
| `company_url`     | string | No       | Max length 500   | `"https://acme.com"`                                      |

  Including `company_url` provides company context for tailoring the resume.

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.

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`:

| Field           | Type   | Description                                             |
| --------------- | ------ | ------------------------------------------------------- |
| `id`            | UUID   | Resume resource ID                                      |
| `resume_title`  | string | Stored title, with a suffix if the title already exists |
| `status`        | string | One of: `QUEUED`, `IN_PROGRESS`, `SUCCESS`, `FAILED`    |
| `dashboard_url` | string | URL to view the resume in the dashboard                 |

## Error responses

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

See [Errors](https://docs.rezzy.dev/errors) for response bodies and [Rate limiting](https://docs.rezzy.dev/rate-limiting) for retry headers.
