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

Start Time Tracking

Request

Start time tracking (clock in) for a user. Workspace owners and executive managers can start tracking for any member in their workspace. Regular users can only start tracking for themselves. If the user already has an active tracker, the request will be rejected. The system will forward the tracking request to the background service.

Security
oauth2 or apiKey
Bodyapplication/jsonrequired
workspace_idintegerrequired

ID of the workspace (Team.id from owner_user_rel table)

Example: 1
user_idintegerrequired

ID of the user to start tracking for. Regular users can only track for themselves. Owners and executive managers can track for any workspace member.

Example: 100
contract_idintegerrequired

ID of the contract (project-member assignment). Must belong to the user and workspace.

Example: 560314
task_idinteger or null

ID of the task to track time for

Example: 12345
activity_descriptionstring or null<= 1000 characters

Description of the activity being tracked

Example: "Working on API documentation"
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": 560314,
    "task_id": 12345,
    "activity_description": "Working on API documentation"
  }'

Responses

Time tracking started successfully

Bodyapplication/json
successboolean
Example: true
messagestring
Example: "Time tracking started successfully"
dataobject
metaobject
Response
application/json
{ "success": true, "message": "Time tracking started successfully", "data": { "message": "Time tracking started successfully", "start_time": "2024-01-15T10:30:00Z", "contract_id": 560314, "project_id": 285469, "task_id": 12345 }, "meta": { "api_version": "2.0.0", "timestamp": "2019-08-24T14:15:22Z" } }

Stop Time Tracking

Request

Stop the current active time tracker (clock out) for the authenticated user. If there is no active tracker, the request will be rejected. The system will forward the stop request to the background service.

Security
oauth2 or apiKey
curl -i -X POST \
  https://api.webwork-tracker.com/api/v2/time-tracking/stop \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Time tracking stopped successfully

Bodyapplication/json
successboolean
Example: true
messagestring
Example: "Time tracking stopped successfully"
dataobject
metaobject
Response
application/json
{ "success": true, "message": "Time tracking stopped successfully", "data": { "message": "Time tracking stopped successfully", "stopped_at": "2024-01-15T18:30:00Z" }, "meta": { "api_version": "2.0.0", "timestamp": "2019-08-24T14:15:22Z" } }

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