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

Get All Workspace Projects

Request

Retrieve all projects in your workspace. You can apply filters to narrow down results.

Security
oauth2 or apiKey
Query
workspace_idintegerrequired

ID of the workspace

Example: workspace_id=1
namestring

Search projects by name (case-insensitive partial match)

Example: name=Marketing
pageinteger>= 1

Page number for pagination

Default 1
per_pageinteger[ 1 .. 100 ]

Number of items per page (max 100)

Default 20
curl -i -X GET \
  'https://api.webwork-tracker.com/api/v2/projects?workspace_id=1' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Projects retrieved successfully

Bodyapplication/json
successboolean
Example: true
dataArray of objects(Project)
metaobject(Meta)
Response
application/json
{ "success": true, "data": [ { … } ], "meta": { "api_version": "2.0.0", "timestamp": "2019-08-24T14:15:22Z" } }

Create New Project

Request

Create a new project in your workspace. This endpoint is only accessible to Owners and Executive Managers.

Security
oauth2 or apiKey
Bodyapplication/jsonrequired
workspace_idintegerrequired

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

Example: 1
namestring<= 255 charactersrequired

Project name

Example: "Marketing Campaign Q1"
start_datestring(date)

Project start date

Example: "2024-01-15"
deadlinestring(date)

Project deadline (must be after or equal to start_date)

Example: "2024-03-31"
estimationnumber>= 0

Estimated hours

Example: 120
budgetnumber>= 0

Budget estimation

Example: 5000
notesstring

Project notes

Example: "Focus on social media channels"
iconstring<= 255 characters

Project icon identifier

Example: "project-icon-1"
curl -i -X POST \
  https://api.webwork-tracker.com/api/v2/projects \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "workspace_id": 1,
    "name": "Marketing Campaign Q1",
    "start_date": "2024-01-15",
    "deadline": "2024-03-31",
    "estimation": 120,
    "budget": 5000,
    "notes": "Focus on social media channels",
    "icon": "project-icon-1"
  }'

Responses

Project created successfully

Bodyapplication/json
successboolean
Example: true
messagestring
Example: "Project created successfully"
dataobject(Project)
metaobject(Meta)
Response
application/json
{ "success": true, "message": "Project created successfully", "data": { "id": 100, "name": "Marketing Campaign Q1", "owner_id": 10, "start_date": "2024-01-15", "deadline": "2024-03-31", "estimation": 120, "budget_estimation": 5000, "notes": "Focus on social media channels", "icon": "project-icon-1", "is_billable": true, "rate": 0, "weekly_hours_limit": 168, "screenshots": "blur", "tags": [ … ], "contracts_count": 3, "status": 1, "created_at": "2024-01-15T09:00:00Z", "updated_at": "2024-01-15T09:00:00Z", "deleted_at": null }, "meta": { "api_version": "2.0.0", "timestamp": "2019-08-24T14:15:22Z" } }

Get Single Project

Request

Retrieve detailed information about a specific project in your workspace.

Security
oauth2 or apiKey
Path
projectIdintegerrequired

ID of the project

Example: 100
Query
workspace_idintegerrequired

ID of the workspace

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

Responses

Project retrieved successfully

Bodyapplication/json
successboolean
Example: true
messagestring
Example: "Project retrieved successfully"
dataobject(Project)
metaobject(Meta)
Response
application/json
{ "success": true, "message": "Project retrieved successfully", "data": { "id": 100, "name": "Marketing Campaign Q1", "owner_id": 10, "start_date": "2024-01-15", "deadline": "2024-03-31", "estimation": 120, "budget_estimation": 5000, "notes": "Focus on social media channels", "icon": "project-icon-1", "is_billable": true, "rate": 0, "weekly_hours_limit": 168, "screenshots": "blur", "tags": [ … ], "contracts_count": 3, "status": 1, "created_at": "2024-01-15T09:00:00Z", "updated_at": "2024-01-15T09:00:00Z", "deleted_at": null }, "meta": { "api_version": "2.0.0", "timestamp": "2019-08-24T14:15:22Z" } }

Update Project

Request

Update an existing project in your workspace. This endpoint is only accessible to Owners and Executive Managers.

Security
oauth2 or apiKey
Path
projectIdintegerrequired

ID of the project to update

Example: 100
Bodyapplication/jsonrequired
workspace_idintegerrequired

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

Example: 1
namestring<= 255 characters

Project name

Example: "Marketing Campaign Q1 Updated"
start_datestring(date)

Project start date

Example: "2024-01-15"
deadlinestring(date)

Project deadline (must be after or equal to start_date)

Example: "2024-04-30"
estimationnumber>= 0

Estimated hours

Example: 150
budgetnumber>= 0

Budget estimation

Example: 6000
notesstring

Project notes

Example: "Updated focus areas"
iconstring<= 255 characters

Project icon identifier

Example: "project-icon-2"
curl -i -X PUT \
  https://api.webwork-tracker.com/api/v2/projects/100 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "workspace_id": 1,
    "name": "Marketing Campaign Q1 Updated",
    "start_date": "2024-01-15",
    "deadline": "2024-04-30",
    "estimation": 150,
    "budget": 6000,
    "notes": "Updated focus areas",
    "icon": "project-icon-2"
  }'

Responses

Project updated successfully

Bodyapplication/json
successboolean
Example: true
messagestring
Example: "Project updated successfully"
dataobject(Project)
metaobject(Meta)
Response
application/json
{ "success": true, "message": "Project updated successfully", "data": { "id": 100, "name": "Marketing Campaign Q1", "owner_id": 10, "start_date": "2024-01-15", "deadline": "2024-03-31", "estimation": 120, "budget_estimation": 5000, "notes": "Focus on social media channels", "icon": "project-icon-1", "is_billable": true, "rate": 0, "weekly_hours_limit": 168, "screenshots": "blur", "tags": [ … ], "contracts_count": 3, "status": 1, "created_at": "2024-01-15T09:00:00Z", "updated_at": "2024-01-15T09:00:00Z", "deleted_at": null }, "meta": { "api_version": "2.0.0", "timestamp": "2019-08-24T14:15:22Z" } }

Delete (Archive) Project

Request

Delete (archive) a project from your workspace. This is a soft delete - the project can be restored later if needed. This endpoint is only accessible to Owners and Executive Managers.

Security
oauth2 or apiKey
Path
projectIdintegerrequired

ID of the project to delete

Example: 100
Bodyapplication/jsonrequired
workspace_idintegerrequired

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

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

Responses

Project deleted successfully

Bodyapplication/json
successboolean
Example: true
messagestring
Example: "Project deleted successfully"
dataobject or null
Default null
metaobject(Meta)
Response
application/json
{ "success": true, "message": "Project deleted successfully", "data": null, "meta": { "api_version": "2.0.0", "timestamp": "2019-08-24T14:15:22Z" } }

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