API reference
PATCHRequires Bearer token
Update profile
/api/v1/profile/{user}/update
Self-service only. Partial update. Use `multipart/form-data` when uploading seal; otherwise JSON.
- MFA cannot be toggled here — use
/api/v1/mfa/*. signature_mentions.mentionsis a closed vocabulary of at most 4 keys:fullName,jobTitle,company,email,signedAt,provider.localeisfr,en, ornull(clears the preference; emails fall back to the request locale then French).
Path parameters
| Field | Type | Description |
|---|---|---|
user Required | string | Path parameter user. |
Query parameters
This endpoint has no query parameters.
Request body
Send as multipart/form-data.
| Field | Type | Description |
|---|---|---|
first_name | string | First name. e.g. "Jane" |
last_name | string | Last name. e.g. "Doe" |
email | string | Account email (unique). e.g. "jane@acme.test" |
card_id_number | string | National ID card number. e.g. "CI123456789" |
phone_number | string | Phone in E.164 (+…).e.g. "+2250700000001" |
address | string | Street address. e.g. "12 Rue de la Paix" |
city | string | City. e.g. "Abidjan" |
country | string | Country. e.g. "Côte d'Ivoire" |
job_title | string | Job title shown under the signature (max 120). e.g. "Chief Financial Officer" |
locale | string | Email language: fr, en, or null to reset.e.g. "fr" |
seal | string | Seal image (png/jpg, max 20 MB). Replaces the previous file. |
signature_mentions | object | Appearance block rendered under the signature. e.g. {"enabled":true,"frame":false,"mentions":["fullName","signedAt"]} |
Responses
| Status | Meaning |
|---|---|
| 200 | User updated successfully |
| 401 | Missing or invalid Bearer token. |