CVEmber

Developers

Use your resumes from your AI assistant and your own tools

Paste a job ad into your AI assistant and say “update my resume for this”. It reads your CVEmber resume, saves a tailored version next to the original, checks it, and gives you a download link when your download access covers it. Nothing is ever bought or sent to anyone through it.

Connect

  • ChatGPT and Claude: add a connector with the address https://mcp.cvember.com/mcp and sign in to CVEmber when asked. You choose whether it may edit or only read. Disconnect any time in Settings → Connected apps.
  • Claude Code, Cursor, scripts: make a key in Settings → API keys and send it as Authorization: Bearer cvm_…. Keys last 90 days by default (30, 90, 180, 365 to choose from); you can have 2 on the free plan and 5 with download access.

What it can do

  • get_account — The account's plan, whether download access is active, what PDF export needs, and what this connection may do. Contact details are not included.
  • list_resumes — Base resumes and tailored versions, newest first, each with a label (company, job, made in, date, status), its CVEmber score and downloadable, plus counts. Filter by role, search or since. No contact details.
  • get_resume — One resume's full content (contact, headline, summary, experience, education, skills, projects, certifications), template, colour and contentVersion. A saved job ad or imported text is returned under foreign.
  • tailor_resume — Saves a version for a job ad; the master never changes. Wording the resume supports goes in; a new fact does not, nothing is dropped. Relay each questions[] item as written, never answered by you; the person's answers go back as userStatedFacts [{questionId, text}].
  • update_resume — Applies the person's requested edit to the given sections, title, role, template or colour and saves a version. expectedVersion must match contentVersion. changes lists what changed or was removed; questions[] as in tailor_resume. Undo: restore_version.
  • create_resume — Saves the person's resume or LinkedIn profile as a master for a role. sourceText is the attachment's text as read; details not found in it come back in checks. Refused as duplicate_resume if that master exists: offer to update it.
  • score_resume — CVEmber score, 0-100: how complete and readable the resume is, how well it matches the job when one is given, and how much its lines show. One number, the same every time. Partial = not fully read.
  • export_pdf — A 15-minute link that downloads the resume as a PDF on cvember.com when download access or an unlock covers it. Otherwise answers payment_required with the pricing page; nothing is bought through this tool.
  • restore_version — Puts a resume back to how it was before a change made through this API: the latest one, or the one named by actionId.
  • list_templates — Template ids with their format, columns, the roles each suits, and the colour ids.

What it can never do

  • Tailor over your original: tailoring always saves a separate version. Edits to the original happen only through update_resume, when the person asks.
  • Invent employers, degrees or dates, whether tailoring or editing: those are refused unless you ask for them; other factual changes are listed for you to check.
  • Buy anything, or download a PDF without paying: download links last 15 minutes and open on cvember.com, signed in.
  • Send your resume to anyone.

Every change can be undone for 30 days.

Limits

Per key or connected app:

  • Free: 100 requests a minute burst, 500 a day, 3000 a month; 30 changes, 60 checks and 10 download links an hour.
  • With a pass: 300 a minute burst, 2000 a day, 20000 a month; 120 changes, 240 checks and 30 download links an hour.
  • Account-wide fair use also applies: Pro and Pro Lifetime allow 500 MCP requests a day and 6,000 a month (see the Terms). The lower limit wins.
  • Job ads up to 15,000 characters. Up to 25 connected apps.
  • Sign-in tokens last 60 minutes and renew for up to 30 days; a connection lasts 90 days unless renewed.

REST API

Base address https://cvember.com/api/v1. The full description is at cvember://openapi in the MCP server. Creates accept an Idempotency-Key header, so a retry never makes a duplicate.

  • GET /account — Plan, download access, what PDF export needs, and this credential's access.
  • GET /resumes — Your resumes and tailored versions, newest first (no contact details).
  • POST /resumes — Create a resume from structured content (dryRun validates only).
  • GET /resumes/{resumeId} — One resume's full content, template and contentVersion.
  • PATCH /resumes/{resumeId} — Replace sections, title, template or colour; needs expectedVersion.
  • POST /resumes/{resumeId}/versions — Save a tailored version for a job ad; the original is never changed.
  • POST /resumes/{resumeId}/score — CVEmber's resume checks, optionally against a job ad.
  • POST /resumes/{resumeId}/export — A 15-minute link to download the PDF, if a pass covers it.
  • POST /resumes/{resumeId}/restore — Undo an API change: put the resume back as it was before it.
  • GET /templates — Template ids, formats and colours.

Errors

Every error has a stable code and a request id you can quote to support:

  • invalid_key (401)
  • invalid_token (401)
  • key_expired (401)
  • key_suspended (401)
  • key_owner_lost_access (401)
  • insufficient_scope (403)
  • resume_limit (403)
  • credential_quarantined (403)
  • not_found (404)
  • method_not_allowed (405)
  • version_conflict (409)
  • confirm_required (409)
  • idempotency_in_progress (409)
  • invalid_request (400)
  • invalid_cursor (400)
  • idempotency_mismatch (422)
  • facts_refused (422)
  • removals_need_approval (422)
  • role_needed (422)
  • duplicate_resume (409)
  • not_a_job_ad (422)
  • too_large (413)
  • payment_required (402)
  • plan_required (403)
  • rate_limited (429)
  • quota_exceeded (429)
  • too_many_drafts (429)
  • read_only (503)
  • plan_unavailable (503)
  • keys_unavailable (503)
  • unavailable (503)
  • service_protected (503)
  • internal (500)

Each call is recorded (who, which action, the answer, never your content) and kept for 400 days. See also our security page.

Claude is a trademark of Anthropic, PBC. ChatGPT is a trademark of OpenAI. CVEmber is not affiliated with, endorsed by, or sponsored by any of them.