# Retrieve detailed user information by ID Fetches comprehensive details about a specific user including their account association, profile information, roles, state, statistics, and activity data. Requires either Users.Read or Users.Manage permission. RBAC: - requires ALL of Users.Manage - requires ANY of Users.Read, Users.Manage Endpoint: GET /api/v1/admin/user/{userId} Version: 1.0 Security: ## Path parameters: - `userId` (string, required) UUID with type prefix Example: "us_01hxcvk1hjexere4pvtrj0ymqq" ## Response 200 fields (application/json): - `userId` (string, required) Internal ID of this user Example: "us_01hxcvk1hjexere4pvtrj0ymqq" - `accountId` (string,null) ID of the account this user belongs to, empty for remote users Example: "us_01hxcvk1hjexere4pvtrj0ymqq" - `username` (string, required) Unique username Example: "john_smith" - `displayName` (string, required) Full name of the user Example: "John Smith" - `email` (string,null) User's email address Example: "john@example.com" - `domain` (string,null) User's domain, remote only, empty for local Example: "domain.net" - `numPosts` (integer, required) Number of posts by this user - `numFollowers` (integer, required) Number of followers this user has - `createdAt` (string, required) When this user was created Example: "2022-03-10T16:15:50Z" - `deletedAt` (string,null) When this user was deleted, if applicable Example: "2022-03-10T16:15:50Z" - `lastActive` (string,null) When this user was last active Example: "2022-03-10T16:15:50Z" - `lastIP` (object,null) Last IP address used by this user - `lastIP.multicastAddress` (boolean) - `lastIP.anyLocalAddress` (boolean) - `lastIP.loopbackAddress` (boolean) - `lastIP.linkLocalAddress` (boolean) - `lastIP.siteLocalAddress` (boolean) - `lastIP.MCGlobal` (boolean) - `lastIP.MCNodeLocal` (boolean) - `lastIP.MCLinkLocal` (boolean) - `lastIP.MCSiteLocal` (boolean) - `lastIP.MCOrgLocal` (boolean) - `lastIP.hostName` (string) - `lastIP.address` (string) - `lastIP.hostAddress` (string) - `lastGeoData` (object,null) Last geo data from which this user accessed the system - `lastGeoData.countryCode` (string,null) ISO country code - `lastGeoData.country` (string,null) Country name - `lastGeoData.subdivision` (string,null) Subdivision or state/province name - `lastGeoData.city` (string,null) City name - `lastGeoData.timeZone` (string,null) IANA timezone identifier - `state` (string, required) User's moderation state Enum: "REGULAR", "SENSITIVE", "LIMITED", "SUSPENDED" - `actorType` (string, required) Actor type for this user (Application, Group, Organization, Person, Service) Enum: "Application", "Group", "Organization", "Person", "Service" - `channel` (boolean) Whether this is a channel or a user - `groupId` (string,null) Group id if this user is a group channel Example: "us_01hxcvk1hjexere4pvtrj0ymqq" - `roles` (array, required) Roles assigned to this user - `roles.roleId` (string, required) Internal ID of this role - `roles.name` (string, required) Name of the role Example: "ADMIN" - `roles.description` (string,null) The description of the role Example: "The Admin role in the \"system\" scope" - `avatar` (object,null) User's avatar - `avatar.uploadId` (string, required) Internal id Example: "us_01hxcvk1hjexere4pvtrj0ymqq" - `avatar.userId` (string, required) User id this upload belongs to Example: "us_01hxcvk1hjexere4pvtrj0ymqq" - `avatar.uploadType` (string, required) Type of the upload Enum: "VIDEO", "IMAGE", "AUDIO", "DOCUMENT", "OTHER" - `avatar.meta` (object, required) Meta data - `avatar.meta.blurhash` (string,null) - `avatar.meta.name` (string,null) - `avatar.meta.altText` (string,null) - `avatar.size` (integer, required) Size in bytes of all the files in this upload - `avatar.files` (array, required) List of all the files this upload has - `avatar.files.uri` (string,null, required) Full url of the file - `avatar.files.fileId` (string, required) File id Example: "us_01hxcvk1hjexere4pvtrj0ymqq" - `avatar.files.extension` (string, required) File extension Example: "mp4" - `avatar.files.original` (boolean, required) true if this file is original, false if it is a derivative - `avatar.files.meta` (object, required) File metadata. Contains optional values for width, height etc. - `avatar.files.meta.duration` (number,null) Video duration in seconds - `avatar.files.meta.width` (integer,null) Media width - `avatar.files.meta.height` (integer,null) Media height - `avatar.files.meta.codec` (string,null) Video codec - `avatar.files.meta.rotate` (integer,null) Rotation in degrees - `avatar.files.size` (integer, required) File size in bytes - `avatar.files.createdAt` (string, required) Example: "2022-03-10T16:15:50Z" - `avatar.files.updatedAt` (string, required) Example: "2022-03-10T16:15:50Z" - `avatar.files.type` (string, required) File type Enum: "VIDEO", "IMAGE", "AUDIO", "DOCUMENT", "OTHER" - `avatar.tags` (array, required) List of tags attached to upload Enum: "Post", "Avatar", "Header", "Album", "Emoji", "Event" - `avatar.error` (string,null) Upload processing error - `avatar.cached` (boolean) true if cached - `avatar.logs` (string,null) Logs - `avatar.remote` (boolean) true if this upload is remote ## Response 403 fields (application/json): - `errorCode` (string, required) Error code - `message` (string, required) Error message - `docUrl` (string) Link to documentation ## Response 404 fields (application/json): - `errorCode` (string, required) Error code - `message` (string, required) Error message - `docUrl` (string) Link to documentation