# 🧑‍💼 Staff

Manage staff accounts, roles, and permissions.

 - [POST /gql/v1/staff](https://dev.docs.api.aiwyn.ai/api/bundle/staff/getstaff.md): **Staff directory and human resource management with organizational structure** **Pagination (v1 — limit/offset):** `pageSize` is a limit (records to return). `page` is an offset (records to skip), no
 - [POST /gql/v1/staff/search](https://dev.docs.api.aiwyn.ai/api/bundle/staff/filterstaffdynamic.md): **Advanced staff filtering with custom GraphQL where clauses and dynamic ordering** **Pagination (v1 — limit/offset):** `pageSize` is a limit (records to return). `page` is an offset (records to skip)
 - [GET /gql/v1/staff/{id}](https://dev.docs.api.aiwyn.ai/api/bundle/staff/getstaffbyid.md): **Retrieve a specific staff member by their unique identifier** This endpoint provides staff member information including: - Staff member identification and PMS reference - Personal details (name and
 - [POST /api/v1/staff](https://dev.docs.api.aiwyn.ai/api/bundle/staff/onboardstaff.md): **Create a new staff member, optionally assigning them to a rate card** Creates a staff record and, when `rateCardAssignment` is provided, atomically creates the corresponding billing rate and average
 - [PUT /api/v1/staff/{staffId}](https://dev.docs.api.aiwyn.ai/api/bundle/staff/updatestaff.md): **Update an existing staff member's profile and optionally replace their rate card assignment** All fields are optional — only the fields you include will be updated. Omitted fields retain their curre
 - [POST /api/v1/staff/type/batch/create](https://dev.docs.api.aiwyn.ai/api/bundle/staff/stafftypebatchcreate.md): **Create staff types in batch** Creates up to **100** staff types in a single request. Notes: - The request body is JSON `{ "items": [ ... ] }` where `items` is an array of staff type objects (same sh
 - [POST /api/v1/staff/type/batch/lookup](https://dev.docs.api.aiwyn.ai/api/bundle/staff/stafftypebatchlookup.md): **Lookup staff types page by page** Returns a page of staff types ordered by id ascending. Notes: - `pageSize` must be between **1** and **100** - `page` is zero-based (`page` 0 is the first page) **
