Skip to content

WebWork Tracker REST API V2 (2.0.0)

Modern REST API for WebWork Tracker with OAuth2 authentication. This API provides access to workspaces, members, projects, and time tracking features.

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

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. Rate information is only visible if you have permission to view rates and the project is billable.

Operations

Tasks

Manage tasks within projects

Operations

Project Viewers

Manage project viewers - external users who can view specific projects

Operations

Timesheets

Manage timesheet approvals and submissions

Operations

Time Requests

Manage manual time requests and approvals

Operations

Leaves

Manage leave requests, balances, and policies

Operations

Expenses

Manage expenses and expense categories

Operations

Time Tracking

Track and manage time entries

Operations

Start Time Tracking

Request

Start time tracking (clock in) for a user. Only workspace owners and executive managers can use this endpoint. They can start tracking for any member in their workspace. If a user is already tracking time, they must stop the current tracker before starting a new one.

Security
oauth2 or apiKey
Bodyapplication/jsonrequired
workspace_idintegerrequired

ID of the workspace

Example: 1
user_idintegerrequired

ID of the user to start tracking for. Must be a member of the specified workspace.

Example: 100
contract_idinteger or null

Optional contract ID (project-member assignment). If provided, the time will be tracked for the associated project. If not provided, time will be tracked without a project assignment.

Example: 20
task_idinteger or null

Optional task ID. Can only be provided if contract_id is also provided. The task must belong to the project associated with the contract.

Example: 5
activity_descriptionstring or null<= 1000 characters

Optional description of the activity being tracked

Example: "Working on feature implementation"
curl -i -X POST \
  https://api.webwork-tracker.com/api/v2/time-tracking/start \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "workspace_id": 1,
    "user_id": 100,
    "contract_id": 20,
    "task_id": 5,
    "activity_description": "Implementing new feature"
  }'

Responses

Time tracking started successfully

Bodyapplication/json
successboolean
Example: true
dataobject
messagestring
Example: "Time tracking started successfully"
metaobject(Meta)
Response
application/json
{ "success": true, "data": { "message": "Time tracking started successfully", "start_time": "2024-01-15T10:30:00+00:00", "contract_id": 20, "project_id": 10, "task_id": 5, "activity_description": "Working on feature implementation" }, "message": "Time tracking started successfully", "meta": { "api_version": "2.0.0", "timestamp": "2024-01-15T10:30:00Z" } }

Stop Time Tracking

Request

Stop time tracking (clock out) for a user. Only workspace owners and executive managers can use this endpoint. They can stop tracking for any member in their workspace. The user must have an active tracker running to stop it.

Security
oauth2 or apiKey
Bodyapplication/jsonrequired
workspace_idintegerrequired

ID of the workspace

Example: 1
user_idintegerrequired

ID of the user to stop tracking for. Must be a member of the specified workspace and have an active tracker running.

Example: 100
curl -i -X POST \
  https://api.webwork-tracker.com/api/v2/time-tracking/stop \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "workspace_id": 1,
    "user_id": 100
  }'

Responses

Time tracking stopped successfully

Bodyapplication/json
successboolean
Example: true
dataobject
messagestring
Example: "Time tracking stopped successfully"
metaobject(Meta)
Response
application/json
{ "success": true, "data": { "message": "Time tracking stopped successfully", "stopped_at": "2024-01-15T12:30:00+00:00" }, "message": "Time tracking stopped successfully", "meta": { "api_version": "2.0.0", "timestamp": "2024-01-15T12:30:00Z" } }

Get Current Running Tracker Data

Request

Get current running tracker actual time data for a user. Only workspace owners and executive managers can use this endpoint. They can get tracker data for any member in their workspace. Important: This endpoint only works when the tracker is running from the API or from the browser. In other cases, it will not retrieve current tracking information.

Security
oauth2 or apiKey
Query
workspace_idintegerrequired

ID of the workspace

Example: workspace_id=1
user_idintegerrequired

ID of the user to get tracker data for. Must be a member of the specified workspace.

Example: user_id=100
curl -i -X GET \
  'https://api.webwork-tracker.com/api/v2/time-tracking/current-data?workspace_id=1&user_id=100' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Current tracker data retrieved successfully

Bodyapplication/json
successboolean
Example: true
dataobject

Current tracker data including total time tracked. The total_minutes field combines minutes from Timeline entries for the date with minutes from the current running tracker. The total_seconds field represents the remainder seconds from the current tracker.

messagestring
Example: "Current tracker data retrieved successfully"
metaobject(Meta)
Response
application/json
{ "success": true, "data": { "contract_id": 598672, "user_id": 45696, "activity_description": "Working on API documentation", "task_id": 3917798, "task_title": "Adding timesheets", "total_seconds": 9, "total_minutes": 7, "date": "2025-12-08" }, "message": "Current tracker data retrieved successfully", "meta": { "api_version": "2.0.0", "timestamp": "2025-12-08T11:30:39.529297Z" } }

Reports

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

Operations

Webhooks

Manage webhooks for event notifications

Operations