---
title: "Updates user profile of an user"
method: PUT
path: "/users/{userId}/profile"
tags: ["Users"]
---

# Updates user profile of an user

`PUT /users/{userId}/profile`

## Path parameters

- `userId` string, required

## Request body

- UserProfile
  - `name` string, nullable
  - `timeZone` string, nullable
  - `language` 0 | 1 | 2

## Response `200`

OK

- V1UserInfoV1
  - `colorIndex` integer
  - `contactAddresses` union[], nullable
    - union
      - ContactAddressInfo
        - `address` string, nullable
        - `channel` 0 | 1 | 2 | 4 | 8 | 16
        - `created` string, date-time
        - `device` Device
          - `appVersion` string, nullable
          - `id` string, nullable
          - `name` string, nullable
          - `osVersion` string, nullable
          - `ringtone` string, nullable
          - `ringtoneDisabled` boolean
          - `type` 0 | 1 | 2
        - `id` string, nullable
        - `lastUpdated` string, date-time
        - `options` integer
        - `userId` string, nullable
      - PhoneContactAddressInfo
        - `address` string, nullable
        - `channel` 0 | 1 | 2 | 4 | 8 | 16
        - `created` string, date-time
        - `device` Device
          - `appVersion` string, nullable
          - `id` string, nullable
          - `name` string, nullable
          - `osVersion` string, nullable
          - `ringtone` string, nullable
          - `ringtoneDisabled` boolean
          - `type` 0 | 1 | 2
        - `id` string, nullable
        - `lastUpdated` string, date-time
        - `options` integer
        - `userId` string, nullable
        - `countryCode` string, nullable
        - `validationStatus` 0 | 1 | 2
  - `dutyInfos` V1UserDutyInfo
    - `lastChange` string, date-time, nullable
    - `onDuty` boolean
    - `onManagerDuty` boolean
    - `overdue` boolean
    - `teamId` string, nullable
    - `userId` string, nullable
  - `isDeactivated` boolean
  - `isEnabled` boolean
  - `subscriptionId` string, nullable
  - `userImageLastModified` string, date-time, nullable
  - `timeZone` string, nullable
  - `lastSeen` string, date-time, nullable
  - `isRemoteActionPinSet` boolean
  - `externalAuthProvider` string, nullable
  - `webLanguage` 0 | 1 | 2
  - `options` 0 | 1 | 2
  - `id` string, nullable
  - `name` string, nullable
  - `isInvite` boolean
  - `mail` string, nullable
  - `roleId` string, nullable

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `500` — Internal Server Error

---

[API](https://skmtc.net/signl4/apis/signl4-api-v1.md) · [All operations](https://skmtc.net/signl4/apis/signl4-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/signl4/signl4-api-v1/versions/ddbe216a9287/schema)
