Render Resume PDF
render_pdfGenerate PDFs for base resumes or job applications from saved career data, with optional template and formatting choices you can save for later renders.
Instructions
Render a PDF. target_type is 'base_resume' (target_id=slug) or 'application'
(target_id=application id). Optional template_id selects a template (either
engine; must be 'ready'; omit for the default). Response reports
resolved_template_id / resolved_engine (the template actually used);
template_fallback=true only when an explicit template_id was passed and the
resolved id differs — a substitution of the persisted choice is reported
by render_note, never by the flag. render_note is non-null only when the
backend has no TeX and a LaTeX template was rendered through a Typst
template instead; it names both. Returns the render result incl.
pdf_path (an application render also has copy_path: where the user finds the PDF
in their resumes folder, null when off), plus a next key: for an 'application' render this is the terminal
apply-readiness hint (autofill_ready, incomplete/blocking groups, a conditional
browser-handoff offer); for a 'base_resume' render it is always null — a
base-resume preview isn't part of the score->tailor->render arc, so there is
nothing to offer.
Without keep, template_id is a one-off and the saved design is unchanged.
With keep=true the template_id and/or formatting are saved on the resume
first, its later renders use them, and the response adds kept
{template_id, formatting}: what the resume now keeps.Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| keep | No | True: before rendering, the template_id and/or formatting given are saved on this base resume or tailored resume, so its later renders use them, after an edit too; template_id must name a ready template. False (default): template_id is a one-off for this render, the saved design is unchanged, and formatting is refused. | |
| target_id | Yes | ||
| formatting | No | Look settings to keep (keep=true), one object of the template knobs: font_size (10|11|12), side_margins and top_bottom_margin (0.3-1.0 inches), line_spacing (0.9-1.4), section_spacing (0-14 pt), entry_spacing (0-10 pt), justify and hide_divider (true|false), bullet_icon ("bullet"|"dash"), header_align ("left"|"center"|"right"), date_format ("verbatim"|"short_month"|"long_month"|"numeric"), education_order ("degree_first"|"institution_first"), skills_layout ("inline"|"bulleted"), section_order (a list of summary, experience, projects, extra_sections, skills, education, certifications; the rest follow in the template's order). It replaces the resume's saved look settings: a knob left out takes the template's default (on a tailored resume, its base resume's setting first), and {} clears them. An unknown knob or a value out of range is a 400 and nothing is kept. get_base_resume returns a base resume's saved formatting and template_id. | |
| target_type | Yes | ||
| template_id | No |