get_resume_schema once per session, then preview_resume_patch before each update_resume_content to catch validation errors before they cost a retry.
Read
list_resumes
Returns { id, title, updatedAt, templateId } for every resume in the authenticated account.
Use when: the user references “my resume” without specifying which one, and you need to disambiguate.
get_resume
id or by title (case-insensitive). Exactly one of the two is required.
Use when: you need to read fields before patching, or to render context for the model.
get_resume_schema
Returns the JSON Schema for the Resume shape (the same artifact @magic-resume/resume-schema emits to dist/schema.json).
Use when: the model needs to know what fields exist, which are required, and what enums are valid. Cache it for the session.
get_resume_editing_guide
Returns a natural-language guide describing how to construct valid patches — common pitfalls, field semantics, ordering rules.
Use when: before the first mutation in a session. This is the difference between a model that drafts good patches and one that round-trips three times.
Patch
preview_resume_patch
update_resume_content. Cheap, no side effects.
update_resume_content
Patch shape
Patches follow RFC 6902:fast-json-patch and then the whole resulting document is parsed with resumeSchema. A partially valid patch is rejected entirely — there’s no “best effort” mode.