# User Attributes Object

User accounts can be initialized as either an **End-User** or **Service User**:

* End-User accounts are assigned to employees.
* Service User accounts are used by applications such as the LDAP sync or any application or bot built using the Symphony APIs.

**Do not assign Service User accounts to an employee.** Calling certain endpoints requires a Service User configured with the correct role or roles. For more information about End-User and Service User accounts and their roles, see the [Symphony Administration Guide](https://docs.symphony.com/series/4099883-symphony-admin-guides).

### End-User Account Attributes V2

`firstName` and `lastName` have a 64-character limit. All other End-User attributes have a 256-character limit.

The following attributes apply to the [Create User V2](/main/user-management/create-user-v2.md) and [Update User v2](/main/user-management/update-user-v2.md) endpoints.\
\&#xNAN;*Note that the column "Required at Creation" concerns only the* [*Create User v2*](/main/user-management/create-user-v2.md) *endpoint.*

<table><thead><tr><th width="210">userAttributes Object</th><th width="140" data-type="checkbox">Required at Creation</th><th>Possible Values</th></tr></thead><tbody><tr><td>accountType</td><td>false</td><td>Possible values: <code>NORMAL</code> (end-user), <code>SYSTEM</code> (service user).<br>If not specified, <code>NORMAL</code> will be used.<br>When you create a <code>SYSTEM</code> account, the following properties are not required: <code>firstName</code>, <code>lastName</code>.</td></tr><tr><td>emailAddress</td><td>true</td><td>The user's email address.<br>Must be unique.</td></tr><tr><td>firstName</td><td>true</td><td>The user's first name. Required for <code>NORMAL</code> users.</td></tr><tr><td>lastName</td><td>true</td><td>The user's last name. Required for <code>NORMAL</code> users.</td></tr><tr><td>userName</td><td>true</td><td>Must be unique.</td></tr><tr><td>displayName</td><td>true</td><td>The user's display name.</td></tr><tr><td>companyName</td><td>true</td><td><p>The user's company name.</p><p>If not specified, it is set with the default company name.</p></td></tr><tr><td>department</td><td>true</td><td>The user's department.</td></tr><tr><td>division</td><td>true</td><td>The user's division.</td></tr><tr><td>title</td><td>true</td><td>The user's title.</td></tr><tr><td>workPhoneNumber</td><td>true</td><td>The user's work phone number.</td></tr><tr><td>mobilePhoneNumber</td><td>true</td><td>The user's mobile number.</td></tr><tr><td>twoFactorAuthPhone</td><td>true</td><td>The user's two factor authentication mobile phone number.</td></tr><tr><td>smsNumber</td><td>true</td><td>The user's SMS number.</td></tr><tr><td>location</td><td>true</td><td>The user's location.</td></tr><tr><td>recommendedLanguage</td><td>true</td><td>The recommended language.</td></tr><tr><td>jobFunction</td><td>true</td><td><p>The user's job function.<br>Possible values:</p><p><code>Analyst, Other</code><br><code>Business Development Executive</code><br><code>Corporate Access</code><br><code>Developer</code><br><code>Director</code><br><code>Economist</code><br><code>Portfolio Manager</code><br><code>Project Manager</code><br><code>Research Analyst</code><br><code>Sales</code><br><code>Strategist</code><br><code>Trader</code></p></td></tr><tr><td>assetClasses</td><td>true</td><td><p>The user's asset classes.<br>Possible values:</p><p><code>Currencies</code><br><code>Commodities</code><br><code>Equities</code><br><code>Fixed Income</code></p></td></tr><tr><td>industries</td><td>true</td><td><p>The user's industries.<br>Possible values:</p><p><code>Basic Materials</code><br><code>Conglomerates</code><br><code>Consumer Cyclicals</code><br><code>Consumer Non-Cyclicals</code><br><code>Energy &#x26; Utilities</code><br><code>Financials</code><br><code>Healthcare</code><br><code>Real Estate</code><br><code>Services</code><br><code>Technology</code><br><code>Transportation</code></p></td></tr><tr><td>marketCoverage</td><td>true</td><td><p>Possible values:</p><p><code>EMEA</code><br><code>NA</code><br><code>APAC</code><br><code>LATAM</code></p></td></tr><tr><td>responsibility</td><td>true</td><td><p>Possible values:</p><p><code>BAU</code><br><code>Escalation</code></p></td></tr><tr><td>function</td><td>true</td><td><p>Possible values:</p><p><code>Collateral</code><br><code>Margin</code><br><code>Liquidity Management</code><br><code>Regulatory Outreach</code><br><code>Confirmation</code><br><code>Matching</code><br><code>Allocation</code><br><code>Settlements</code><br><code>Trade Processing</code><br><code>Claims Processing</code><br><code>Trade Management</code><br><code>Post Trade Management</code><br><code>Middle Office</code><br><code>Pre-Matching</code></p></td></tr><tr><td>instrument</td><td>true</td><td><p>Possible values:</p><p><code>Securities</code><br><code>Fixed Income</code><br><code>Equities</code></p></td></tr><tr><td>currentKey</td><td>true</td><td>A <a href="/pages/rqJBdM4sxcfGiEbZZpDL">UserKeyRequest Object</a> containing the current RSA key information to use for authenticating the user. When updating the user, this can be set (rotated) to a new key, in which case the existing key is stored in the previousKey and can be used for authentication during the current session</td></tr><tr><td>previousKey</td><td>true</td><td>A <a href="/pages/rqJBdM4sxcfGiEbZZpDL">UserKeyRequest Object</a> containing the RSA key information from the previous key in a key rotation scenario. The previous key can be used when the currentKey has been updated during the current session. The previousKey is valid for 72 hours.</td></tr><tr><td>userMetadata</td><td>false</td><td>This field is reserved for internal use only. Introduced in SBE 26.1</td></tr></tbody></table>

### Service User Account Attributes

<table><thead><tr><th width="210.33333333333331">`userAttributes` Object</th><th width="141" data-type="checkbox">Required</th><th>Possible Values</th></tr></thead><tbody><tr><td><code>accountType</code></td><td>true</td><td><code>SYSTEM</code></td></tr><tr><td><code>userName</code></td><td>true</td><td>Must be unique.</td></tr><tr><td><code>emailAddress</code></td><td>true</td><td>The user's email address.</td></tr><tr><td><code>displayName</code></td><td>true</td><td>The user's display name.</td></tr><tr><td><code>companyName</code></td><td>false</td><td>The user's company name.<br><br>If not specified, it is set with the default company name.</td></tr><tr><td><code>department</code></td><td>false</td><td>The user's department.</td></tr><tr><td><code>division</code></td><td>false</td><td>The user's division</td></tr><tr><td><code>workPhoneNumber</code></td><td>false</td><td>The user's work phone number.</td></tr><tr><td><code>mobilePhoneNumber</code></td><td>false</td><td>The user's mobile number.</td></tr><tr><td><code>twoFactorAuthPhone</code></td><td>false</td><td>The user's two factor authentication mobile phone number.</td></tr><tr><td><code>location</code></td><td>false</td><td>The user's location.</td></tr><tr><td><code>recommendedLanguage</code></td><td>false</td><td>The recommended language.</td></tr><tr><td><code>jobFunction</code></td><td>false</td><td>The user's job function.<br>Possible values:<br><br><code>Analyst, Other</code><br><code>Business Development Executive</code><br><code>Corporate Access</code><br><code>Developer</code><br><code>Director</code><br><code>Economist</code><br><code>Portfolio Manager</code><br><code>Project Manager</code><br><code>Research Analyst</code><br><code>Sales</code><br><code>Strategist</code><br><code>Trader</code></td></tr><tr><td><code>assetClasses</code></td><td>false</td><td>The user's asset classes.<br>Possible values:<br><br><code>Currencies</code><br><code>Commodities</code><br><code>Equities</code><br><code>Fixed Income</code></td></tr><tr><td><code>industries</code></td><td>false</td><td>The user's industries. Possible values:<br><br><code>Basic Materials</code><br><code>Conglomerates</code><br><code>Consumer Cyclicals</code><br><code>Consumer Non-Cyclicals</code><br><code>Energy &#x26; Utilities</code><br><code>Financials</code><br><code>Healthcare</code><br><code>Real Estate</code><br><code>Services</code><br><code>Technology</code><br><code>Transportation</code></td></tr><tr><td><code>marketCoverage</code></td><td>false</td><td>Possible values:<br><code>EMEA</code><br><code>NA</code><br><code>APAC</code><br><code>LATAM</code></td></tr><tr><td><code>responsibility</code></td><td>false</td><td>Possible values:<br><code>BAU</code><br><code>Escalation</code></td></tr><tr><td><code>function</code></td><td>false</td><td>Possible values:<br><code>Collateral</code><br><code>Margin</code><br><code>Liquidity Management</code><br><code>Regulatory Outreach</code><br><code>Confirmation</code><br><code>Matching</code><br><code>Allocation</code><br><code>Settlements</code><br><code>Trade Processing</code><br><code>Claims Processing</code><br><code>Trade Management</code><br><code>Post Trade Management</code><br><code>Middle Office</code><br><code>Pre-Matching</code></td></tr><tr><td><code>instrument</code></td><td>false</td><td>Possible values:<br><code>Securities</code><br><code>Fixed Income</code><br><code>Equities</code></td></tr><tr><td><code>currentKey</code></td><td>false</td><td>A <a href="/pages/rqJBdM4sxcfGiEbZZpDL">UserKeyRequest Object</a> containing the current RSA key information to use for authenticating the user. When updating the user, this can be set (rotated) to a new key, in which case the existing key is stored in the previousKey and can be used for authentication during the current session.</td></tr><tr><td><code>previousKey</code></td><td>false</td><td>A <a href="/pages/rqJBdM4sxcfGiEbZZpDL">UserKeyRequest Object</a> containing the RSA key information from the previous key in a key rotation scenario. The previous key can be used when the currentKey has been updated during the current session. The previousKey is valid for 72 hours.</td></tr><tr><td><code>userMetadata</code></td><td>false</td><td>This field is reserved for internal use only. Introduced in SBE 26.1</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://rest-api.symphony.com/main/user-management/user-attributes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
