Coding agent documentation index Fetch the complete documentation index at: https://docs.worklittle.com/docs-agent-manifest.json Use this file to discover all available pages before exploring further.
Resumes and cover letters
Generate one-page, hiring-ready resumes and cover letters as HTML, PDF, or DOCX, targeted at a specific job_id, then attach the output directly to an application.
Hiring-ready output never invents an employer, a school, or a metric. When a fact is missing it is omitted.
When to use
A resume tailor that rewrites an existing resume against a specific posting. An apply pipeline that needs a PDF to attach as resume_file on submit. A profile-to-document product where the user's structured profile is the source and you want a clean one-page layout without running your own document model. A cover letter generator grounded in real posting text rather than generic template language.
If the input is thin, omit unknowns rather than guessing. Ask the user for missing history before generating.
Architecture
The quality of the output is mostly decided before you call the endpoint.
1. Resolve the target job. Get a real job_id from search. Passing job_id lets the server load posting context for you. 2. Distill the posting. Call get_job_keywords and pass the result as job_context. Do not paste the full job description into instructions. Extra narrative prose measurably degrades output because it dilutes the signal. 3. Supply the candidate's facts. resume_text is the primary content source. A structured profile object can supplement it. 4. Steer, do not dictate. instructions is for emphasis such as "highlight platform engineering", not for content the model should treat as fact. 5. Pick formats. Omit formats for the default HTML plus PDF.
curl -s -X POST "https://api.worklittle.com/jobs/resumes" \
-H "Authorization: Bearer $WORKLITTLE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"job_id": "JOB_ID",
"resume_text": "10 years frontend, React, design systems",
"instructions": "Emphasize platform engineering"
}'
Endpoints and tools
| Goal | REST | MCP | | --- | --- | --- | | Hiring-ready resume | `POST /jobs/resumes` | `create_resume` | | Hiring-ready cover letter | `POST /jobs/cover-letters` | `create_cover_letter` |
Both require the agent:tools scope and bill AI tokens only. Format conversion itself is free.
Output formats follow one precedence chain: body formats beats body format, which beats the Accept header, which falls back to HTML plus PDF. The response is always a JSON envelope, never raw PDF bytes, so expect html, pdf_base64, pdf_mime, and pdf_filename fields. PDFs are US Letter, one page, shrink-to-fit.
Attaching the result to an application
The generated PDF is already in the shape apply endpoints want. Take pdf_base64 from the document response and pass it through:
{
"name": "Alex Rivera",
"email": "alex@example.com",
"resume_file": {
"filename": "resume.pdf",
"content_base64": "JVBERi0xLjQK..."
}
}
Use resume_file for the resume and the separate cover letter fields for the letter. Swapping them is a common and silent mistake: the submission succeeds and the employer sees the wrong document in the wrong slot. Apply details are on Apply for jobs.
Pitfalls
| Pitfall | What to do instead | | --- | --- | | Expecting bracketed placeholders from `create_resume` | Hiring-ready output omits unknowns instead of leaving gaps | | Dumping the full job description into `instructions` | Pass `get_job_keywords` output as `job_context` | | Generating without a `job_id` and calling it "tailored" | Target a real posting or say plainly that it is generic | | Expecting a multi-page CV | Output is one page by design and shrinks to fit | | Missing the `agent:tools` scope | Add it on the key at [**API keys**](https://worklittle.com/business/api-keys) |
Related docs
Create resumes, Create cover letters, Apply for jobs. Prompting guidance: Prompting for applications. Keyword rationale: Structured extraction.