> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mokaru.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Profile

> Update your career profile

## Overview

The Update Profile endpoint lets you modify your career profile. Changes propagate to all resumes that reference your profile data.

**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.

<Note>
  **Scope required:** `profile:write` | **Rate limit:** 20 requests/min
</Note>

## Request

```bash theme={null}
PATCH /v1/profile
```

### Body Parameters

All fields are optional. Only include the fields you want to change. Pass `null` to clear a field.

<ParamField body="firstName" type="string">
  First name (max 100 characters)
</ParamField>

<ParamField body="lastName" type="string">
  Last name (max 100 characters)
</ParamField>

<ParamField body="email" type="string">
  Email address (max 254 characters)
</ParamField>

<ParamField body="phone" type="string | null">
  Phone number (max 50 characters, null to clear)
</ParamField>

<ParamField body="address" type="string | null">
  Address (max 200 characters, null to clear)
</ParamField>

<ParamField body="country" type="string | null">
  Country (max 100 characters, null to clear)
</ParamField>

<ParamField body="province" type="string | null">
  Province or state (max 100 characters, null to clear)
</ParamField>

<ParamField body="birthDate" type="string | null">
  Birth date in ISO format, e.g. "1990-01-15" (null to clear)
</ParamField>

<ParamField body="driverLicense" type="string | null">
  Driver license type (max 50 characters, null to clear)
</ParamField>

<ParamField body="gender" type="string | null">
  Gender (max 50 characters, null to clear)
</ParamField>

<ParamField body="jobTitle" type="string | null">
  Current job title (max 200 characters, null to clear)
</ParamField>

<ParamField body="summary" type="string | null">
  Professional summary (max 2000 characters, null to clear)
</ParamField>

<ParamField body="sector" type="string | null">
  Industry sector (max 100 characters, null to clear)
</ParamField>

<ParamField body="employer" type="string | null">
  Current employer (max 200 characters, null to clear)
</ParamField>

<ParamField body="linkedIn" type="string | null">
  LinkedIn username or URL. Automatically normalized to a full URL. (null to clear)
</ParamField>

<ParamField body="website" type="string | null">
  Personal website URL. https\:// is added if missing. (max 500 characters, null to clear)
</ParamField>

<ParamField body="portfolio" type="string | null">
  Portfolio URL. https\:// is added if missing. (max 500 characters, null to clear)
</ParamField>

### Example

```bash theme={null}
curl -X PATCH "https://api.mokaru.ai/v1/profile" \
  -H "Authorization: Bearer mk_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "firstName": "Jane",
    "lastName": "Smith",
    "jobTitle": "Senior Software Engineer",
    "linkedIn": "jane-smith",
    "employer": "Acme Corp"
  }'
```

## Response

<ResponseField name="success" type="boolean">Whether the profile was updated</ResponseField>

```json theme={null}
{
  "success": true
}
```

<Note>
  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.
</Note>
