# Reports

Generate and retrieve various reports including tracked hours, timeline, activity descriptions, tasks, and activity level reports

## Get Tracked Hours Report

 - [GET /reports/tracked-hours](https://api-docs.webwork-tracker.com/api/reports/gettrackedhoursreport.md): Retrieve tracked hours report data for a workspace. Supports filtering by users, projects, teams, and titles. Data is always grouped by day. Always returns: Day-by-day breakdown grouped by date (date as key), with users array inside each date. Tracked time is returned in minutes (total_minutes field), aggregated across all tracking methods and grouped by user_id, project_id, and contract_id. If user has access to rates (rate_status = 1), also returns total_amount (the amount computed with the pay rate) as an object with currency codes as keys. Additive fields (non-breaking): each user entry also carries bill_amount (a currency-keyed amount computed with the bill rate), plus contract-level pay_rate, bill_rate and weekly_limit (sourced from the active contract; null when there is no active contract). The top-level total object additionally returns total_bill_amount. bill_amount and bill_rate require bill-rate access (bill_rate_status = 1); pay_rate requires rate access (rate_status = 1); weekly_limit is always returned. When user_id is provided: Results are filtered to that specific user only. Date range is limited to maximum 31 days (1 month) when user_id is provided. Security: Only workspace owners and executive managers can access this endpoint.

## Get Daily Timeline Report

 - [GET /reports/daily-timeline](https://api-docs.webwork-tracker.com/api/reports/getdailytimelinereport.md): Retrieve daily timeline report data for a specific date, paginated by user IDs. Returns time entries with details for each user including start/end times, project, task, activity description, tracking method, and activity metrics.\n\nKey Features:\n- Single date only: This endpoint accepts only one date (not a date range). Date must be within the last year and not more than a year in the future.\n- Pagination: Results are paginated by user_ids. Default is 30 users per page, maximum 100.\n- Rate visibility: total_amount and currency fields are only included if the workspace has rate_status = 1 (rate visibility enabled).\n- Activity metrics: Both user-level and time entry-level activity_level are calculated using the TimelineService::activity() method based on mouse, keyboard, and scroll actions.\n- Timezone handling: Times are returned in ISO 8601 format with timezone offset based on the workspace owner's system_timezone.\n- Security: Only workspace owners and executive managers can access this endpoint.

## Get Daily Activity Report

 - [GET /reports/daily-activity](https://api-docs.webwork-tracker.com/api/reports/getdailyactivityreport.md): Retrieve the minute-level daily-activity breakdown for a single member on a single day. Returns the tracked-time segments of the day, each broken down into rows covering the active app/website, mouse/keyboard/scroll counts, per-row activity level, project/task and description, and (on Plus/Premium plans) the active window title and URL. The day's total_times (tracked/manual/leave/idle/break/holiday minutes) and overall activity_level are included alongside the segments.\n\nKey Features:\n- Single member, single date: both user_id and date are required; the report always covers exactly one calendar day.\n- Grouping: group_by controls row aggregation — time (default; merges identical rows across the whole day), interval (merges within each segment), or minute (raw per-minute rows).\n- Columns: columns is a JSON object of group-by flags (project, task_title, description, app, url, trackType, active_window_title, category).\n- Pagination (opt-in): intended for the large minute view. When page/per_page are supplied, data becomes a flat array of rows plus a pagination object; without them the full segmented result is returned.\n- Data source: this report is served by the WebWork realtime tracking service; this endpoint proxies it.\n- Security: only workspace owners and executive managers can access this endpoint.

## Get Activity Level Report

 - [GET /reports/activity-level](https://api-docs.webwork-tracker.com/api/reports/getactivitylevelreport.md): Retrieve activity level report data for a date range, paginated by day. Returns activity level percentage per user per day, with overall statistics across all users and days.

Key Features:
- Date range: Accepts start_date and end_date parameters (YYYY-MM-DD format). Maximum date range is 1 month (31 days).
- Pagination: Results are paginated by day. Default is 30 days per page, maximum 100.
- Filtering: Can filter by contract_id and user_ids.
- Activity metrics: Activity level is calculated based on mouse, keyboard, and scroll actions.
- Overall statistics: Includes aggregated activity data across all users and days in the report range.
- Security: Only workspace owners and executive managers can access this endpoint.

## Get Task Report

 - [GET /reports/task-report](https://api-docs.webwork-tracker.com/api/reports/gettaskreport.md): Retrieve task-based time tracking report data for a date range, paginated by user. Returns time tracked per task for each user, with daily breakdown and overall task breakdown.

Key Features:
- Date range: Accepts start_date and end_date parameters (YYYY-MM-DD format). Maximum date range is 1 month (31 days).
- Pagination: Results are paginated by user. Default is 30 users per page, maximum 100.
- Filtering: Can filter by users, project_id, and task_id.
- No Task entries: Entries without a task (task_id is null) are included by default. Use include_no_task=false to exclude them.
- Tasks breakdown: Each user has an overall tasks_breakdown showing total time per task across the date range.
- Daily breakdown: Each user has a daily_breakdown showing time per task for each day.
- Security: Only workspace owners and executive managers can access this endpoint.

## Get Daily Attendance Report

 - [GET /reports/daily-attendance](https://api-docs.webwork-tracker.com/api/reports/getdailyattendancereport.md): Retrieve daily attendance report data for a specific date, paginated by user. Returns attendance information including statuses, times, breaks, and productivity metrics for each user.

Key Features:
- Single date only: This endpoint accepts only one date (not a date range). Date must be in YYYY-MM-DD format.
- Pagination: Results are paginated by user. Default is 30 users per page, maximum 100.
- Statuses array: Each user can have multiple statuses (e.g., ["Late", "Left early"]). Possible statuses: "All good", "Late", "Left early", "Tracked less", "Absent", "On leave", "Holiday".
- Time values in minutes: All time-related fields are returned as integers representing total minutes (e.g., 303 instead of "5h 3m").
- Filtering: Can filter by users and status. Status filter accepts string values: "late", "left_early", "tracked_less", "absent", "on_leave".
- Break intervals: Returns break time intervals as an array of strings (e.g., ["14:30 - 15:25", "16:00 - 16:15"]).
- Security: Only workspace owners and executive managers can access this endpoint.

## Get Activity Description Report

 - [GET /reports/activity-description](https://api-docs.webwork-tracker.com/api/reports/getactivitydescriptionreport.md): Retrieve activity description-based time tracking report data for a date range, paginated by user. Returns time tracked per activity description (memo) for each user, with daily breakdown and overall breakdown.

Key Features:
- Date range: Accepts start_date and end_date parameters (YYYY-MM-DD format). Maximum date range is 1 month (31 days).
- Pagination: Results are paginated by user. Default is 30 users per page, maximum 100.
- Filtering: Can filter by users, project_id, and task_id.
- No Description entries: Entries without an activity description (memo is null) are included by default. Use include_no_description=false to exclude them.
- Activities breakdown: Each user has an overall activities_breakdown showing total time per activity description across the date range.
- Daily breakdown: Each user has a daily_breakdown showing time per activity description for each day.
- Security: Only workspace owners and executive managers can access this endpoint.

## Get Apps & Websites Overview Report

 - [GET /reports/apps-websites](https://api-docs.webwork-tracker.com/api/reports/getappswebsitesoverviewreport.md): Retrieve the Apps & Websites usage "Overview" report for a workspace. Each row represents app/website usage aggregated per member/project (and other visible dimensions), matching the dashboard's Apps & Websites Overview tab.

Key Features:
- Date range: Optional start_date and end_date (YYYY-MM-DD). If omitted, defaults to the current week. Maximum date range is 1 month (31 days).
- Pagination: Rows are paginated via page/per_page. Default is 30 per page, maximum 100.
- Filtering: Filter by users, projects, teams, titles, and productivity. apps_websites_only (default true) restricts to desktop-tracker software usage; pass false to include all trackers.
- Security: Only workspace owners and executive managers can access this endpoint.

