Skip to content

WebWork Tracker REST API V2 (2.0.0)

WebWork Tracker REST API V2 provides programmatic access to your workspace data. This API allows you to manage members, projects, tasks, time tracking, leaves, and expenses. Access is restricted to workspace owners and executive managers only.

Languages
Servers
Production Server
https://api.webwork-tracker.com/api/v2/

Workspaces

Read workspace information for the authenticated user for using it in the other endpoints

Operations

Members

Manage workspace members - invite, update roles, and remove members

Operations

Projects

Manage projects within workspaces

Operations

Tasks

Manage tasks within projects. As a workspace owner or executive manager, you have full access to all tasks in your workspace.

Operations

Project Viewers

Manage project viewers (clients) within workspaces. Project viewers are users with read-only access to specific projects. Project viewers can only view projects they are assigned to.

Operations

Contracts

Manage contracts (project-member assignments) within workspaces. Contracts define which members are assigned to which projects, with settings for rates, hours limits, and screenshot modes.

Operations

Time Tracking

Track and manage time entries

Operations

Timesheets

Manage timesheet approvals - view, approve, reject, submit, and unsubmit timesheets.

Operations

Time Requests

Manage manual time requests - create time requests for team members, approve or reject pending requests.

Operations

Leaves

Manage leave requests - view, approve, reject leave requests, view leave balances and policies.

Operations

Expenses

Manage expenses - create, update, delete expenses and view expense categories.

Operations

Webhooks

Manage webhooks - register callback URLs to receive real-time event notifications from the platform.

Operations

Reports

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

Operations

Get Tracked Hours Report

Request

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 as an object with currency codes as keys. 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.

Security
oauth2 or apiKey
Query
workspace_idintegerrequired

ID of the workspace (team_id from owner_user_rel table)

Example: workspace_id=1
user_idinteger

Filter by specific user ID. When provided, results are filtered to that user only. Date range is limited to maximum 31 days.

Example: user_id=100
start_datestring(date)

Start date for the report (Y-m-d format). Defaults to start of current week if not provided. Maximum 31 days from end_date when user_id is provided.

Example: start_date=2024-01-01
end_datestring(date)

End date for the report (Y-m-d format). Defaults to end of current week if not provided. Maximum 31 days from start_date when user_id is provided.

Example: end_date=2024-01-31
usersArray of integers

Filter by user IDs (comma-separated or array)

Example: users=1&users=2&users=3
projectsArray of integers

Filter by project IDs (comma-separated or array)

Example: projects=10&projects=20
teamsArray of integers

Filter by team IDs (comma-separated or array)

Example: teams=5
titlesArray of integers

Filter by title IDs (comma-separated or array)

Example: titles=1
currenciesArray of strings

Filter by currency codes (comma-separated or array). Only applicable when user has access to rates (rate_status = 1).

Example: currencies=USD&currencies=EUR
curl -i -X GET \
  'https://api.webwork-tracker.com/api/v2/reports/tracked-hours?workspace_id=1' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Tracked hours report retrieved successfully

Bodyapplication/json
successboolean
Example: true
dataobject(TrackedHoursReport)
messagestring
Example: "Tracked hours report retrieved successfully"
metaobject(Meta)
Response
application/json
{ "success": true, "data": { "report_type": "tracked_hours", "start_date": "2024-01-01", "end_date": "2024-01-31", "total": {}, "daily_breakdown": {} }, "message": "Tracked hours report retrieved successfully", "meta": { "api_version": "2.0.0", "timestamp": "2024-01-15T10:30:00Z" } }