Modern REST API for WebWork Time Tracker with OAuth2 authentication. This API provides access to workspaces, members, projects, and time tracking features.
WebWork Time Tracker API V2 Documentation (2.0.0)
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.
Request
Retrieve all tasks in a specific project. You can apply filters by status or priority to narrow down results.
Contract ID. Can be used as an alternative to project_id — the project will be resolved from the contract.
Filter tasks by status code. Default statuses: 0 = Open, 10 = In Progress, 20 = Done, 30 = Closed. Custom status codes (e.g. 1, 2, 11, 21) are also supported if configured for the workspace/project.
- Production Serverhttps://api.webwork-tracker.com/api/v2/tasks
- cURL
- JS
- Python
- PHP
- Go
- Java 8
- C#
- C++
curl -i -X GET \
'https://api.webwork-tracker.com/api/v2/tasks?workspace_id=1' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{ "success": true, "data": [ { … } ], "meta": { "api_version": "2.0.0", "timestamp": "2019-08-24T14:15:22Z" } }
Task description
Task status: 0 = Open, 10 = In Progress, 20 = Done, 30 = Closed. Only base status codes are accepted for create.
Task priority: 10 = Urgent, 20 = High, 30 = Normal, 40 = Low. Defaults to null if not provided.
Task end date (must be after or equal to start_date)
- Production Serverhttps://api.webwork-tracker.com/api/v2/tasks
- cURL
- JS
- Python
- PHP
- Go
- Java 8
- C#
- C++
curl -i -X POST \
https://api.webwork-tracker.com/api/v2/tasks \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"workspace_id": 0,
"project_id": 0,
"title": "Implement user authentication",
"description": "Add OAuth2 authentication support",
"status": 0,
"priority": 30,
"start_date": "2024-01-15",
"end_date": "2024-01-30",
"assignees": [
100,
101
]
}'{ "success": true, "data": { "id": 1, "title": "Implement user authentication", "description": "Add OAuth2 authentication support", "project_id": 100, "owner_id": 10, "creator_id": 42, "status": 10, "status_name": "In Progress", "status_color": "#FFC107", "priority": 30, "priority_name": "Normal", "start_date": "2024-01-15", "end_date": "2024-01-30", "completed_at": "2024-01-25T14:30:00+00:00", "assignees": [ … ], "created_at": "2024-01-15T09:00:00+00:00", "updated_at": "2024-01-20T14:30:00+00:00", "deleted_at": null }, "message": "Task created successfully", "meta": { "api_version": "2.0.0", "timestamp": "2019-08-24T14:15:22Z" } }
- Production Serverhttps://api.webwork-tracker.com/api/v2/tasks/{taskId}
- cURL
- JS
- Python
- PHP
- Go
- Java 8
- C#
- C++
curl -i -X GET \
'https://api.webwork-tracker.com/api/v2/tasks/{taskId}?workspace_id=0&project_id=0' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{ "success": true, "data": { "id": 1, "title": "Implement user authentication", "description": "Add OAuth2 authentication support", "project_id": 100, "owner_id": 10, "creator_id": 42, "status": 10, "status_name": "In Progress", "status_color": "#FFC107", "priority": 30, "priority_name": "Normal", "start_date": "2024-01-15", "end_date": "2024-01-30", "completed_at": "2024-01-25T14:30:00+00:00", "assignees": [ … ], "created_at": "2024-01-15T09:00:00+00:00", "updated_at": "2024-01-20T14:30:00+00:00", "deleted_at": null }, "message": "Task retrieved successfully", "meta": { "api_version": "2.0.0", "timestamp": "2019-08-24T14:15:22Z" } }
Task description
Task status: 0 = Open, 10 = In Progress, 20 = Done, 30 = Closed. Only base status codes are accepted for update.
Task priority: 10 = Urgent, 20 = High, 30 = Normal, 40 = Low
- Production Serverhttps://api.webwork-tracker.com/api/v2/tasks/{taskId}
- cURL
- JS
- Python
- PHP
- Go
- Java 8
- C#
- C++
curl -i -X PUT \
'https://api.webwork-tracker.com/api/v2/tasks/{taskId}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"workspace_id": 0,
"project_id": 0,
"title": "Implement user authentication",
"description": "Add OAuth2 authentication support",
"status": 10,
"priority": 20,
"start_date": "2024-01-15",
"end_date": "2024-01-30"
}'{ "success": true, "data": { "id": 1, "title": "Implement user authentication", "description": "Add OAuth2 authentication support", "project_id": 100, "owner_id": 10, "creator_id": 42, "status": 10, "status_name": "In Progress", "status_color": "#FFC107", "priority": 30, "priority_name": "Normal", "start_date": "2024-01-15", "end_date": "2024-01-30", "completed_at": "2024-01-25T14:30:00+00:00", "assignees": [ … ], "created_at": "2024-01-15T09:00:00+00:00", "updated_at": "2024-01-20T14:30:00+00:00", "deleted_at": null }, "message": "Task updated successfully", "meta": { "api_version": "2.0.0", "timestamp": "2019-08-24T14:15:22Z" } }
- Production Serverhttps://api.webwork-tracker.com/api/v2/tasks/{taskId}
- cURL
- JS
- Python
- PHP
- Go
- Java 8
- C#
- C++
curl -i -X DELETE \
'https://api.webwork-tracker.com/api/v2/tasks/{taskId}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"workspace_id": 0,
"project_id": 0
}'{ "success": true, "data": { "id": "abc123xyz", "status": "approved", "user_id": 45696, "user_name": "John Smith", "user_email": "john.smith@example.com", "date_from": "2024-01-01", "date_to": "2024-01-15" }, "message": "Timesheet approved by Jane Doe at 2024-01-15 10:30:00 | Member: John Smith | Period: 2024-01-01 to 2024-01-15", "meta": { "api_version": "2.0.0", "timestamp": "2024-01-15T10:30:00Z" } }
- Production Serverhttps://api.webwork-tracker.com/api/v2/tasks/{taskId}/assignees
- cURL
- JS
- Python
- PHP
- Go
- Java 8
- C#
- C++
curl -i -X GET \
'https://api.webwork-tracker.com/api/v2/tasks/{taskId}/assignees?workspace_id=0&project_id=0' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{ "success": true, "data": [ { … } ], "message": "Task assignees retrieved successfully", "meta": { "api_version": "2.0.0", "timestamp": "2019-08-24T14:15:22Z" } }
- Production Serverhttps://api.webwork-tracker.com/api/v2/tasks/{taskId}/assign/{userId}
- cURL
- JS
- Python
- PHP
- Go
- Java 8
- C#
- C++
curl -i -X POST \
'https://api.webwork-tracker.com/api/v2/tasks/{taskId}/assign/{userId}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"workspace_id": 0,
"project_id": 0
}'{ "success": true, "data": { "id": 1, "user_id": 42, "task_id": 100 }, "message": "Task assigned successfully", "meta": { "api_version": "2.0.0", "timestamp": "2019-08-24T14:15:22Z" } }
- Production Serverhttps://api.webwork-tracker.com/api/v2/tasks/{taskId}/unassign/{userId}
- cURL
- JS
- Python
- PHP
- Go
- Java 8
- C#
- C++
curl -i -X DELETE \
'https://api.webwork-tracker.com/api/v2/tasks/{taskId}/unassign/{userId}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"workspace_id": 0,
"project_id": 0
}'{ "success": true, "data": { "id": "abc123xyz", "status": "rejected", "user_id": 45696, "user_name": "John Smith", "user_email": "john.smith@example.com", "date_from": "2024-01-01", "date_to": "2024-01-15" }, "message": "Timesheet rejected by Jane Doe at 2024-01-15 10:30:00 | Member: John Smith | Period: 2024-01-01 to 2024-01-15 | Reason: Please correct the hours for Monday", "meta": { "api_version": "2.0.0", "timestamp": "2024-01-15T10:30:00Z" } }