Update Profile
Profile
Update Profile
Update your career profile
PATCH
Update Profile
Overview
The Update Profile endpoint lets you modify your career profile. The scalar identity and contact fields (name, email, phone, address, links, and the profile scalars below) are shared and appear on every resume - editing them here propagates to all resumes. The collection arrays (summaries, projects, certificates, etc.) write your base (default) resume’s content, which is the canonical content that new resumes are copied from.
Common use cases:
- AI agent profile management - keep your profile up to date as your career evolves.
- Bulk updates - update multiple fields at once after a job change.
- LinkedIn sync - pull data from LinkedIn and push it to your Mokaru profile.
Scope required:
profile:write | Rate limit: 20 requests/minRequest
Body Parameters
All fields are optional. Only include the fields you want to change. Passnull to clear a field.
string
First name (max 100 characters)
string
Last name (max 100 characters)
string
Email address (max 254 characters)
string
Phone number (max 50 characters, null to clear)
string
Address (max 200 characters, null to clear)
string
Country (max 100 characters, null to clear)
string
Province or state (max 100 characters, null to clear)
string
Current job title (max 200 characters, null to clear)
string
Professional summary (max 2000 characters, null to clear)
string
Industry sector (max 100 characters, null to clear)
string
Nationality (max 100 characters, null to clear)
string
Pronouns (max 50 characters, null to clear)
string
LinkedIn username or URL (max 500 characters, null to clear)
string
Personal website URL (max 500 characters, null to clear)
string
Portfolio URL (max 500 characters, null to clear)
string
GitHub URL (max 500 characters, null to clear)
Collection fields (replace-list semantics)
These accept full arrays. Passing an array REPLACES the entire collection. To add one item without losing existing entries, first callGET /v1/profile, append to the returned array, then send the full updated array back. Omit the field to leave the collection unchanged; pass [] to clear it. Hard cap of 100 items per collection (50 for jobTitles).
array (max 100)
Professional summary versions:
{ title?: string, content: string }[]array (max 100)
Projects:
{ name, description, organisation?, startDate?, endDate?, isCurrent?, url? }[]array (max 100)
Certificates:
{ name, issuer, description?, issueDate?, expiryDate?, credentialId?, verificationUrl? }[]array (max 100)
Awards:
{ name, organisation?, description?, date? }[]array (max 100)
Publications:
{ name, publisher?, date?, url?, description? }[]array (max 100)
Interests:
{ name, description? }[]array (max 50)
Career-identity job titles:
{ title: string }[]Example
Response
boolean
Whether the profile was updated
LinkedIn usernames are automatically converted to full URLs. For example,
"jane-smith" becomes "https://linkedin.com/in/jane-smith". Website and portfolio URLs have https:// prepended if no protocol is specified.