Master Profile
The single source of truth for a user's career facts, and how it feeds every document and portfolio.
Master Profile
The Master Profile is a single, canonical career-facts record per user — every section a resume can have, stored as one JSON record with no other structural fields.
It is deliberately wider than a single resume. Where a resume folds extended sections into a
generic customSections array, the Master Profile keeps fully typed arrays for each: languages,
interests, awards, certificates, publications, volunteer, references, and achievements,
alongside basics, links, summary, experience, education, projects, and skills. See
Resume Schema for
the exact type.
No entitlement gate
The Master Profile's read/write endpoints and the auto-seed-on-create logic carry no entitlement check today — access is effectively available to every authenticated user, regardless of plan.
How it's used
When a user creates a new resume, cover letter, or portfolio with no content yet, it auto-seeds from the Master Profile. This means starting a new document is instant if a Master Profile already exists — no re-typing your work history.
The one-way rule
Editing a specific document (a resume, say) never writes back to the Master Profile. Only an explicit action updates it:
- Importing GitHub or LinkedIn data with "Replace my Master Profile with this data" checked.
- Directly editing the Master Profile page itself.
This means you can safely tailor one resume for a specific job — trimming sections, rewording bullets — without worrying it will change your canonical data or any other document that was seeded from it.
Where it lives
The Master Profile is managed inside Studio:
/profile/master— the primary structured editor./profile/advanced— a raw-JSON editor for deeper or bulk manual edits.
It's designed to be shared across Studio and Portfolio, though Portfolio's own /profile page today is read-only — a summary of the identity fields already in the portfolio draft — and links out to Studio for actual editing.
API
| Method | Path | API-key scope | Description |
|---|---|---|---|
GET | /api/v1/profiles/master | resume:read | Fetch the current user's Master Profile. |
PUT | /api/v1/profiles/master | resume:write | Replace the Master Profile with a new JSON record. |
PUT replaces the whole record — it is not a partial update.
See the Profile API reference for request/response schemas.
Related
- Importing Your Profile — how GitHub and LinkedIn import populate the Master Profile.
- Account Management — the lighter, getting-started view of Master Profile vs. your account/login identity.