--- id: "en/api-get-nd-api-file-user-can-focusfile" title: "Get the list of users who can follow the file and mark the users who have followed the file" language: "en" description: "GET /nd/api/file/user_can_focusfile: Get the list of users who can focus on the file, and mark the user interface description of the focused file, including path, method, parameters and return information." canonical_url: "https://www.babel.cc/public/babelwiki/en/api-get-nd-api-file-user-can-focusfile.html" markdown_url: "https://www.babel.cc/public/babelwiki/ai/en/api-get-nd-api-file-user-can-focusfile.md" alternates: {"en": "https://www.babel.cc/public/babelwiki/ai/en/api-get-nd-api-file-user-can-focusfile.md", "zh": "https://www.babel.cc/public/babelwiki/ai/zh/api-get-nd-api-file-user-can-focusfile.md"} reading_note: "文档记录不等于当前部署能力;以实际版本、授权模块与配置为准。保留原文的可选、限制及待确认说明,勿补猜接口。 / Documentation is not a guarantee for every deployment. Preserve optional-module requirements, limitations and unresolved API contracts." --- # Get the list of users who can follow the file and mark the users who have followed the file `GET /nd/api/file/user_can_focusfile` ## URL query parameters | Parameter | Type | Description | | --- | --- | --- | | `file_id` | `string` | Required file ID | ## Response A successful response includes a `users` array. `isFocusFile` is an integer: `0` means the user is not following the requested file; `1` means the user is following it. The fields and JSON types below are observed in the supplied sample. Names, emails, phone numbers, employee IDs, user and department identifiers, and timestamps have been replaced with example values. Where no complete enum was supplied, only observed values are documented. | Field | Sample type | Description | | --- | --- | --- | | `id` | `string` | User ID. | | `babelId` | `string` or `null` | Employee ID; may be null. | | `name` | `string` | User display name. | | `email` | `string` | Email address. | | `sex` | `int` | Sex code; the sample contains `0` and `1`. | | `phone` | `string` or `null` | Phone number; the sample includes a masked string and null. | | `registered` | `int` | Registration-related flag; the sample uses `1`. | | `frozen` | `int` | Freeze-related flag; the sample uses `0`. | | `status` | `int` | Status code; the sample uses `0`. A complete enum is not supplied. | | `registerTime` | `string` | Registration time; the sample uses a UTC date-time string ending in `Z`. | | `lastAccessTime` | `string` | Last access time; the sample uses a UTC date-time string ending in `Z`. | | `maxDownloadSpeed` | `int` | Download-speed value; the sample uses `0`. Units and the meaning of zero are not supplied. | | `extraAttr` | `int` | Additional attribute value; the sample contains `0` and `1`. Business meaning is not supplied. | | `isFocusFile` | `int` | `0`: not following this file; `1`: following this file. | | `departments` | `array` | The user's departments; can contain multiple departments. | | `departments[].departmentId` | `string` | Department ID. | | `departments[].departmentName` | `string` | Department name. | The success example shows both a follower and a non-follower: ```json { "code": 0, "users": [ { "id": "2001", "babelId": "member-example", "name": "示例成员甲", "email": "member-a@example.com", "sex": 0, "phone": "000****0000", "registered": 1, "frozen": 0, "status": 0, "registerTime": "2026-01-01T00:00:00.000Z", "lastAccessTime": "2026-01-02T00:00:00.000Z", "maxDownloadSpeed": 0, "extraAttr": 1, "isFocusFile": 1, "departments": [ {"departmentId": "3001", "departmentName": "示例部门甲"} ] }, { "id": "2002", "babelId": null, "name": "示例成员乙", "email": "member-b@example.com", "sex": 1, "phone": null, "registered": 1, "frozen": 0, "status": 0, "registerTime": "2026-01-01T00:00:00.000Z", "lastAccessTime": "2026-01-03T00:00:00.000Z", "maxDownloadSpeed": 0, "extraAttr": 0, "isFocusFile": 0, "departments": [ {"departmentId": "3002", "departmentName": "示例部门乙"}, {"departmentId": "3003", "departmentName": "示例部门丙"}, {"departmentId": "3004", "departmentName": "示例部门丁"} ] } ], "success": true } ``` Failure: ```json {"code":2,"success":false} ``` `isFocusFile` is relative to the requested `file_id`, not whether the user follows any file at all. This structure belongs to this endpoint and does not redefine other user-list endpoints. ## Calling the Endpoint Use `Authorization: Bearer `. GET parameters belong in the URL query; normal business POST requests use JSON. Check HTTP status and then the business result. Confirm array serialization and ambiguous types with the deployment instead of inventing fields. [Authentication](https://www.babel.cc/public/babelwiki/en/developer-api-auth.html) · [API overview](https://www.babel.cc/public/babelwiki/en/developer-api-overview.html)