> For the complete documentation index, see [llms.txt](https://docs.tnid.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tnid.com/api-reference/001_user/001_profile/002__update_user_profile.md).

# Update User Profile

GraphQL endpoint: `/user`

Updates the user's profile information including basic details, contact information, and visibility settings. This mutation allows comprehensive updates to user profile data.

## Query

```graphql
mutation (
  $username: String
  $firstName: String
  $lastName: String
  $middleName: String
  $birthdate: Date
  $aboutMe: String
  $timezone: String
  $metadata: JSON
  $secretStorage: JSON
  $emails: [UserEmailInput]
  $telephoneNumbers: [UserTelephoneNumberInput!]
  $addresses: [UserAddressInput]
  $webpages: [UserWebpageInput]
  $socialNetworks: [UserSocialMediaInput]
  $userInterests: [ID]
  $nameVisibility: [UserVisibilityType!]
  $profileImageUrlVisibility: [UserVisibilityType!]
  $aboutMeVisibility: [UserVisibilityType!]
  $birthdateVisibility: [UserVisibilityType!]
  $interestsVisibility: [UserVisibilityType!]
  $timezoneVisibility: [UserVisibilityType!]
  $metadataVisibility: [UserVisibilityType!]
) {
  updateUser (
    username: $username
    firstName: $firstName
    lastName: $lastName
    middleName: $middleName
    birthdate: $birthdate
    aboutMe: $aboutMe
    timezone: $timezone
    metadata: $metadata
    secretStorage: $secretStorage
    emails: $emails
    telephoneNumbers: $telephoneNumbers
    addresses: $addresses
    webpages: $webpages
    socialNetworks: $socialNetworks
    userInterests: $userInterests
    nameVisibility: $nameVisibility
    profileImageUrlVisibility: $profileImageUrlVisibility
    aboutMeVisibility: $aboutMeVisibility
    birthdateVisibility: $birthdateVisibility
    interestsVisibility: $interestsVisibility
    timezoneVisibility: $timezoneVisibility
    metadataVisibility: $metadataVisibility
  ) {
    id
    metadata
    secretStorage
  }
}

```

## Variables

```json
{
  "aboutMe": "updated about me",
  "aboutMeVisibility": [
    "FAMILY"
  ],
  "addresses": [
    {
      "city": "test city",
      "country": "United States",
      "state": "Alabama",
      "street": "test street 3",
      "types": [
        "WORK"
      ],
      "visibility": [
        "FAMILY"
      ],
      "zipCode": "12345"
    },
    {
      "city": "test city",
      "country": "United States",
      "state": "Alabama",
      "street": "test street 4",
      "types": [
        "WORK"
      ],
      "visibility": [
        "FAMILY"
      ],
      "zipCode": "12345"
    }
  ],
  "birthdate": "2000-01-01",
  "birthdateVisibility": [
    "FAMILY"
  ],
  "emails": [
    {
      "email": "test5@email.com",
      "id": "00000000-0000-4000-8000-000000000002",
      "types": [
        "WORK"
      ],
      "visibility": [
        "FAMILY"
      ]
    },
    {
      "email": "test6@email.com",
      "types": [
        "WORK"
      ],
      "visibility": [
        "FAMILY"
      ]
    }
  ],
  "firstName": "updated-first_name",
  "interestsVisibility": [
    "FAMILY"
  ],
  "lastName": "updated-last_name",
  "metadata": {
    "test": "updated-value"
  },
  "metadataVisibility": [
    "FAMILY"
  ],
  "middleName": "updated-middle_name",
  "nameVisibility": [
    "FAMILY"
  ],
  "profileImageUrlVisibility": [
    "FAMILY"
  ],
  "socialNetworks": [
    {
      "type": "FACEBOOK",
      "url": "https://test-sm9.not",
      "visibility": [
        "FAMILY"
      ]
    },
    {
      "type": "FACEBOOK",
      "url": "https://test-sm10.not",
      "visibility": [
        "FAMILY"
      ]
    }
  ],
  "telephoneNumbers": [
    {
      "country_code": "1",
      "id": "00000000-0000-4000-8000-000000000003",
      "number": "7",
      "types": [
        "WORK"
      ],
      "visibility": [
        "FAMILY"
      ]
    },
    {
      "country_code": "1",
      "number": "8",
      "types": [
        "WORK"
      ],
      "visibility": [
        "FAMILY"
      ]
    }
  ],
  "timezone": "Asia/Phnom_Penh",
  "timezoneVisibility": [
    "FAMILY"
  ],
  "userInterests": [
    "00000000-0000-4000-8000-000000000004"
  ],
  "username": "updated-username",
  "webpages": [
    {
      "type": "WEBPAGE",
      "url": "https://test-webpage1.not",
      "visibility": [
        "FAMILY"
      ]
    },
    {
      "type": "WEBPAGE",
      "url": "https://test-webpage2.not",
      "visibility": [
        "FAMILY"
      ]
    }
  ]
}
```

## Response

```json
{
  "data": {
    "updateUser": {
      "id": "00000000-0000-4000-8000-000000000001",
      "metadata": {
        "test": "updated-value"
      },
      "secretStorage": {}
    }
  }
}
```
