# Operations with Specific User

This resource lets you access users and their profiles in YouTrack.

|  Resource  |     ```GENERIC /api/users/{userID} ```    |
| --- | --- |
|  Returned entity  |  [User](api-entity-User.html). For the description of the entity attributes, see [Supported Fields](#User-supported-fields) section.  |
|  Supported methods  |      * `GET`: [Read a Specific User](#get-User-method).    * `POST`: [Update a Specific User](#update-User-method).    |

## User attributes

Represents a user in YouTrack. Please note that the read-only properties of a user account, like credentials, or email and so on, you can only change in [Hub REST API](https://www.jetbrains.com.cn/en-us/help/youtrack/devportal/?Hub-REST-API).

### Related Resources

Below you can find the list of resources that let you work with this entity.

* [Users](resource-api-users.html)

* [Individual Users in the Bundle](resource-api-admin-customFieldSettings-bundles-user-bundleID-individuals.html)

* [Aggregated Users in the Bundle](resource-api-admin-customFieldSettings-bundles-user-bundleID-aggregatedUsers.html)

### Attributes

This table describes attributes of the `User` entity.

* To receive an attribute in the response from the server, specify it explicitly in the `fields` request parameter.

* To update an attribute, provide it in the body of a POST request.

|  Field  |  Type  |  Description  |
| --- | --- | --- |
|  id  |  String  |  The ID of the user. `Read-only`.  |
|  login  |  String  |  The login of the user. `Read-only`.  |
|  fullName  |  String  |  The full name of the user as seen in their profile. `Read-only`.  |
|  email  |  String  |  The email address of the user. `Read-only`. `Can be null`.  |
|  ringId  |  String  |  ID of the user in Hub. You can use this ID for operations in Hub, and for matching users between YouTrack and Hub. `Read-only`. `Can be null`.  |
|  guest  |  Boolean  |  Indicates whether the user is `guest`. `Read-only`.  |
|  online  |  Boolean  |  Indicates whether the user is currently online. `Read-only`.  |
|  banned  |  Boolean  |  Indicates whether the user is banned. `Read-only`.  |
|  banBadge  |  String  |  The badge displayed for the banned user. Returns `null` when no badge is set or the ban details are not available to the requester. `Read-only`. `Can be null`.  |
|  banReason  |  String  |  The reason why the user is banned. Returns `null` when no reason is set or the ban details are not available to the requester. `Read-only`. `Can be null`.  |
|  isAnonymized  |  Boolean  |  Indicates whether the user's personal data has been anonymized. `Read-only`.  |
|  tags  |  [Array of Tags](api-entity-Tag.html)  |  Tags that belong to this user. `Read-only`.  |
|  savedQueries  |  [Array of SavedQueries](api-entity-SavedQuery.html)  |  Saved searches that belong to this user. `Read-only`.  |
|  avatarUrl  |  String  |  The URL of the user avatar. `Read-only`.  |
|  profiles  |  [UserProfiles](api-entity-UserProfiles.html)  |  The profiles of the user. `Read-only`.  |
|  userType  |  [UserType](api-entity-UserType.html)  |  The type of the user.    Available since YouTrack 2026.2.    `Read-only`.  |

## Read a Specific User

Read settings of the YouTrack profile of the specific user.

Requires permissions: Read User Basic

### Required permissions

No permissions are required for reading the basic information. Accessing all data requires Read User permission.

### Request syntax

```GENERIC
GET /api/users/{userID}?{fields}
```

|  {userID}  |  The database ID of the user in YouTrack.  |
| --- | --- |

### Request parameters

|  Parameter  |  Type  |  Description  |
| --- | --- | --- |
|  fields  |  String  |  A list of User attributes that should be returned in the response. If no field is specified, only the `entityID` is returned.  |

### Sample 1

This sample shows a GET request executed by a user with admin permissions.

#### Sample request

```CURL
https://example.youtrack.cloud/api/users/1-3?fields=id,name,login,banned,email,online
```

#### Sample response body

```JSON
{
  "id": "24-42",
  "email": null,
  "banned": false,
  "login": "Daniel.Snyder",
  "online": false,
  "name": "Daniel Snyder",
  "$type": "User"
}
```

### Sample 2

You can also use the login of the user instead of the database ID in a request URI. This sample shows how to read a user by their login.

#### Sample request

```CURL
https://example.youtrack.cloud/api/users/daniel.snyder?fields=id,name,login,banned,email,online
```

#### Sample response body

```JSON
{
  "id": "24-42",
  "email": null,
  "banned": false,
  "login": "Daniel.Snyder",
  "online": false,
  "name": "Daniel Snyder",
  "$type": "User"
}
```

## Update a Specific User

Update a specific user in YouTrack.

### Required permissions

Requires permission: Update User.

### Request syntax

```GENERIC
POST /api/users/{userID}?{fields}
```

|  {userID}  |  The database ID of the user in YouTrack.  |
| --- | --- |

### Request parameters

|  Parameter  |  Type  |  Description  |
| --- | --- | --- |
|  fields  |  String  |  A list of User attributes that should be returned in the response. If no field is specified, only the `entityID` is returned.  |

### Sample

#### Sample request

```CURL
https://example.youtrack.cloud/api/users/24-42?fields=name,login,banned,email,online
```

#### Sample request body

```JSON
{
  "email": "daniel.snyder@example.com"
}
```

#### Sample response body

```JSON
{
  "id": "24-42",
  "email": "daniel.snyder@example.com",
  "banned": false,
  "login": "Daniel.Snyder",
  "online": false,
  "name": "Daniel Snyder",
  "$type": "User"
}
```

