## Overview
topapi/v2/user/list pages through the detailed user profiles of a department — the standard endpoint for organization and people master-data integration. A common pattern: treat the DingTalk org structure as the authoritative source, then sync userid, name, department, title, mobile and email into ERP salesperson files and the cost-center mapping of the expense system, so document ownership and approval routing stay consistent.
### Request essentials
1. POST with Content-Type: application/json; access_token in the URL query.
2. Body: dept_id (required; root department is 1), cursor (0 for page one), size (up to 100), order_field (default entry_asc), contain_access_limit.
3. result.list carries user objects with userid, name, mobile, email, title and dept_id_list; has_more/next_cursor drive pagination.
4. A full org sync usually calls topapi/v2/department/listsub for the department tree first, then lists users per department. Sensitive fields like mobile require extra field-level permission in the developer console.
### Notes
- The contact permission scope (which departments the app may see) decides what is returned; out-of-scope departments yield empty lists rather than errors — check scope first when troubleshooting.
- Use userid as the join key (names collide); departed employees simply disappear from the list, so soft-delete on the master-data side instead of hard deletes.