# Get group members as User objects Retrieves the list of all members in the specified group. Public groups are accessible to all authenticated users, Private groups accessible to members only. Supports sorting by join time, posts, or relationship to current user. Supports role filtering and pagination. Endpoint: GET /api/v1/groups/{groupId}/users Version: 1.0 Security: ## Query parameters: - `lastId` (string,null) Get older records (records with IDs less than this value) Alias maxId/max_id Example: "us_01hxcvk1hjexere4pvtrj0ymqq" - `limit` (integer,null) - `offset` (integer,null) - `order` (string,null) Sort order (case-insensitive) Enum: "ASC", "DESC" - `role` (string,null) Role filter (case-insensitive) Enum: "MEMBER", "ADMIN" - `sort` (string,null) Sort field (case-insensitive) Enum: "JOIN", "POSTS", "FOLLOWERS", "FOLLOWING", "RELATIONS" - `sortBy` (string,null) - `sortOrder` (string,null) - `untilId` (string,null) Get newer records (records with IDs greater than this value) Alias minId/min_id Example: "us_01hxcvk1hjexere4pvtrj0ymqq" ## Path parameters: - `groupId` (string, required) The unique identifier of the group Example: "us_01hxcvk1hjexere4pvtrj0ymqq" ## Response 200 fields (application/json): - `groupUserName` (string,null) Name of the channel inside a group - `id` (string, required) internal id of this user Example: "us_01hxcvk1hjexere4pvtrj0ymqq" - `username` (string, required) unique user name Example: "john_smith" - `domain` (string, required) user's domain, remote only, empty for local Example: "wlsly1.net" - `displayName` (string, required) full name of the user Example: "John Smith" - `uri` (string, required) URI of this user Example: "https://wlsly1.net/users/john_smith" - `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 - `deleted` (boolean,null) - `state` (string, required) User's moderation state Enum: "REGULAR", "SENSITIVE", "LIMITED", "SUSPENDED" - `relationship` (object,null) Relationship with this user - `relationship.following` (string,null) Does the viewer follow the target? Enum: "PENDING", "ACCEPTED", "REJECTED" - `relationship.followed` (string,null) Does the target follow the viewer? Enum: "PENDING", "ACCEPTED", "REJECTED" - `relationship.blocked` (boolean,null) Viewer blocked the target - `relationship.blockedBy` (boolean,null) Target blocked the viewer - `relationship.muted` (object,null) Viewer mutes the target - `relationship.muted.state` (boolean) - `relationship.muted.expiresAt` (string,null) Example: "2022-03-10T16:15:50Z" - `relationship.note` (string,null) Viewer's private note about the target - `channel` (boolean) Whether this is a channel or a user - `groupId` (string,null) UUID with type prefix Example: "us_01hxcvk1hjexere4pvtrj0ymqq" - `groupPrivacy` (string,null) * PUBLIC - Channel is visible to everyone and can be followed by anyone. * PRIVATE - Channel is visible only to group members and can only be followed by group members. Enum: "PUBLIC", "PRIVATE" - `groupMain` (boolean,null) - `groupDefault` (boolean,null) - `actorType` (string,null) Whether this user is a person, application or a service Enum: "Application", "Group", "Organization", "Person", "Service" ## Response 400 fields (application/json): - `errorCode` (string, required) Error code - `message` (string, required) Error message - `docUrl` (string) Link to documentation ## Response 401 fields (application/json): - `errorCode` (string, required) Error code - `message` (string, required) Error message - `docUrl` (string) Link to documentation ## 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