> ## Documentation Index > Fetch the complete documentation index at: https://developer.rocket.chat/llms.txt > Use this file to discover all available pages before exploring further. # Get User's Info > Retrieves information about a user, limited to the details the caller is allowed to view. Look up the user by `userId`, `username`, `importId`, `email`, or `freeSwitchExtension`. Provide exactly one of these parameters per request. Starting in version 7.0.0, this endpoint no longer supports the `fields` parameter, even when the `ALLOW_UNSAFE_QUERY_AND_FIELDS_API_PARAMS` environment variable is set to `true`. Use `includeUserRooms` instead. When the Premium **User status hiding** feature is enabled and the requested user has hidden their status from the caller, the response shows the user as `offline` and omits `statusText`, `statusSource`, `statusExpiresAt`, `statusDefault`, and `statusConnection`. This restriction also applies to administrators. Users always see their own status. ### Changelog | Version | Description | | ---------------- | ------------| |8.8.0 | Added status visibility filtering | |8.5.0 | Added `freeSwitchExtension` query parameter for user lookup | |8.4.0 | Added `email` query parameter for user lookup | |7.0.0 | Removed the `fields` query parameter | |3.4.0 | Added `unread` property inside `rooms` object | |0.70.0 | Added `rooms` property to response if the user request it and has the `view-other-user-channels` permission | |0.49.0 | Updated to support `userId` or `username` | |0.48.0 | Renamed to `users.info` | |0.35.0 | Added | ## OpenAPI ````json GET /api/v1/users.info { "openapi": "3.0.0", "info": { "version": "1.0.0", "title": "User Management" }, "servers": [ { "url": "https://apiexplorer.support.rocket.chat" } ], "tags": [ { "name": "LDAP" }, { "name": "Permissions" }, { "name": "Roles" }, { "name": "Users" }, { "name": "SAML" } ], "paths": { "/api/v1/users.info": { "get": { "tags": [ "Users" ], "summary": "Get User's Info", "description": "Retrieves information about a user, limited to the details the caller is allowed to view. Look up the user by `userId`, `username`, `importId`, `email`, or `freeSwitchExtension`. Provide exactly one of these parameters per request.\n\nStarting in version 7.0.0, this endpoint no longer supports the `fields` parameter, even when the `ALLOW_UNSAFE_QUERY_AND_FIELDS_API_PARAMS` environment variable is set to `true`. Use `includeUserRooms` instead.\n\nWhen the Premium **User status hiding** feature is enabled and the requested user has hidden their status from the caller, the response shows the user as `offline` and omits `statusText`, `statusSource`, `statusExpiresAt`, `statusDefault`, and `statusConnection`. This restriction also applies to administrators. Users always see their own status.\n\n### Changelog\n| Version | Description |\n| ---------------- | ------------|\n|8.8.0 | Added status visibility filtering |\n|8.5.0 | Added `freeSwitchExtension` query parameter for user lookup |\n|8.4.0 | Added `email` query parameter for user lookup |\n|7.0.0 | Removed the `fields` query parameter |\n|3.4.0 | Added `unread` property inside `rooms` object |\n|0.70.0 | Added `rooms` property to response if the user request it and has the `view-other-user-channels` permission |\n|0.49.0 | Updated to support `userId` or `username` |\n|0.48.0 | Renamed to `users.info` |\n|0.35.0 | Added |", "operationId": "get-api-v1-users.info", "parameters": [ { "$ref": "#/components/parameters/Auth-Token" }, { "$ref": "#/components/parameters/UserId" }, { "name": "userId", "in": "query", "description": "The `userId` of the user. Alternatively, you can use `username`, `importId`, `email`, or `freeSwitchExtension` to retrieve user information.", "required": "false", "schema": { "type": "string" }, "example": "W7NHuX5ri2e3mu2Fc" }, { "schema": { "type": "string" }, "in": "query", "name": "username", "description": "The username of the user. Alternatively, you can use `userId`, `importId`, `email`, or `freeSwitchExtension` to retrieve user information." }, { "schema": { "type": "string" }, "in": "query", "name": "importId", "description": "The import ID of the user. Alternatively, you can use `userId`, `username`, `email`, or `freeSwitchExtension` to retrieve user information." }, { "schema": { "type": "string" }, "in": "query", "name": "includeUserRooms", "description": "Whether to include the list of rooms the user is a member of." }, { "name": "email", "in": "query", "required": "false", "description": "Filter the results by entering the user's email. Alternatively, you can use `userId`, `username`, `importId`, or `freeSwitchExtension` to retrieve user information.", "schema": { "type": "string" }, "example": "john@example.com" }, { "name": "freeSwitchExtension", "in": "query", "required": "false", "description": "The FreeSwitch voice call extension assigned to the user. Alternatively, you can use `userId`, `username`, `importId`, or `email` to retrieve user information.", "schema": { "type": "string" }, "example": "1234" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "user": { "type": "object", "properties": { "_id": { "type": "string" }, "createdAt": { "type": "string" }, "username": { "type": "string" }, "emails": { "type": "array", "items": { "type": "object", "properties": { "address": { "type": "string" }, "verified": { "type": "boolean" } } } }, "type": { "type": "string" }, "status": { "type": "string" }, "active": { "type": "boolean" }, "roles": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "requirePasswordChange": { "type": "boolean" }, "lastLogin": { "type": "string" }, "statusConnection": { "type": "string" }, "utcOffset": { "type": "integer" }, "freeSwitchExtension": { "type": "string" }, "canViewAllInfo": { "type": "boolean" } } }, "success": { "type": "boolean" } } }, "examples": { "Success Example": { "value": { "user": { "_id": "5fRTXMt7DMJbpPJfh", "createdAt": "2023-07-10T16:44:58.548Z", "services": { "password": "true", "email2fa": { "enabled": "true", "changedAt": "2023-07-10T16:44:58.546Z" }, "resume": { "loginTokens": [ { "when": "2023-10-05T18:55:02.996Z", "hashedToken": "..." }, { "when": "2023-10-05T19:09:30.415Z", "hashedToken": "...." }, { "when": "2023-10-10T23:40:46.098Z", "hashedToken": "...." } ] } }, "username": "test.john", "emails": [ { "address": "test.john@test.com", "verified": "true" } ], "type": "user", "status": "offline", "active": "true", "roles": [ "user", "admin" ], "name": "Test John", "requirePasswordChange": "false", "lastLogin": "2023-10-10T23:40:46.093Z", "statusConnection": "offline", "utcOffset": "1", "statusText": "", "avatarETag": "GFoEi6wv3uAxnzDcD", "nickname": "tesuser2", "freeSwitchExtension": "1234", "canViewAllInfo": "true", "rooms": [ { "_id": "651667dda2f73c7460e18cce", "unread": "1", "rid": "JKa7R9zu2DinBhBN9", "name": "Livestream", "t": "c" }, { "_id": "64ac358a79f5c6e276cfe718", "unread": "0", "rid": "GENERAL", "name": "general", "t": "c" }, { "_id": "64aca0e5aa5ad4273bfbfdb8", "unread": "0", "rid": "6GFJ3tbmHiyHbahmC", "name": "test-audit", "t": "c" }, { "_id": "64adb09baa5ad4273bfc0cc0", "unread": "0", "rid": "64adb09baa5ad4273bfc0cbf", "name": "test-room", "t": "c", "roles": [ "owner" ] }, { "_id": "64fd791c2c26843a68c1f7e5", "unread": "0", "rid": "siyr2oWQJBjQjhLwr", "name": "try", "t": "c", "roles": [] }, { "_id": "g5xHGWAGLA7vZXwW8", "rid": "5fRTXMt7DMJbpPJfhrbAXPnMktTFbNpwtJ", "name": "roxie", "t": "d", "unread": "2" }, { "_id": "64ef8a982c26843a68c1f7ae", "unread": "0", "rid": "WDuJLFkjwk6L7LdFC", "name": "new", "t": "p", "roles": [ "leader" ] } ] }, "success": "true" } } } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "type": "object", "properties": { "success": { "type": "boolean" }, "error": { "type": "string" }, "errorType": { "type": "string" } } }, "examples": { "Missing / invalid lookup": { "value": { "success": "false", "error": "must have required property 'userId'\n must have required property 'username'\n must have required property 'importId'\n must match a schema in anyOf [invalid-params]", "errorType": "invalid-params" } }, "User not found": { "value": { "success": "false", "error": "User not found." } } } } } }, "401": { "$ref": "#/components/responses/authorizationError" } } } } }, "components": { "parameters": { "Auth-Token": { "name": "X-Auth-Token", "in": "header", "description": "The authenticated user token.", "required": "true", "schema": { "type": "string" }, "example": "RScctEHSmLGZGywfIhWyRpyofhKOiMoUIpimhvheU3f" }, "UserId": { "name": "X-User-Id", "in": "header", "description": "The authenticated user ID.", "required": "true", "schema": { "type": "string" }, "example": "rbAXPnMktTFbNpwtJ" } }, "responses": { "authorizationError": { "description": "Unauthorized", "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" }, "message": { "type": "string" } } }, "examples": { "Authorization Error": { "value": { "status": "error", "message": "You must be logged in to do this." } } } } } } } } } ````