# ⏱ Time Management

Track and manage billable and non-billable time entries.

 - [GET /v1/task-types](https://dev.docs.api.aiwyn.ai/api/bundle/time-management/gettasktypes.md): **Retrieve all task types** Returns every task type available for the tenant, ordered alphabetically by display name. Task types classify the work performed on time entries and projects, and carry bil
 - [POST /v1/task-types/search](https://dev.docs.api.aiwyn.ai/api/bundle/time-management/searchtasktypesdynamic.md): **Advanced task type 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 s
 - [GET /v1/task/{id}](https://dev.docs.api.aiwyn.ai/api/bundle/time-management/findtaskbyid.md): **Retrieve a specific task by its unique identifier** Returns full task details including the associated task type, assignee staff member, and parent job reference. **Real Example:** ```bash curl --l
 - [POST /v1/tasks/search](https://dev.docs.api.aiwyn.ai/api/bundle/time-management/searchtasksdynamic.md): **Advanced task 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),
 - [POST /gql/v1/wip](https://dev.docs.api.aiwyn.ai/api/bundle/time-management/getwip.md): **Work in Progress tracking with comprehensive financial lifecycle management** **Pagination (v1 — limit/offset):** `pageSize` is a limit (records to return). `page` is an offset (records to skip), no
 - [POST /gql/v1/wips/search](https://dev.docs.api.aiwyn.ai/api/bundle/time-management/filterwipsdynamic.md): **Advanced WIP 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/wip/{id}](https://dev.docs.api.aiwyn.ai/api/bundle/time-management/getwipbyid.md): **Retrieve a specific work-in-progress (WIP) time entry by its unique identifier** This endpoint provides detailed WIP time entry information including: - Complete time entry details and descriptions
 - [GET /api/v1/codes/types](https://dev.docs.api.aiwyn.ai/api/bundle/time-management/listtimemanagementcodetypes.md): **List available time management code record types** Returns the code types that can be managed via the Product API under `/api/v1/codes`.
 - [GET /api/v1/codes/schema/{type}](https://dev.docs.api.aiwyn.ai/api/bundle/time-management/gettimemanagementcodeschema.md): **Get field schema for a time management code type** Returns field definitions for the requested code type.
 - [POST /api/v1/codes](https://dev.docs.api.aiwyn.ai/api/bundle/time-management/upserttimemanagementcodes.md): **Create or update time management code records (upsert)** Records are created if they don't exist, or updated if matched by `systemRef`. Maximum 100 records per request. **Real Example:** ```bash cu
 - [POST /api/v1/codes/batch/{type}](https://dev.docs.api.aiwyn.ai/api/bundle/time-management/pagedlookuptimemanagementcodes.md): **Lookup time management code records in pages** Request body: `{ "pageSize": 25, "page": 0 }` **Real Example:** ```bash curl --location 'https://{{host}}/api/v1/codes/batch/{type}' \ --header 'Autho
 - [GET /api/v1/entries/types](https://dev.docs.api.aiwyn.ai/api/bundle/time-management/listtimemanagemententrytypes.md): **List available time management entry record types** Returns the entry types that can be managed via the Product API under `/api/v1/entries`.
 - [GET /api/v1/entries/schema/{type}](https://dev.docs.api.aiwyn.ai/api/bundle/time-management/gettimemanagemententryschema.md): **Get field schema for a time management entry type** Returns field definitions for the requested entry type. For `TimeEntry`, the schema includes optional `taskId` (FK to Task) and `code` (work code
 - [POST /api/v1/entries](https://dev.docs.api.aiwyn.ai/api/bundle/time-management/upserttimemanagemententries.md): **Create or update time management entry records (upsert)** Records are created if they don't exist, or updated if matched by top-level `systemRef`. Maximum 100 records per request. ### TimeEntry — li
 - [POST /api/v1/entries/batch/{type}](https://dev.docs.api.aiwyn.ai/api/bundle/time-management/pagedlookuptimemanagemententries.md): **Lookup time management entry records in pages** Request body: `{ "pageSize": 25, "page": 0 }` **Real Example:** ```bash curl --location 'https://{{host}}/api/v1/entries/batch/{type}' \ --header 'Au
