# GET /users URL: https://developers.vsee.io/api/user-api/get/users operationId: getUsers Auth: Admin Token — Requires the Clinic Admin API Token from your dashboard (Developers → App → Edit App). List users Retrieve a list of users with optional filtering and sorting. **Tip:** Wherever there's a user `:id` field in API methods, it also accepts dash (`-`) as a mapping to the current user. Parameters: - X-ApiToken (header, string, required) — API token - X-AccountCode (header, string, required) — Account code - id (query, string, optional) — Filter by user ID(s). Accepts single ID, comma-separated string, or array. E.g: `123` or `"1234,1235"` or `[1234, 1235]` - full_name (query, string, optional) — Full text search by name (minimum 3 characters) - email (query, string, optional) — Like search by email (minimum 3 characters) - q (query, string, optional) — Search keyword (minimum 3 chars). Searches `full_name` and `email`. Should be used in conjunction with `type`. - type (query, string, optional) — User type. E.g: `400` or `"200,600"`. Types: 100=Admin, 200=Member, 400=Provider, 600=Guest - status (query, string, optional) — User status. Accepts single value, comma-separated, or array. E.g: `20` or `"10,20"` - role (query, string, optional) — Filter by role. E.g: `"clinic_admin"` or `"clinic_admin,scheduler"` - ex_filter (query, string, optional) — Extended filter: `all` (filter by assigned rooms) or `my-patient` (filter by own visits) [enum: all, my-patient] - is_hidden (query, boolean, optional) — Hide/Unhide patient from patient list (RPM feature) - is_admin (query, boolean, optional) — Filter admin users - room_code (query, string, optional) — Filter by room code - account_code (query, string, optional) - group (query, string, optional) — Filter by clinic group - subtype (query, string, optional) — Provider sub type. Values: 480=Paramedic, 482=Doctor, 484=Nurse, 470=CSR, 460=Medical Assistant - sort (query, string, optional) — Sort order. E.g: `"full_name.asc"` or `{full_name: "asc"}` - start (query, integer, optional) — Offset for pagination [default: 0] - limit (query, integer, optional) — Page size for pagination [default: 20] - fields (query, string, optional) — Comma-separated fields to return. Available: `id`, `username`, `first_name`, `last_name`, `full_name`, `last_login`, `type`, `subtype` Responses: - 200 — Successful response ```json { "data": [ { "email": "anton+patient1@vseelab.com", "id": "20008869839", "full_name": "Anton Patient1" }, { "email": "anton+patient2@vseelab.com", "id": "20008869840", "full_name": "Anton Patient2" } ], "total_count": 500 } ``` - 400 — Bad Request ```json { "code": 404, "message": "Sorry, this page is not available." } ``` - 401 — Unauthorized ```json { "code": 404, "message": "Sorry, this page is not available." } ```