/v2/account/profileUpdates profile fields, including notification preferences (same object, not a separate resource). Send only the fields you want to change.
| Authorization | Bearer YOUR_API_KEY |
| Content-Type | application/json |
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | Optional | Up to 200 characters. |
| phone | string | Optional | Up to 50 characters. |
| jobTitle | string | Optional | Up to 200 characters. |
| companyName | string | Optional | Up to 200 characters. |
| companySize | string | Optional | Up to 100 characters. |
| companyWebsite | string | Optional | Must be a valid URL, up to 2,048 characters. |
| address | string | Optional | Up to 500 characters. |
| industry | string | Optional | Up to 200 characters. |
| timezone | string | Optional | IANA zone, up to 100 characters. |
| onboardingCompleted | boolean | Optional | Marks onboarding as done. |
| profession | string | Optional | Up to 200 characters. |
| goal | string | Optional | Up to 1,000 characters. |
| notifications | object | Optional | { emailNotifications?, campaignReports?, systemAlerts? } — any subset of booleans. |
curl -X PUT "https://api.stynar.com/v2/account/profile" \
-H "Authorization: Bearer esk_your_key_here" \
-H "Content-Type: application/json" \
-d '{"jobTitle":"Founder","companyName":"Acme Inc","notifications":{"campaignReports":false}}'{
"userId": "usr_abc123",
"name": "Alex Kim",
"jobTitle": "Founder",
"companyName": "Acme Inc",
"notifications": {
"emailNotifications": true,
"campaignReports": false,
"systemAlerts": true
},
"updatedAt": "2026-08-16T10:20:00Z"
}| Status | Code | Meaning |
|---|---|---|
| ✕ 401 Unauthorized | UNAUTHORIZED | Missing, malformed, unknown, revoked, or expired key. |
| ✕ 403 Forbidden | API_ACCESS_DISABLED | API access is turned off for your account. |
| ✕ 403 Forbidden | INSUFFICIENT_SCOPE | The key doesn't have the scope this endpoint requires. |
| ✕ 404 Not Found | NOT_FOUND | Unknown route, or a resource that doesn't exist / isn't yours. |
| ✕ 409 Conflict | CONFLICT | The action can't be applied to the resource's current state. |
| ✕ 429 Too Many Requests | RATE_LIMIT_EXCEEDED | Per-minute or per-second limit hit. |
| ✕ 429 Too Many Requests | QUOTA_EXCEEDED | Monthly quota exhausted. |
| ✕ 500 Internal Server Error | INTERNAL_ERROR | Something broke on Stynar's end. |