> ## 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 `sipExtension`. Provide exactly one of these parameters per request. This endpoint doesn't support the `fields` parameter. 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 | | ---------------- | ------------| |9.0.0 | Renamed `freeSwitchExtension` to `sipExtension`. Added the `phones` field. | |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 `sipExtension`. Provide exactly one of these parameters per request.\n\nThis endpoint doesn't support the `fields` parameter. 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\n### Changelog\n| Version | Description |\n| ---------------- | ------------|\n|9.0.0 | Renamed `freeSwitchExtension` to `sipExtension`. Added the `phones` field. |\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 `sipExtension` 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 `sipExtension` 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 `sipExtension` 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 `sipExtension` to retrieve user information.", "schema": { "type": "string" }, "example": "john@example.com" }, { "name": "sipExtension", "in": "query", "required": false, "description": "The SIP extension assigned to the user (formerly `freeSwitchExtension`). 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" }, "sipExtension": { "type": "string", "description": "The user's SIP extension (formerly `freeSwitchExtension`)." }, "phones": { "type": "array", "maxItems": 10, "description": "The user's phone numbers. Up to 10 numbers, each with an optional label. Phones are returned only when the caller can see the user's full profile, for example their own user.", "items": { "type": "object", "properties": { "number": { "type": "string", "description": "The phone number. Spaces are removed." }, "label": { "type": "string", "maxLength": 50, "description": "A label for the number, for example `Work`." } }, "required": [ "number" ] } }, "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", "sipExtension": "1234", "phones": [ { "number": "+15551234567", "label": "Work" } ], "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 [error-invalid-params]", "errorType": "error-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": { "success": { "type": "boolean" }, "error": { "type": "string" } } }, "examples": { "Authorization Error": { "value": { "success": false, "error": "You must be logged in to do this." } } } } } } } } } ````