---
title: "Update user profile of user specified by userId"
method: PUT
path: "/gdc/account/profile/{userId}"
tags: ["webapp-users"]
---

# Update user profile of user specified by userId

`PUT /gdc/account/profile/{userId}`

## Request

- Base URL: `https://secure.gooddata.com`
- URL: `https://secure.gooddata.com/gdc/account/profile/{userId}`
- Auth: none declared

Only profile owner or domain admin is allowed to update user profiles. 
 **Steps:**

 1. `GET` the account settings of the user.

 2. Remove all keywords from the returned JSON except for `firstName` and `lastName`.

 3. Add the `authenticationModes` keyword. You can specify `SSO`, `PASSWORD`, or both.

 4. Add the `ssoProvider` keyword. You can specify one or multiple SSO providers. To add multiple SSO providers to the user, specify a comma-separated list of SSO providers. For example, `"ssoProvider": "sso_provider_1, sso_provider_2"`.

 5. Execute a `PUT` to modify the authentication settings for the user.

## Path parameters

- `userId` string, required

## Request body

- AccountSetting1
  - `accountSetting` AccountSettingTypeCommon, required
    - `login` string, email, nullable: The user login. This property is assigned when a user is created. This property is read-only and cannot be updated. The login does not have to be an actual working email address but must follow the email format.
    - `email` string, email, nullable: The user's contact email. The email can (but does not have to) be the same as the login. Only a domain admin can update this property.
    - `firstName` string, required: The user's first name.
    - `lastName` string, required: The user's last name.
    - `companyName` string, nullable: The name of the company where the user works.
    - `position` string, nullable: The user’s job position in the company.
    - `created` string: Date and time string in the format `YYYY-MM-DD hh:mm:ss`
    - `updated` string: Date and time string in the format `YYYY-MM-DD hh:mm:ss`
    - `timezone` integer, nullable: This parameter is deprecated and not used.
    - `timezoneName` string, nullable: The timezone where the user belongs to. The timezone must be in the format specified in the [IANA Time Zone Database](https://www.iana.org/time-zones). If set, the user’s timezone overrides the [timezone set for the project](https://help.gooddata.com/pages/viewpage.action?pageId=86796802).
    - `country` string, nullable: The country where the user is located.
    - `phoneNumber` string, nullable: The user's phone number.
    - `old_password` string: The user's current password; used only when updating the user's password.
    - `password` string, nullable: The user's current password (when creating a user) or the user's new password (when updating the user's password).
    - `verifyPassword` string, nullable: The user's current password (when creating a user) or the user's new password (when updating the user's password) entered for verification.
    - `authenticationModes` string[]: Is authentication mode (`SSO`, `PASSWORD`, or both) allowed for the user. The value of this field overrides the global settings for the domain. Only a domain admin can update this property.
    - `ssoProvider` string, nullable: The identifier of the user's authentication provider. It can contain a single value or a comma-separated list of values (for example, `"ssoProvider"&#58; "sso_provider_1, sso_provider_2"`). Only a domain admin can update this property.
    - `language` string: The language used in the embedded dashboards that the user can view. If not set, defaults to English (`en-US`). Other available languages are Dutch (`nl-NL`), Spanish (`es-ES`), Portuguese/Brazil (`pt-BR`), Portuguese/Portugal (`pt-PT`), French (`fr-FR`), German (`de-DE`), Japanese (`ja-JP`), and Simplified Chinese (`zh-Hans`). **NOTE:** You can also apply the set language to the other parts of the GoodData Portal&#58; Dashboards, Reports, KPI dashboards, Analytical Designer, Manage, and user menu. To do so, contact GoodData Support.
    - `ipWhitelist` string[], nullable: An array of the IP address ranges (in the CIDR format), from which the user is allowed to access the GoodData platform. This property is a user-specific setting, and it overrides the domain IP whitelist settings, if any has been set. Only a domain admin can update this property. <ul><li>When set to <code>null</code>, the user has access to the GoodData platform regardless of their IP address.</li> <li>When set to an empty array (<code>[]</code>), the user has no access to the GoodData platform.</li> <li>When not set, the property defaults to <code>null</code>.</li></ul>
    - `links` LinksCommon
      - `projects` string, uri: Link to projects where the user is assigned to
      - `self` string, uri: Link to this account settings

## Response `200`

Use profile successfully updated

- object

## Other responses

- `403`: Non existing user profile or, requester is not allowed to update given user profile.
- `default`: Common error

---

[API](https://skmtc.dev/gooddata/apis/gooddata-api-documentation.md) - [All operations](https://skmtc.dev/gooddata/apis/gooddata-api-documentation/llms.txt) - [OpenAPI document](https://skmtc.dev/gooddata/apis/gooddata-api-documentation/revisions/e5dc0ee6ab00?raw)
