# Reactive Resume > A privacy-minded resume builder that is customizable, portable, open-source, and free to use. - [Introduction](https://docs.rxresu.me/getting-started.md): Reactive Resume is a free, open-source resume builder. Write resumes and cover letters, track job applications, and share or download your work. - [Quickstart](https://docs.rxresu.me/getting-started/quickstart.md): Create a free account, build a resume from the sample, make it yours, try a template and download your first PDF in about ten minutes. - [Video Guides](https://docs.rxresu.me/guides/video-guides.md): Short video walkthroughs for creating and importing resumes, improving your design, checking PDFs, using AI, writing cover letters and tracking applications. - [What's new in v6](https://docs.rxresu.me/guides/whats-new-in-v6.md): A guide for returning users: how Reactive Resume v6 reorganizes documents, the editor, sharing, the assistant, cover letters, applications and settings. - [Using the command bar](https://docs.rxresu.me/guides/using-the-command-bar.md): Open the command bar with ⌘K to search your resumes and applications, jump to any page, change theme or language, or ask the assistant a question. - [Keyboard shortcuts](https://docs.rxresu.me/guides/keyboard-shortcuts.md): The keyboard shortcuts in Reactive Resume: the command bar, Documents, the resume and letter editors, text formatting, the assistant and proposed edits. - [Checking service status](https://docs.rxresu.me/guides/checking-service-status.md): Find out whether rxresu.me is up, see its recent uptime, and learn what to do when Reactive Resume is slow or unreachable. - [Accessing the previous version](https://docs.rxresu.me/guides/accessing-the-previous-version.md): Your v5 resumes carried over to Reactive Resume v6. Learn how to move resumes from a v5 or v4 copy into v6 by exporting and importing JSON. - [Creating an account](https://docs.rxresu.me/guides/creating-an-account.md): Sign up for Reactive Resume with an email and password, a passkey, or a social account, and choose the username that appears in your public links. - [Signing in](https://docs.rxresu.me/guides/signing-in.md): Sign in to Reactive Resume with your email or username, a passkey, or a social account, reset a forgotten password, and enter two-step codes. - [Updating your profile](https://docs.rxresu.me/guides/updating-your-profile.md): Change your account photo, name, username, email address and password in Reactive Resume's Settings, and learn what each change affects. - [Changing appearance and language](https://docs.rxresu.me/guides/changing-appearance-and-language.md): Switch Reactive Resume between light, dark and system themes, change the interface language, set your timezone, and see how the app handles reduced motion. - [Linking social accounts](https://docs.rxresu.me/guides/linking-social-accounts.md): Connect Google, GitHub or LinkedIn to your Reactive Resume account so you can sign in with them, and disconnect a provider you no longer use. - [Setting up two-factor authentication](https://docs.rxresu.me/guides/setting-up-two-factor-authentication.md): Turn on two-step verification in Reactive Resume with an authenticator app, save your backup codes, and turn it off again when you need to. - [Setting up passkeys](https://docs.rxresu.me/guides/setting-up-passkeys.md): Add a passkey to your Reactive Resume account to sign in with your fingerprint, face, device PIN or security key instead of a password. - [Exporting your data](https://docs.rxresu.me/guides/exporting-your-data.md): Download everything in your Reactive Resume account, including resumes, cover letters and job applications, as JSON files in a single zip archive. - [Deleting your account](https://docs.rxresu.me/guides/deleting-your-account.md): Permanently delete your Reactive Resume account, including every resume, cover letter, job application, API key and public link. Export a copy first. - [Creating your first resume](https://docs.rxresu.me/guides/creating-your-first-resume.md): Start a blank resume in Reactive Resume, add your name and contact details, fill in your first section, and download it as a PDF. - [Managing your documents](https://docs.rxresu.me/guides/managing-documents.md): Find, sort, rename, duplicate, lock and remove your resumes and cover letters from the Documents page in Reactive Resume. - [Organizing documents with tags](https://docs.rxresu.me/guides/organizing-with-tags.md): Add tags to your resumes and cover letters in Reactive Resume, then filter the Documents page by one or more tags to find the right version. - [Using the Trash](https://docs.rxresu.me/guides/using-the-trash.md): Move resumes and cover letters to Trash in Reactive Resume, undo it, restore them within 30 days, or delete them for good. - [Importing a resume](https://docs.rxresu.me/guides/importing-resumes.md): Turn an existing resume into an editable Reactive Resume document from a PDF, Word file, LinkedIn export, JSON Resume or Reactive Resume JSON file. - [Getting to know the resume editor](https://docs.rxresu.me/guides/editor-overview.md): A tour of the Reactive Resume editor: the editor bar, the Write, Design and Check modes, the page canvas, autosave, and locking a resume. - [Filling in your details](https://docs.rxresu.me/guides/filling-in-your-details.md): Add your name, headline, contact details, extra links, photo and summary to a Reactive Resume using the Basics card and the Summary section. - [Formatting text](https://docs.rxresu.me/guides/formatting-text.md): Use bold, italics, bulleted and numbered lists, and links in your summary and descriptions, clear old formatting, and improve a line with AI. - [Managing sections](https://docs.rxresu.me/guides/managing-sections.md): Add, hide, rename, reorder and remove resume sections in Write mode, create custom sections, and control how each section prints. - [Editing entries](https://docs.rxresu.me/guides/editing-entries.md): Add, reorder, duplicate, hide, move and delete the entries in your resume sections, and learn the fields each kind of entry has, including job roles. - [Entering dates](https://docs.rxresu.me/guides/entering-dates.md): Type start and end dates, year-only dates and current roles in Reactive Resume, fix dates that need a look, and choose how every date prints. - [Undoing changes and version history](https://docs.rxresu.me/guides/undoing-changes-and-version-history.md): Undo recent edits in the Reactive Resume editor, save named versions, and preview or restore an earlier version of a resume or cover letter. - [Using private notes](https://docs.rxresu.me/guides/using-private-notes.md): Keep private notes with a resume in Reactive Resume, such as where you sent it and what you changed. Notes never appear on the resume or its public page. - [Editing on a phone or tablet](https://docs.rxresu.me/guides/editing-on-mobile.md): How the Reactive Resume editor works on phones and tablets: the Write, Page, Design and Check tabs, full-screen entries, the design sheet and the panel drawer. - [Choosing a template](https://docs.rxresu.me/guides/choosing-a-template.md): Browse the 18 Reactive Resume templates drawn with your own content, preview one on the page, and apply it without losing any of your work. - [Customizing typography](https://docs.rxresu.me/guides/customizing-typography.md): Choose a font pairing, text size and density for your resume, or pick any of about 500 fonts with exact sizes, weights and line height. - [Choosing colors](https://docs.rxresu.me/guides/choosing-colors.md): Pick an accent color for your resume headings and icons, check its contrast, and change the text, background and skill level styles. - [Choosing paper size, margins and language](https://docs.rxresu.me/guides/selecting-page-format.md): Set your resume to Letter, A4 or free-form, choose margins, set the language for section titles and dates, and toggle icons and link underlines. - [Arranging the layout](https://docs.rxresu.me/guides/arranging-the-layout.md): Move the sidebar left or right, change its width, move sections between columns and pages, split sections into columns, and control page breaks. - [Fitting content on a page](https://docs.rxresu.me/guides/fitting-content-on-a-page.md): See when your resume runs onto an extra page, fit it back with one click, or tighten text size, density, margins and content yourself. - [Applying custom styles](https://docs.rxresu.me/applying-custom-styles.md): Write CSS rules that change how your resume PDF looks: pick an element on the page, style it, and learn what the PDF engine supports. - [Checking your resume before you apply](https://docs.rxresu.me/guides/checking-your-resume.md): Use Check mode to see how well software reads your resume, fix issues pinned to their lines, match a job posting and review your wording. - [Checking any resume PDF with the ATS checker](https://docs.rxresu.me/guides/using-the-ats-checker.md): Find out whether applicant tracking software can read your resume PDF. Free, no account needed, and the file never leaves your browser. - [Writing a cover letter](https://docs.rxresu.me/guides/writing-a-cover-letter.md): Create a cover letter as its own document, link it to a resume and a job application, match your resume's design, and download it. - [Sharing your resume with a link](https://docs.rxresu.me/guides/sharing-your-resume-publicly.md): Turn on a public link for your resume, choose its address, add a password, and see how many people viewed and downloaded it. - [Downloading your resume](https://docs.rxresu.me/guides/exporting-your-resume.md): Download your resume as a PDF in one click, or as Word, OpenDocument, Markdown or JSON from the Share sheet. Learn which format to use and how to print. - [Exporting a resume to Markdown](https://docs.rxresu.me/guides/exporting-resume-to-markdown.md): Download your resume as a Markdown file: plain text with headings for application forms, AI tools, notes, websites and version control. - [Connecting an AI provider](https://docs.rxresu.me/guides/using-ai.md): Add your own AI provider key in Reactive Resume, test the connection, and choose which provider the assistant and other AI features use. - [Using the assistant](https://docs.rxresu.me/guides/using-the-assistant.md): Ask the AI assistant to improve your resume or cover letter, then accept or reject each edit it proposes. Nothing changes until you accept. - [Assistant tools](https://docs.rxresu.me/guides/ai-agent-tools.md): Reference for the tools the Reactive Resume assistant can call: reading your document and attachments, proposing edits, asking questions and searching the web. - [Your career, in one place](https://docs.rxresu.me/guides/career-overview.md): Keep your experience, applications and interview preparation together, with evidence you can check and AI you choose. - [Prepare your first application](https://docs.rxresu.me/guides/first-career-application.md): Save a role, add real experience, check your evidence and prepare an answer for your first application workspace. - [Tell your story once](https://docs.rxresu.me/guides/building-career-knowledge.md): Save facts and five-part stories you can reuse in applications and interviews, then correct or remove them when needed. - [Apply when your experience is different](https://docs.rxresu.me/guides/checking-job-fit.md): Use Fit to understand real overlap, missing evidence and questions to resolve before applying. - [Answer another application form](https://docs.rxresu.me/guides/writing-application-answers.md): Draft and tighten form answers from your saved experience, check word or character counts, and keep what you submitted. - [Get ready for interview day](https://docs.rxresu.me/guides/preparing-for-interview-day.md): Have a briefing ready in the morning, rehearse one answer aloud, and use a debrief to improve the next round. - [Find roles while you are busy](https://docs.rxresu.me/guides/finding-roles-automatically.md): Set a discovery schedule, review open postings and track only the jobs you choose. - [Reply to a recruiter](https://docs.rxresu.me/guides/replying-to-recruiters.md): Read an employer message, edit a reply and review proposed changes to your application and follow-up reminder. - [Choose between two offers](https://docs.rxresu.me/guides/comparing-job-offers.md): Compare saved offers against your preferences, keep unknown terms visible and prepare questions before deciding. - [Career and workspace controls](https://docs.rxresu.me/guides/career-workspace-reference.md): A reference for tabs, saved versions, context, schedules, voice limits and career data controls. - [Tracking job applications](https://docs.rxresu.me/guides/tracking-job-applications.md): Keep every job you apply for in one place: see what needs you next, move applications through stages, and switch between List, Board, Insights and Calendar. - [Adding an application](https://docs.rxresu.me/guides/adding-an-application.md): Save a job from its link or posting, then prepare a resume or record what you already submitted. - [Managing an application](https://docs.rxresu.me/guides/managing-an-application.md): Use an application's details sheet to change its stage, plan the next step, see what you sent, keep notes and contacts, and close or delete it. - [Scheduling interviews](https://docs.rxresu.me/guides/scheduling-interviews.md): Add interviews and follow-up reminders to your applications, see them on the Calendar view, and add them to your own calendar with an .ics file. - [Tailoring a resume for a job](https://docs.rxresu.me/guides/tailoring-a-resume-for-a-job.md): Copy your resume for one job, write a matching cover letter, and use its workspace for fit, application answers and interviews. - [Viewing application insights](https://docs.rxresu.me/guides/viewing-application-insights.md): See how far your applications get, how often and how fast people reply, whether tailored resumes do better, and export a picture of your job search pipeline. - [Importing applications from CSV](https://docs.rxresu.me/guides/importing-applications-from-csv.md): Move job applications from a spreadsheet into Reactive Resume with CSV import, check how columns are matched, and export your applications back to CSV. - [Using the API](https://docs.rxresu.me/guides/using-the-api.md): Create a Reactive Resume API key, send authenticated REST requests to read and edit your resumes, and revoke keys you no longer need. - [Using the patch API](https://docs.rxresu.me/guides/using-the-patch-api.md): Change individual fields of a Reactive Resume with JSON Patch (RFC 6902): add, remove, replace and move items, set dates and avoid overwriting edits. - [JSON resume schema](https://docs.rxresu.me/guides/json-resume-schema.md): The Reactive Resume JSON Schema published at /schema.json: what it covers, how resume data is structured, and how to validate files against it. - [Using the MCP server](https://docs.rxresu.me/guides/using-the-mcp-server.md): Connect Claude, Cursor, Codex or any MCP client to Reactive Resume with OAuth or an API key, and see every tool, prompt and resource it offers. - [Using WebMCP](https://docs.rxresu.me/guides/using-webmcp.md): Let the AI agent in your browser read, check and edit the resume or cover letter open in Reactive Resume, through the tools the page offers with WebMCP. - [Managing applications with MCP](https://docs.rxresu.me/guides/managing-applications-with-mcp.md): Track job applications from an AI client connected to Reactive Resume: add roles, move stages, schedule interviews, attach sent PDFs and draft letters. - [Using agent skills](https://docs.rxresu.me/guides/using-agent-skills.md): Install Reactive Resume's eight agent skills in Claude, Codex, Cursor and other AI agents, and learn which skill to use at each step of a job search. - [Large RPC requests](https://docs.rxresu.me/guides/large-rpc-requests.md): Reference for the staged-body protocol that lets RPC requests larger than Vercel's 4.5 MB request limit reach a Reactive Resume installation. - [Free resume builder](https://docs.rxresu.me/use-cases/free-resume-builder.md): A free resume builder with no premium tier: unlimited resumes and cover letters, 18 templates, and PDF, Word, OpenDocument, Markdown and JSON downloads. - [Open-source resume builder](https://docs.rxresu.me/use-cases/open-source-resume-builder.md): Reactive Resume is an open-source resume builder under the MIT license: read the code, contribute, translate, or run your own instance. - [Privacy-focused resume builder](https://docs.rxresu.me/use-cases/privacy-focused-resume-builder.md): How Reactive Resume protects your resume data: private by default, password-protected links, in-browser ATS checks, your own AI provider, and self-hosting. - [Self-hosted resume builder](https://docs.rxresu.me/use-cases/self-hosted-resume-builder.md): Run Reactive Resume on your own server with Docker, Kubernetes or Vercel: PostgreSQL, local or S3 storage, single sign-on, and the full v6 feature set. - [API and MCP resume automation](https://docs.rxresu.me/use-cases/api-mcp-resume-automation.md): Automate resumes, cover letters and job applications in Reactive Resume with API keys, the OpenAPI endpoints, the Patch API and the MCP server. - [Export and share resumes](https://docs.rxresu.me/use-cases/export-and-share-resumes.md): Download Reactive Resume resumes as PDF, Word, OpenDocument, Markdown or JSON, or share a public link with an optional password and view statistics. - [AI resume builder](https://docs.rxresu.me/use-cases/ai-resume-builder.md): Use Reactive Resume as an AI resume builder: connect your own OpenAI, Anthropic, Gemini, Ollama or other provider to draft, review and tailor resumes. - [Reactive Resume vs Canva](https://docs.rxresu.me/comparisons/reactive-resume-vs-canva.md): Compare Reactive Resume and Canva for free resume creation, visual control, exports, data portability, and self-hosting. - [Reactive Resume vs Adobe Express](https://docs.rxresu.me/comparisons/reactive-resume-vs-adobe-express.md): Compare Reactive Resume and Adobe Express for resume templates, PDF export, visual editing, structured data, and self-hosting. - [Reactive Resume vs Overleaf](https://docs.rxresu.me/comparisons/reactive-resume-vs-overleaf.md): Compare Reactive Resume's visual resume builder with Overleaf's LaTeX templates, source editing, collaboration, and PDF workflow. - [Reactive Resume vs Resume.com](https://docs.rxresu.me/comparisons/reactive-resume-vs-resume-com.md): Compare two free resume builders by PDF export, accounts, templates, open-source access, portability, and self-hosting. - [Reactive Resume vs MyPerfectResume](https://docs.rxresu.me/comparisons/reactive-resume-vs-myperfectresume.md): Compare Reactive Resume and MyPerfectResume by free downloads, writing guidance, templates, AI, open source, and self-hosting. - [Reactive Resume vs Resume-Now](https://docs.rxresu.me/comparisons/reactive-resume-vs-resume-now.md): Compare Reactive Resume and Resume-Now by free export formats, guided writing, AI tools, templates, and self-hosting. - [Reactive Resume vs Resume.io](https://docs.rxresu.me/comparisons/reactive-resume-vs-resume-io.md): Compare Reactive Resume and Resume.io by free PDF access, templates, writing tools, exports, open source, and self-hosting. - [Reactive Resume vs Zety](https://docs.rxresu.me/comparisons/reactive-resume-vs-zety.md): Compare Reactive Resume and Zety by free downloads, guided writing, resume checks, templates, open source, and self-hosting. - [Reactive Resume vs Kickresume](https://docs.rxresu.me/comparisons/reactive-resume-vs-kickresume.md): Compare Reactive Resume and Kickresume by free downloads, AI writing, content examples, templates, provider choice, and self-hosting. - [Reactive Resume vs ResumeGemini](https://docs.rxresu.me/comparisons/reactive-resume-vs-resumegemini.md): Compare Reactive Resume and ResumeGemini by free PDF export, AI optimization, content examples, open source, and self-hosting. - [Reactive Resume vs Jobscan](https://docs.rxresu.me/comparisons/reactive-resume-vs-jobscan.md): Compare Reactive Resume and Jobscan by free PDF creation, ATS parse checking, job matching, exports, open source, and automation. - [Reactive Resume vs Resumod](https://docs.rxresu.me/comparisons/reactive-resume-vs-resumod.md): Compare Reactive Resume and Resumod by AI writing, role-specific samples, named tool surfaces, exports, open source, and self-hosting. - [Reactive Resume vs Rezi](https://docs.rxresu.me/comparisons/reactive-resume-vs-rezi.md): Compare Reactive Resume and Rezi by free limits, ATS scoring, keyword targeting, AI writing, provider choice, and self-hosting. - [Reactive Resume vs CareerCircle](https://docs.rxresu.me/comparisons/reactive-resume-vs-careercircle.md): Compare Reactive Resume and CareerCircle by free PDF and Word exports, career resources, accounts, open source, and self-hosting. - [Reactive Resume vs Novorésumé](https://docs.rxresu.me/comparisons/reactive-resume-vs-novoresume.md): Compare Reactive Resume and Novorésumé by free document limits, templates, guided writing, AI, exports, and self-hosting. - [Reactive Resume vs LiveCareer](https://docs.rxresu.me/comparisons/reactive-resume-vs-livecareer.md): Compare Reactive Resume and LiveCareer by free downloads, guided content, resume checks, templates, open source, and self-hosting. - [Reactive Resume vs Freesumes](https://docs.rxresu.me/comparisons/reactive-resume-vs-freesumes.md): Compare Reactive Resume and Freesumes by no-account use, PDF export, templates, saved resume management, privacy, and self-hosting. - [Self-hosting with Docker](https://docs.rxresu.me/self-hosting/docker.md): Run your own Reactive Resume server with Docker Compose and PostgreSQL: set up, create the first account, check health, update and back up. - [Self-hosting with Kubernetes](https://docs.rxresu.me/self-hosting/kubernetes.md): Deploy Reactive Resume on Kubernetes with plain manifests: PostgreSQL, a Secret, persistent uploads, health probes, Ingress, scaling and updates. - [Self-hosting on Vercel](https://docs.rxresu.me/self-hosting/vercel.md): Deploy Reactive Resume to Vercel as two Vercel Services, with Neon PostgreSQL, private Vercel Blob, and Upstash Redis provisioned by the wizard. - [Self-hosting on Hostinger](https://docs.rxresu.me/self-hosting/hostinger.md): Deploy Reactive Resume on a Hostinger VPS in one click, then add email, your own domain and sign-up limits. - [Self-hosting on Cloudflare](https://docs.rxresu.me/self-hosting/cloudflare.md): Run Reactive Resume on Workers with Static Assets, private R2 storage, Durable Objects, and PostgreSQL through Hyperdrive. - [Self-hosting on your NAS](https://docs.rxresu.me/self-hosting/nas.md): Community guides for running Reactive Resume v6 on a Synology or UGREEN NAS with Docker. - [Environment variables](https://docs.rxresu.me/self-hosting/environment-variables.md): Every environment variable a self-hosted Reactive Resume server reads: required settings, database, sign-in, email, storage, AI, Redis and feature flags. - [Mirror Computer Modern fonts](https://docs.rxresu.me/self-hosting/fonts.md): Serve Computer Modern font files from your own host for server-generated PDFs, and understand which font requests remain external. - [Deployment examples](https://docs.rxresu.me/self-hosting/examples.md): Copy-ready setups for self-hosted Reactive Resume: Caddy, Traefik and nginx with HTTPS, S3 storage, Redis, local AI with Ollama, and more. - [Job search and AI](https://docs.rxresu.me/self-hosting/job-search-and-ai.md): Configure one optional Firecrawl, Tavily or Exa connection and an AI provider without blocking manual job saving. - [Single sign-on (SSO)](https://docs.rxresu.me/self-hosting/sso.md): Let people sign in to your self-hosted Reactive Resume through Authentik, Authelia, Keycloak, or any OpenID Connect or OAuth 2.0 identity provider. - [Migrating from v5](https://docs.rxresu.me/self-hosting/upgrading-to-v6.md): Upgrade a self-hosted Reactive Resume v5 installation to v6: back up, run the startup migrations, convert old styles, and check API and MCP changes. - [Migrating from v4](https://docs.rxresu.me/self-hosting/migration.md): Move users and resumes from a self-hosted Reactive Resume v4 instance to the current version, by importing resumes one by one or with the migration scripts. - [Development setup](https://docs.rxresu.me/contributing/development.md): Run Reactive Resume locally with Node.js 24, pnpm, and Docker, then use the everyday commands for the database, tests, linting, and pull requests. - [Project architecture](https://docs.rxresu.me/contributing/architecture.md): How the Reactive Resume monorepo fits together: the web and server apps, shared packages, runtime boundaries, and where new code belongs. - [Web access adapters](https://docs.rxresu.me/contributing/web-access.md): Shared search and reading contracts, provider ownership, safety and contribution checks. - [Career platform rollout](https://docs.rxresu.me/contributing/career-platform.md): Enable, use, operate, and evaluate Career, the application workspace, and their optional scheduled work. - [Contributing translations](https://docs.rxresu.me/contributing/translations.md): Help translate Reactive Resume on Crowdin: read the glossary, keep placeholders intact, request a new language, and update catalogs in a checkout. - [Deployment checks](https://docs.rxresu.me/contributing/deployment-checks.md): How CI verifies the Vercel build artifact on every pull request, and how to run the deployment smoke test against a Vercel or Docker installation. - [Sponsors](https://docs.rxresu.me/community/sponsors.md): The sponsors whose support funds ongoing development and hosting of Reactive Resume, and how you or your company can sponsor the project. - [Spotlight](https://docs.rxresu.me/community/spotlight.md): Articles, videos, tutorials, and social media posts about Reactive Resume, shared by the community. - [License](https://docs.rxresu.me/legal/license.md): Read the MIT license that covers Reactive Resume, an open-source resume builder you can freely use, modify, self-host, and redistribute. - [Privacy Policy](https://docs.rxresu.me/legal/privacy-policy.md): How the hosted Reactive Resume service handles your personal data, account information, uploaded files, cookies, analytics, and PDF printing. - [Terms of Service](https://docs.rxresu.me/legal/terms-of-service.md): Terms and conditions for using the hosted Reactive Resume service, covering accounts, acceptable use, public resumes, uploads, exports, and liability. - [Changelog](https://docs.rxresu.me/changelog/index.md): Release notes for Reactive Resume covering new features, resume builder updates, PDF export fixes, AI Agent changes, and self-hosting news. - [Get application health and version](https://docs.rxresu.me/api-reference/system/get-application-health-and-version.md): Checks database and storage availability. Does not require authentication. - [Report unsafe AI-generated or publicly shared resume content to the server operator](https://docs.rxresu.me/api-reference/ai/report-unsafe-ai-generated-or-publicly-shared-resume-content-to-the-server-operator.md): Privately stores only the content and explanation the user submits. Does not send a report to an AI provider. Reports are deleted with the reporting account. - [Parse a PDF file into resume data](https://docs.rxresu.me/api-reference/ai/parse-a-pdf-file-into-resume-data.md): Extracts structured resume data from a PDF file with one of the user's saved AI providers: the one named by `aiProviderId`, or their default. Send the file as a base64-encoded string. Returns a complete ResumeData object and saves nothing. - [Parse a DOCX file into resume data](https://docs.rxresu.me/api-reference/ai/parse-a-docx-file-into-resume-data.md): Extracts structured resume data from a DOCX or DOC file with one of the user's saved AI providers: the one named by `aiProviderId`, or their default. Send the file as a base64-encoded string with the document's media type. Returns a complete ResumeData object and saves nothing. - [Review extracted resume text](https://docs.rxresu.me/api-reference/ai/review-extracted-resume-text.md): Reviews the plain text extracted from a resume PDF and returns qualitative feedback: a summary, rewrite suggestions, strengths, and — when a job description is supplied — how the candidate's experience lines up with the role. Deliberately returns no score: the deterministic ATS report owns the only… - [Suggest a rewrite of one line](https://docs.rxresu.me/api-reference/ai/suggest-a-rewrite-of-one-line.md): Suggests a rewrite of one line of a resume or cover letter: a stronger verb, an added result, a shorter version, or the user's own request. Returns the new line, a short reason, and whether it states anything the input didn't, so the user can check it. Writes nothing. Requires authentication and AI… - [Parse a PDF file into resume data](https://docs.rxresu.me/api-reference/ai/parse-a-pdf-file-into-resume-data-1.md): Extracts structured resume data from a PDF file with one of the user's saved AI providers: the one named by `aiProviderId`, or their default. Send the file as a base64-encoded string. Returns a complete ResumeData object and saves nothing. - [Parse a DOCX file into resume data](https://docs.rxresu.me/api-reference/ai/parse-a-docx-file-into-resume-data-1.md): Extracts structured resume data from a DOCX or DOC file with one of the user's saved AI providers: the one named by `aiProviderId`, or their default. Send the file as a base64-encoded string with the document's media type. Returns a complete ResumeData object and saves nothing. - [Review extracted resume text](https://docs.rxresu.me/api-reference/ai/review-extracted-resume-text-1.md): Reviews the plain text extracted from a resume PDF and returns qualitative feedback: a summary, rewrite suggestions, strengths, and — when a job description is supplied — how the candidate's experience lines up with the role. Deliberately returns no score: the deterministic ATS report owns the only… - [Suggest a rewrite of one line](https://docs.rxresu.me/api-reference/ai/suggest-a-rewrite-of-one-line-1.md): Suggests a rewrite of one line of a resume or cover letter: a stronger verb, an added result, a shorter version, or the user's own request. Returns the new line, a short reason, and whether it states anything the input didn't, so the user can check it. Writes nothing. Requires authentication and AI… - [List saved AI providers](https://docs.rxresu.me/api-reference/ai-providers/list-saved-ai-providers.md): Lists saved provider/model/API key combinations for the authenticated user. API keys are redacted. - [Create saved AI provider](https://docs.rxresu.me/api-reference/ai-providers/create-saved-ai-provider.md): Stores an encrypted provider/model/API key combination. The key is never returned. - [Delete saved AI provider](https://docs.rxresu.me/api-reference/ai-providers/delete-saved-ai-provider.md): Deletes a saved provider/model/API key combination. - [Update saved AI provider](https://docs.rxresu.me/api-reference/ai-providers/update-saved-ai-provider.md): Updates a saved provider/model/API key combination. Updating the key requires retesting before use. - [Make an AI provider the default](https://docs.rxresu.me/api-reference/ai-providers/make-an-ai-provider-the-default.md): Makes a tested, enabled provider the one used whenever no provider is chosen. The previous default stops being one. - [Test saved AI provider](https://docs.rxresu.me/api-reference/ai-providers/test-saved-ai-provider.md): Decrypts the saved API key server-side and validates the provider/model connection. - [Test saved AI provider](https://docs.rxresu.me/api-reference/ai-providers/test-saved-ai-provider-1.md): Decrypts the saved API key server-side and validates the provider/model connection. - [List agent threads](https://docs.rxresu.me/api-reference/agent/list-agent-threads.md) - [Start a document, application or career conversation](https://docs.rxresu.me/api-reference/agent/start-a-document-application-or-career-conversation.md): Starts an assistant conversation about one resume or cover letter, using the given tested provider or the default one. The assistant reads the document and proposes edits; it never changes the document itself. - [Get agent thread](https://docs.rxresu.me/api-reference/agent/get-agent-thread.md) - [Delete agent thread](https://docs.rxresu.me/api-reference/agent/delete-agent-thread.md) - [Switch a conversation's model or rename it](https://docs.rxresu.me/api-reference/agent/switch-a-conversations-model-or-rename-it.md) - [Send agent message](https://docs.rxresu.me/api-reference/agent/send-agent-message.md) - [Stop active agent run](https://docs.rxresu.me/api-reference/agent/stop-active-agent-run.md) - [Resume agent message stream](https://docs.rxresu.me/api-reference/agent/resume-agent-message-stream.md) - [Record what happened to proposed edits](https://docs.rxresu.me/api-reference/agent/record-what-happened-to-proposed-edits.md): Records that proposed edits were accepted, rejected, or are pending again (after an undo), so past conversations show their outcome. - [Create agent attachment](https://docs.rxresu.me/api-reference/agent/create-agent-attachment.md) - [Delete agent attachment](https://docs.rxresu.me/api-reference/agent/delete-agent-attachment.md) - [Send agent message](https://docs.rxresu.me/api-reference/agent/send-agent-message-1.md) - [Stop active agent run](https://docs.rxresu.me/api-reference/agent/stop-active-agent-run-1.md) - [Resume agent message stream](https://docs.rxresu.me/api-reference/agent/resume-agent-message-stream-1.md) - [Record what happened to proposed edits](https://docs.rxresu.me/api-reference/agent/record-what-happened-to-proposed-edits-1.md): Records that proposed edits were accepted, rejected, or are pending again (after an undo), so past conversations show their outcome. - [List job applications](https://docs.rxresu.me/api-reference/applications/list-job-applications.md): Returns all job applications belonging to the authenticated user, most recently updated first. Optionally filter by pipeline stage. Requires authentication. - [Create a job application](https://docs.rxresu.me/api-reference/applications/create-a-job-application.md): Creates a new job application in the pipeline. Company and role are required; all other fields (stage, location, salary, source, linked resume, follow-up, notes, contacts) are optional. Requires authentication. - [Bulk delete applications](https://docs.rxresu.me/api-reference/applications/bulk-delete-applications.md): Permanently deletes multiple applications at once. Requires authentication. - [Bulk update applications](https://docs.rxresu.me/api-reference/applications/bulk-update-applications.md): Applies the same change (move stage, archive/unarchive, add tags) to multiple applications at once. Requires authentication. - [Get application by ID](https://docs.rxresu.me/api-reference/applications/get-application-by-id.md): Returns a single job application with its full detail (contacts, activity timeline, linked resume). Only applications belonging to the authenticated user can be retrieved. Requires authentication. - [Update a job application](https://docs.rxresu.me/api-reference/applications/update-a-job-application.md): Updates one or more fields of an application, including moving it to a different pipeline stage or archiving it. Moving stages automatically appends an entry to the activity timeline. Only provided fields are changed. Requires authentication. - [Delete a job application](https://docs.rxresu.me/api-reference/applications/delete-a-job-application.md): Permanently deletes a job application. Requires authentication. - [Update a job application](https://docs.rxresu.me/api-reference/applications/update-a-job-application-1.md): Updates one or more fields of an application, including moving it to a different pipeline stage or archiving it. Moving stages automatically appends an entry to the activity timeline. Only provided fields are changed. Requires authentication. - [Bulk import applications](https://docs.rxresu.me/api-reference/applications/bulk-import-applications.md): Creates many applications at once from a parsed CSV. Each item requires company and role. Returns the number imported. Requires authentication. - [Attach an application document](https://docs.rxresu.me/api-reference/applications/attach-an-application-document.md): Uploads and attaches a PDF document to an application. Kind must be either resume or cover-letter. Requires authentication. - [Remove an application document](https://docs.rxresu.me/api-reference/applications/remove-an-application-document.md): Removes a resume or cover-letter PDF from an application and clears the stored document fields. Requires authentication. - [Log a note on the timeline](https://docs.rxresu.me/api-reference/applications/log-a-note-on-the-timeline.md): Appends a free-text note to the application's activity timeline. Requires authentication. - [Schedule an interview](https://docs.rxresu.me/api-reference/applications/schedule-an-interview.md): Adds an interview (screening, technical, behavioral, onsite or other) with a scheduled date-time to the application's activity timeline. Applications can have any number of interviews. Requires authentication. - [Update a scheduled interview](https://docs.rxresu.me/api-reference/applications/update-a-scheduled-interview.md): Updates an interview timeline entry (date-time, kind, duration, location, notes). Only provided fields are changed. Delete interviews with the timeline entry delete endpoint. Requires authentication. - [Update a scheduled interview](https://docs.rxresu.me/api-reference/applications/update-a-scheduled-interview-1.md): Updates an interview timeline entry (date-time, kind, duration, location, notes). Only provided fields are changed. Delete interviews with the timeline entry delete endpoint. Requires authentication. - [Update a timeline entry](https://docs.rxresu.me/api-reference/applications/update-a-timeline-entry.md): Updates a stage or note timeline entry date, or note text for note entries. Interview entries are rejected; use updateApplicationInterview. Requires authentication. - [Delete a timeline entry](https://docs.rxresu.me/api-reference/applications/delete-a-timeline-entry.md): Deletes a note or older stage entry. The current stage entry cannot be deleted. Requires authentication. - [Update a timeline entry](https://docs.rxresu.me/api-reference/applications/update-a-timeline-entry-1.md): Updates a stage or note timeline entry date, or note text for note entries. Interview entries are rejected; use updateApplicationInterview. Requires authentication. - [Bulk update applications](https://docs.rxresu.me/api-reference/applications/bulk-update-applications-1.md): Applies the same change (move stage, archive/unarchive, add tags) to multiple applications at once. Requires authentication. - [Bulk delete applications](https://docs.rxresu.me/api-reference/applications/bulk-delete-applications-1.md): Permanently deletes multiple applications at once. Requires authentication. - [Application pipeline stats](https://docs.rxresu.me/api-reference/applications/application-pipeline-stats.md): Returns aggregate counts (per stage, per source) for the Insights view. Requires authentication. - [List application tags](https://docs.rxresu.me/api-reference/applications/list-application-tags.md): Returns the distinct tags used across the user's applications. Requires authentication. - [Search job postings](https://docs.rxresu.me/api-reference/applications/search-job-postings.md): Searches using the selected Firecrawl, Tavily or Exa connection. Returns up to five public links to review and import. Requires authentication. - [Read a job posting](https://docs.rxresu.me/api-reference/applications/read-a-job-posting.md): Reads a job link or pasted posting text into role, company, location, salary and requirements, and returns the posting text to save with the application. Links must be public https pages. Without an AI provider, only a page's own job data (JSON-LD) fills the fields. Requires authentication. - [Post applicationsaiautofill](https://docs.rxresu.me/api-reference/applications/post-applicationsaiautofill.md) - [Post applications aimatch score](https://docs.rxresu.me/api-reference/applications/post-applications-aimatch-score.md) - [Post applications aidraft message](https://docs.rxresu.me/api-reference/applications/post-applications-aidraft-message.md) - [Post applications aitailor resume](https://docs.rxresu.me/api-reference/applications/post-applications-aitailor-resume.md) - [Search job postings](https://docs.rxresu.me/api-reference/applications/search-job-postings-1.md): Searches using the selected Firecrawl, Tavily or Exa connection. Returns up to five public links to review and import. Requires authentication. - [Read a job posting](https://docs.rxresu.me/api-reference/applications/read-a-job-posting-1.md): Reads a job link or pasted posting text into role, company, location, salary and requirements, and returns the posting text to save with the application. Links must be public https pages. Without an AI provider, only a page's own job data (JSON-LD) fills the fields. Requires authentication. - [Post applicationsaiautofills](https://docs.rxresu.me/api-reference/applications/post-applicationsaiautofills.md) - [Post applications aimatch scores](https://docs.rxresu.me/api-reference/applications/post-applications-aimatch-scores.md) - [Post applications aimessage drafts](https://docs.rxresu.me/api-reference/applications/post-applications-aimessage-drafts.md) - [Post applications aitailored resumes](https://docs.rxresu.me/api-reference/applications/post-applications-aitailored-resumes.md) - [Bulk import applications](https://docs.rxresu.me/api-reference/applications/bulk-import-applications-1.md): Creates many applications at once from a parsed CSV. Each item requires company and role. Returns the number imported. Requires authentication. - [Get your profile](https://docs.rxresu.me/api-reference/authentication/get-your-profile.md): Returns only the authenticated user's profile and timezone. No secrets are included. - [Update your profile](https://docs.rxresu.me/api-reference/authentication/update-your-profile.md): Updates only the authenticated user's name, username, image, or timezone. Usernames must be unique. - [List your API keys](https://docs.rxresu.me/api-reference/authentication/list-your-api-keys.md): Lists only the authenticated user's API-key metadata. Key secrets are never returned. - [Create an API key](https://docs.rxresu.me/api-reference/authentication/create-an-api-key.md): Create a read-only or full-access API key. Requires a browser session; keys and OAuth tokens cannot create credentials. - [Delete your API key](https://docs.rxresu.me/api-reference/authentication/delete-your-api-key.md): Revokes an API key belonging to the authenticated user. - [List authentication providers](https://docs.rxresu.me/api-reference/authentication/list-authentication-providers.md): Returns a list of all authentication providers enabled on this Reactive Resume instance, along with their display names. Possible providers include password-based credentials, Apple, Google, GitHub, LinkedIn, and custom OAuth. No authentication required. - [Export user account data](https://docs.rxresu.me/api-reference/authentication/export-user-account-data.md): Returns a JSON-serializable export of the authenticated user's profile, documents, applications, career knowledge, preparation, schedules and coaching conversations. Images remain URL references; coaching attachments include storage references. Secrets such as password hashes, tokens, and API keys a… - [Delete user account](https://docs.rxresu.me/api-reference/authentication/delete-user-account.md): Permanently deletes the authenticated user's account, including all resumes, uploaded files (profile pictures, screenshots, PDFs), and associated data. This action is irreversible. Requires a browser session; keys and OAuth tokens cannot delete accounts. - [Get careervoicetranscripts](https://docs.rxresu.me/api-reference/career/get-careervoicetranscripts.md) - [Post careervoicetranscribe](https://docs.rxresu.me/api-reference/career/post-careervoicetranscribe.md) - [Put careervoicetranscripts](https://docs.rxresu.me/api-reference/career/put-careervoicetranscripts.md) - [Delete careervoicetranscripts](https://docs.rxresu.me/api-reference/career/delete-careervoicetranscripts.md) - [Post careervoicespeak](https://docs.rxresu.me/api-reference/career/post-careervoicespeak.md) - [List career schedules](https://docs.rxresu.me/api-reference/career/list-career-schedules.md) - [Save a career schedule](https://docs.rxresu.me/api-reference/career/save-a-career-schedule.md) - [Delete a career schedule](https://docs.rxresu.me/api-reference/career/delete-a-career-schedule.md) - [List career notifications](https://docs.rxresu.me/api-reference/career/list-career-notifications.md) - [Mark a career notification as read](https://docs.rxresu.me/api-reference/career/mark-a-career-notification-as-read.md) - [List discovered opportunities](https://docs.rxresu.me/api-reference/career/list-discovered-opportunities.md) - [Dismiss a discovered opportunity](https://docs.rxresu.me/api-reference/career/dismiss-a-discovered-opportunity.md) - [Track a discovered opportunity](https://docs.rxresu.me/api-reference/career/track-a-discovered-opportunity.md): Creates an application at Saved with the posting link, summary and the preferences it matched. - [Get career preferences](https://docs.rxresu.me/api-reference/career/get-career-preferences.md) - [Save career preferences](https://docs.rxresu.me/api-reference/career/save-career-preferences.md) - [List career facts](https://docs.rxresu.me/api-reference/career/list-career-facts.md) - [Save a career fact](https://docs.rxresu.me/api-reference/career/save-a-career-fact.md) - [Forget a career fact](https://docs.rxresu.me/api-reference/career/forget-a-career-fact.md) - [Update a career fact](https://docs.rxresu.me/api-reference/career/update-a-career-fact.md) - [List career stories](https://docs.rxresu.me/api-reference/career/list-career-stories.md) - [Save a career story](https://docs.rxresu.me/api-reference/career/save-a-career-story.md) - [Delete a career story](https://docs.rxresu.me/api-reference/career/delete-a-career-story.md) - [List saved career work](https://docs.rxresu.me/api-reference/career/list-saved-career-work.md) - [Delete saved career work](https://docs.rxresu.me/api-reference/career/delete-saved-career-work.md) - [Generate AI work for an application](https://docs.rxresu.me/api-reference/career/generate-ai-work-for-an-application.md): Asks the default AI connection for one structured piece of work for an application (fit check, briefing, practice feedback, debrief review, employer message, answer draft). Everything but answer drafts is saved. - [Apply suggested changes from a message](https://docs.rxresu.me/api-reference/career/apply-suggested-changes-from-a-message.md) - [Get an application workspace](https://docs.rxresu.me/api-reference/career/get-an-application-workspace.md) - [Save an application workspace](https://docs.rxresu.me/api-reference/career/save-an-application-workspace.md) - [Mark an application as submitted](https://docs.rxresu.me/api-reference/career/mark-an-application-as-submitted.md) - [Save the answers sent with an application](https://docs.rxresu.me/api-reference/career/save-the-answers-sent-with-an-application.md): Saves the workspace's answers as sent, after the application is marked as applied. - [List cover letters](https://docs.rxresu.me/api-reference/cover-letters/list-cover-letters.md): Returns the authenticated user's saved cover letters, optionally filtered by search, resume, or application. - [Create a cover letter](https://docs.rxresu.me/api-reference/cover-letters/create-a-cover-letter.md): Creates a saved cover letter, optionally linked to a resume or job application. - [Get cover letter by ID](https://docs.rxresu.me/api-reference/cover-letters/get-cover-letter-by-id.md): Returns a single saved cover letter belonging to the authenticated user. - [Update a cover letter](https://docs.rxresu.me/api-reference/cover-letters/update-a-cover-letter.md): Updates the supplied fields of a saved cover letter using its expected revision. - [Move a cover letter to Trash](https://docs.rxresu.me/api-reference/cover-letters/move-a-cover-letter-to-trash.md): Moves a saved cover letter to Trash using its expected revision. It stays there for 30 days, then it is deleted; until then it can be restored (documents.restore) or deleted at once (documents.purge). Locked letters can't be moved. - [Update a cover letter](https://docs.rxresu.me/api-reference/cover-letters/update-a-cover-letter-1.md): Updates the supplied fields of a saved cover letter using its expected revision. - [Refresh cover letter style](https://docs.rxresu.me/api-reference/cover-letters/refresh-cover-letter-style.md): Refreshes a cover letter's style from a selected resume while preserving its content and template. - [Duplicate a cover letter](https://docs.rxresu.me/api-reference/cover-letters/duplicate-a-cover-letter.md): Creates a copy of an existing saved cover letter, optionally with a new name. - [Export a cover letter](https://docs.rxresu.me/api-reference/cover-letters/export-a-cover-letter.md): Exports a saved cover letter as a standalone Reactive Resume cover-letter document. - [Import a cover letter](https://docs.rxresu.me/api-reference/cover-letters/import-a-cover-letter.md): Creates a saved cover letter from an exported Reactive Resume cover-letter document. - [List a cover letter's versions](https://docs.rxresu.me/api-reference/cover-letters/list-a-cover-letters-versions.md): Returns the letter's History, newest first (at most 100): sessions, named, sent and restore points. - [Name a version of a cover letter](https://docs.rxresu.me/api-reference/cover-letters/name-a-version-of-a-cover-letter.md): Saves the letter as it is now as a named version. - [Get a cover letter version](https://docs.rxresu.me/api-reference/cover-letters/get-a-cover-letter-version.md): Returns one version of the letter, with the letter as it read then. - [Delete a named version](https://docs.rxresu.me/api-reference/cover-letters/delete-a-named-version.md): Deletes one of the letter's named versions. Other versions can't be deleted. - [Rename a named version](https://docs.rxresu.me/api-reference/cover-letters/rename-a-named-version.md): Renames one of the letter's named versions. - [Restore a cover letter version](https://docs.rxresu.me/api-reference/cover-letters/restore-a-cover-letter-version.md): Saves the current letter as "Before restore", then makes the letter read as the version did. Linked details and design keep coming from the resume. - [Draft a cover letter's body](https://docs.rxresu.me/api-reference/cover-letters/draft-a-cover-letters-body.md): Streams a draft of the letter's body, as text, from its linked resume and its application's posting, using only facts from them. Nothing is saved. `shorter` and `personal` revise a previous draft. - [Download a cover letter in PDF, DOCX, ODT, Markdown or JSON](https://docs.rxresu.me/api-reference/cover-letters/download-a-cover-letter-in-pdf-docx-odt-markdown-or-json.md): Renders the cover letter as a file in the chosen format. Linked sender details and design come live from its resume. Structured letter greetings default to English; pass `words` to localize them. Dates use the document's locale. - [Duplicate a cover letter](https://docs.rxresu.me/api-reference/cover-letters/duplicate-a-cover-letter-1.md): Creates a copy of an existing saved cover letter, optionally with a new name. - [Import a cover letter](https://docs.rxresu.me/api-reference/cover-letters/import-a-cover-letter-1.md): Creates a saved cover letter from an exported Reactive Resume cover-letter document. - [Refresh cover letter style](https://docs.rxresu.me/api-reference/cover-letters/refresh-cover-letter-style-1.md): Refreshes a cover letter's style from a selected resume while preserving its content and template. - [Draft a cover letter's body](https://docs.rxresu.me/api-reference/cover-letters/draft-a-cover-letters-body-1.md): Streams a draft of the letter's body, as text, from its linked resume and its application's posting, using only facts from them. Nothing is saved. `shorter` and `personal` revise a previous draft. - [Restore a cover letter version](https://docs.rxresu.me/api-reference/cover-letters/restore-a-cover-letter-version-1.md): Saves the current letter as "Before restore", then makes the letter read as the version did. Linked details and design keep coming from the resume. - [Delete expired Trash](https://docs.rxresu.me/api-reference/documents/delete-expired-trash.md): Permanently deletes documents in this account that have been in Trash more than 30 days. Requires authentication. - [List documents](https://docs.rxresu.me/api-reference/documents/list-documents.md): Returns the user's resumes and saved cover letters (or those in Trash), newest edit first, with the job application each was made for. Requires authentication. - [Count documents](https://docs.rxresu.me/api-reference/documents/count-documents.md): Counts live resumes and letters, and everything in Trash. Requires authentication. - [Rename a document](https://docs.rxresu.me/api-reference/documents/rename-a-document.md): Renames a resume or letter. Requires authentication. - [Set a document's tags](https://docs.rxresu.me/api-reference/documents/set-a-documents-tags.md): Replaces a resume's or letter's tags. Requires authentication. - [Lock or unlock a document](https://docs.rxresu.me/api-reference/documents/lock-or-unlock-a-document.md): Locks a resume or letter against edits and Trash, or unlocks it. Requires authentication. - [Link a document to an application](https://docs.rxresu.me/api-reference/documents/link-a-document-to-an-application.md): Records the job application a resume or letter was made for, or clears it. Requires authentication. - [Move a document to Trash](https://docs.rxresu.me/api-reference/documents/move-a-document-to-trash.md): Moves a resume or letter to Trash, where it stays for 30 days. A resume in Trash isn't shared. Locked documents can't be moved. Requires authentication. - [Restore a document](https://docs.rxresu.me/api-reference/documents/restore-a-document.md): Brings a document back from Trash. Requires authentication. - [Delete a document now](https://docs.rxresu.me/api-reference/documents/delete-a-document-now.md): Permanently deletes a document that is already in Trash. Requires authentication. - [Copy a resume for a job](https://docs.rxresu.me/api-reference/documents/copy-a-resume-for-a-job.md): Duplicates a resume and links the copy to a job application. Saved jobs select the copy; submitted document history is preserved. Requires authentication. - [Rename a document](https://docs.rxresu.me/api-reference/documents/rename-a-document-1.md): Renames a resume or letter. Requires authentication. - [Set a document's tags](https://docs.rxresu.me/api-reference/documents/set-a-documents-tags-1.md): Replaces a resume's or letter's tags. Requires authentication. - [Lock or unlock a document](https://docs.rxresu.me/api-reference/documents/lock-or-unlock-a-document-1.md): Locks a resume or letter against edits and Trash, or unlocks it. Requires authentication. - [Link a document to an application](https://docs.rxresu.me/api-reference/documents/link-a-document-to-an-application-1.md): Records the job application a resume or letter was made for, or clears it. Requires authentication. - [Move a document to Trash](https://docs.rxresu.me/api-reference/documents/move-a-document-to-trash-1.md): Moves a resume or letter to Trash, where it stays for 30 days. A resume in Trash isn't shared. Locked documents can't be moved. Requires authentication. - [Restore a document](https://docs.rxresu.me/api-reference/documents/restore-a-document-1.md): Brings a document back from Trash. Requires authentication. - [Delete a document now](https://docs.rxresu.me/api-reference/documents/delete-a-document-now-1.md): Permanently deletes a document that is already in Trash. Requires authentication. - [Copy a resume for a job](https://docs.rxresu.me/api-reference/documents/copy-a-resume-for-a-job-1.md): Duplicates a resume and links the copy to a job application. Saved jobs select the copy; submitted document history is preserved. Requires authentication. - [Get feature flags](https://docs.rxresu.me/api-reference/feature-flags/get-feature-flags.md): Returns the current feature flags for this Reactive Resume instance. Feature flags control instance-wide settings such as whether new user signups or email-based authentication are disabled. No authentication required. - [List all resume tags](https://docs.rxresu.me/api-reference/resumes/list-all-resume-tags.md): Returns a sorted list of all unique tags across the authenticated user's resumes. Useful for populating tag filters in the dashboard. Requires authentication. - [Subscribe to resume updates](https://docs.rxresu.me/api-reference/resumes/subscribe-to-resume-updates.md): Streams lightweight invalidation events when the specified resume changes. The event payload contains metadata only; clients should refetch the resume for canonical data. - [List all resumes](https://docs.rxresu.me/api-reference/resumes/list-all-resumes.md): Returns a list of all resumes belonging to the authenticated user. Results can be filtered by tags and sorted by last updated date, creation date, or name. Resume data is not included in the response for performance; use the get endpoint to fetch full resume data. Requires authentication. - [Create a new resume](https://docs.rxresu.me/api-reference/resumes/create-a-new-resume.md): Creates a new resume with the given name and tags. The slug (its public address) is optional: when omitted it is generated from the name and made unique across the user's resumes; when given it must be unique too. Optionally initializes the resume with sample data by setting withSampleData to true.… - [Get resume by ID](https://docs.rxresu.me/api-reference/resumes/get-resume-by-id.md): Returns a single resume with its full data, identified by its unique ID. Only resumes belonging to the authenticated user can be retrieved. Requires authentication. - [Update a resume](https://docs.rxresu.me/api-reference/resumes/update-a-resume.md): Updates one or more fields of a resume identified by its ID. All fields are optional; only provided fields will be updated. When expectedUpdatedAt is provided, a stale version returns RESUME_VERSION_CONFLICT (409) with data.updatedAt. Locked resumes cannot be updated. Requires authentication. - [Move a resume to Trash](https://docs.rxresu.me/api-reference/resumes/move-a-resume-to-trash.md): Moves a resume to Trash, which stops its public link. It stays there for 30 days, then it and its files are deleted; until then it can be restored (documents.restore) or deleted at once (documents.purge). Locked resumes can't be moved; unlock the resume first. Requires authentication. - [Patch resume data](https://docs.rxresu.me/api-reference/resumes/patch-resume-data.md): Applies JSON Patch (RFC 6902) operations to partially update a resume's data. This allows small, targeted changes (e.g. updating a single field) without sending the entire resume object. Locked resumes cannot be patched. Requires authentication. - [Import a resume](https://docs.rxresu.me/api-reference/resumes/import-a-resume.md): Creates a new resume from an existing ResumeData object (e.g. from a previously exported JSON file). A random name and slug are generated automatically. Returns the ID of the imported resume. Requires authentication. - [Set resume lock status](https://docs.rxresu.me/api-reference/resumes/set-resume-lock-status.md): Toggles the locked status of a resume. When locked, a resume cannot be updated, patched, or deleted. Useful for protecting finalized resumes from accidental edits. Requires authentication. - [Set resume lock status](https://docs.rxresu.me/api-reference/resumes/set-resume-lock-status-1.md): Toggles the locked status of a resume. When locked, a resume cannot be updated, patched, or deleted. Useful for protecting finalized resumes from accidental edits. Requires authentication. - [Duplicate a resume](https://docs.rxresu.me/api-reference/resumes/duplicate-a-resume.md): Creates a copy of an existing resume with the same data, and the given name and tags. The slug is optional: when omitted it is generated from the name and made unique across the user's resumes. Returns the ID of the duplicated resume. Requires authentication. - [List resume version history](https://docs.rxresu.me/api-reference/resumes/list-resume-version-history.md): Returns a resume's version history, newest first, without the data: where it came from (created or imported), one autosave per editing session, named versions, restores and AI edits. Autosaves, AI edits and restores are kept for 90 days; the rest until deleted. Only the resume owner can list version… - [Name a resume version](https://docs.rxresu.me/api-reference/resumes/name-a-resume-version.md): Saves the resume as it is now as a named version, kept until deleted. Only the resume owner can name versions. Requires authentication. - [Get a resume version](https://docs.rxresu.me/api-reference/resumes/get-a-resume-version.md): Returns one version of a resume with its full data, for previewing it before a restore. Only the resume owner can read versions. Requires authentication. - [Delete a named resume version](https://docs.rxresu.me/api-reference/resumes/delete-a-named-resume-version.md): Deletes a named version. Other versions expire on their own and can't be deleted. Requires authentication. - [Rename a named resume version](https://docs.rxresu.me/api-reference/resumes/rename-a-named-resume-version.md): Renames a named version. Other versions can't be renamed. Requires authentication. - [Restore a resume version](https://docs.rxresu.me/api-reference/resumes/restore-a-resume-version.md): Non-destructively restores a resume to a previous version snapshot by writing that snapshot's data back through the normal update path. Prior versions are preserved and the restore itself becomes a new snapshot. Only the resume owner can restore versions. Requires authentication. - [Download resume as PDF](https://docs.rxresu.me/api-reference/resumes/download-resume-as-pdf.md): Generates a PDF for the specified resume and returns it as a forced download. Only resumes belonging to the authenticated user can be downloaded. Requires authentication. - [Download a resume in PDF, DOCX, ODT, Markdown or JSON](https://docs.rxresu.me/api-reference/resumes/download-a-resume-in-pdf-docx-odt-markdown-or-json.md): Renders the resume as a file in the chosen format. - [Check resume content for ATS issues](https://docs.rxresu.me/api-reference/resumes/check-resume-content-for-ats-issues.md): Runs the editor's deterministic contact, date, layout, heading and writing checks. Respects ignored findings saved on the resume. - [Import a PDF, resume JSON or LinkedIn archive](https://docs.rxresu.me/api-reference/resumes/import-a-pdf-resume-json-or-linkedin-archive.md): Multipart form with file and format fields. PDF imports read the text layer without AI. For AI-assisted PDF and Word imports, use the AI parsing endpoints then create a resume import. - [Update a resume](https://docs.rxresu.me/api-reference/resumes/update-a-resume-1.md): Updates one or more fields of a resume identified by its ID. All fields are optional; only provided fields will be updated. When expectedUpdatedAt is provided, a stale version returns RESUME_VERSION_CONFLICT (409) with data.updatedAt. Locked resumes cannot be updated. Requires authentication. - [Duplicate a resume](https://docs.rxresu.me/api-reference/resumes/duplicate-a-resume-1.md): Creates a copy of an existing resume with the same data, and the given name and tags. The slug is optional: when omitted it is generated from the name and made unique across the user's resumes. Returns the ID of the duplicated resume. Requires authentication. - [Import a resume](https://docs.rxresu.me/api-reference/resumes/import-a-resume-1.md): Creates a new resume from an existing ResumeData object (e.g. from a previously exported JSON file). A random name and slug are generated automatically. Returns the ID of the imported resume. Requires authentication. - [Restore a resume version](https://docs.rxresu.me/api-reference/resumes/restore-a-resume-version-1.md): Non-destructively restores a resume to a previous version snapshot by writing that snapshot's data back through the normal update path. Prior versions are preserved and the restore itself becomes a new snapshot. Only the resume owner can restore versions. Requires authentication. - [Record a public resume PDF download](https://docs.rxresu.me/api-reference/resume-statistics/record-a-public-resume-pdf-download.md): Records a visitor's explicit PDF download after the browser starts saving the file. Requires access to the public resume. For password-protected resumes, first call verifyResumePassword (POST /resumes/{username}/{slug}/password/verify) with the password, then send the returned HttpOnly resume_access… - [Get resume statistics](https://docs.rxresu.me/api-reference/resume-statistics/get-resume-statistics.md): Returns view and download statistics for the specified resume, including total counts and the timestamps of the last view and download. Requires authentication. - [Get resume daily statistics](https://docs.rxresu.me/api-reference/resume-statistics/get-resume-daily-statistics.md): Returns a continuous, zero-filled per-day series of view and download counts for the specified resume over the last `days` days (UTC). Requires authentication and resume ownership. - [Record a public resume PDF download](https://docs.rxresu.me/api-reference/resume-statistics/record-a-public-resume-pdf-download-1.md): Records a visitor's explicit PDF download after the browser starts saving the file. Requires access to the public resume. For password-protected resumes, first call verifyResumePassword (POST /resumes/{username}/{slug}/password/verify) with the password, then send the returned HttpOnly resume_access… - [Get public resume by username and slug](https://docs.rxresu.me/api-reference/resume-sharing/get-public-resume-by-username-and-slug.md): Returns a publicly shared resume identified by the owner's username and the resume's slug. A slug the resume had within the last 30 days still finds it; the response carries the current slug, so clients can redirect. If the resume is password-protected and the viewer has not yet verified the passwor… - [Check a resume address](https://docs.rxresu.me/api-reference/resume-sharing/check-a-resume-address.md): Checks whether a slug can be a resume's public address: lowercase letters and numbers in groups joined by single dashes, and not used by another of the user's resumes. When it can't, suggests one that works. Requires authentication. - [Set resume password](https://docs.rxresu.me/api-reference/resume-sharing/set-resume-password.md): Sets or updates a password on a resume. When a password is set, viewers of the public resume must enter the password before the resume data is revealed. The password must be between 6 and 64 characters. Locked resumes can't be changed; unlock the resume first. Requires authentication. - [Remove resume password](https://docs.rxresu.me/api-reference/resume-sharing/remove-resume-password.md): Removes password protection from a resume. After removal, the resume (if public) can be viewed without entering a password. Locked resumes can't be changed; unlock the resume first. Requires authentication. - [Verify resume password](https://docs.rxresu.me/api-reference/resume-sharing/verify-resume-password.md): Verifies a password for a password-protected public resume. On success, the viewer is granted access to view the resume data for the duration of their session. No authentication required. - [Verify resume password](https://docs.rxresu.me/api-reference/resume-sharing/verify-resume-password-1.md): Verifies a password for a password-protected public resume. On success, the viewer is granted access to view the resume data for the duration of their session. No authentication required. - [Check a resume address](https://docs.rxresu.me/api-reference/resume-sharing/check-a-resume-address-1.md): Checks whether a slug can be a resume's public address: lowercase letters and numbers in groups joined by single dashes, and not used by another of the user's resumes. When it can't, suggests one that works. Requires authentication. - [Get user and resume totals with their cache timestamp](https://docs.rxresu.me/api-reference/platform-statistics/get-user-and-resume-totals-with-their-cache-timestamp.md) - [Get GitHub star count](https://docs.rxresu.me/api-reference/platform-statistics/get-github-star-count.md): Returns the number of GitHub stars for the Reactive Resume repository. The count is cached for up to 6 hours and falls back to a last-known value if the GitHub API is unavailable. No authentication required. - [Get search and reading availability](https://docs.rxresu.me/api-reference/integrations/get-search-and-reading-availability.md) - [Select a personal web connection](https://docs.rxresu.me/api-reference/integrations/select-a-personal-web-connection.md) - [Remove the personal web connection](https://docs.rxresu.me/api-reference/integrations/remove-the-personal-web-connection.md) - [Test provider search and reading independently](https://docs.rxresu.me/api-reference/integrations/test-provider-search-and-reading-independently.md) - [Test provider search and reading independently](https://docs.rxresu.me/api-reference/integrations/test-provider-search-and-reading-independently-1.md) - [Check a PDF for ATS readability](https://docs.rxresu.me/api-reference/checks/check-a-pdf-for-ats-readability.md): Multipart PDF upload, up to 25 MB. Processes at most 30 pages, reports truncation and skipped checks, and stores nothing. Rate limited per client address. No authentication required. - [Match resume terms to a job posting](https://docs.rxresu.me/api-reference/checks/match-resume-terms-to-a-job-posting.md): Runs the editor's deterministic term matching and respects terms hidden on this resume. No AI provider is needed. - [Upload a file](https://docs.rxresu.me/api-reference/files/upload-a-file.md): Send a multipart form with a file field (maximum 10 MiB). Images become public profile pictures; other files remain owner-only. Requires authentication. - [Delete a file](https://docs.rxresu.me/api-reference/files/delete-a-file.md): Deletes a file from storage by its filename or path. If the filename does not start with 'uploads/', the user's picture directory is assumed. Requires authentication. ## OpenAPI Specs - [spec](/spec.json) ## Optional - [Reactive Resume](https://rxresu.me) - [Source Code](https://github.com/reactive-resume/reactive-resume) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.