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

Get All Workspace Members

Request

Retrieve all team members in your workspace. You can apply filters to narrow down results by email, status, or role.

Security
oauth2 or apiKey
Query
workspace_idintegerrequired

ID of the workspace

Example: workspace_id=1
emailstring(email)

Filter members by email address (exact match)

Example: email=john.doe@example.com
statusstring

Filter members by status

Enum"active""inactive""left""unknown"
Example: status=active
rolestring

Filter members by role

Enum"Owner""Project viewer""Executive manager""Team manager""Project manager""Regular User"
Example: role=Regular User
pageinteger>= 1

Page number for pagination

Default 1
per_pageinteger[ 1 .. 100 ]

Number of items per page

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

Responses

List of workspace members

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

Invite New Member

Request

Invite a new member to your workspace. This endpoint is only accessible to Owners and Executive Managers. An invitation email will be sent to the provided email address.

Security
oauth2 or apiKey
Bodyapplication/jsonrequired
workspace_idintegerrequired

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

Example: 1
emailstring(email)required

Email address of the member to invite

Example: "john.doe@example.com"
firstnamestringrequired

First name of the member

Example: "John"
lastnamestringrequired

Last name of the member

Example: "Doe"
rolestringrequired

Role to assign to the member

Enum"Regular User""Project manager""Team manager""Executive manager""Project viewer"
Example: "Regular User"
curl -i -X POST \
  https://api.webwork-tracker.com/api/v2/members \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "workspace_id": 1,
    "email": "john.doe@example.com",
    "firstname": "John",
    "lastname": "Doe",
    "role": "Regular User"
  }'

Responses

Member invited successfully

Bodyapplication/json
successboolean
Example: true
messagestring
Example: "Member invited successfully"
dataobject
metaobject(Meta)
Response
application/json
{ "success": true, "message": "Member invited successfully", "data": { "user_id": 100, "invitation_link": "https://app.webwork-tracker.com/dashboard/accept-invitation/abc123def456" }, "meta": { "api_version": "2.0.0", "timestamp": "2019-08-24T14:15:22Z" } }

Get Single Member

Request

Retrieve detailed information about a specific member in your workspace.

Security
oauth2 or apiKey
Path
memberIdintegerrequired

ID of the member

Example: 100
Query
workspace_idintegerrequired

ID of the workspace

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

Responses

Member details

Bodyapplication/json
successboolean
Example: true
messagestring
Example: "Member retrieved successfully"
dataobject(Member)
metaobject(Meta)
Response
application/json
{ "success": true, "message": "Member retrieved successfully", "data": { "id": 100, "email": "john.doe@example.com", "firstname": "John", "lastname": "Doe", "avatar": "avatar.jpg", "current_role": "Regular User", "timezone": "America/New_York", "status": "active", "team_name": "Development Team", "title": "Senior Developer, Manager", "birth_date": "1990-01-01", "hired_at": "2023-01-15T09:00:00Z", "preferred_timezone": "America/New_York", "settings_max_inactive_minutes": 15, "currency": "USD", "rate": 50, "rate_type": "Hourly", "rate_status": 1, "tax_country": "US", "tax_state": "NY", "is_blocked": false, "weekly_hours_limit": 40, "screenshots": "blur", "created_at": "2023-01-15T09:00:00Z", "updated_at": "2023-01-15T09:00:00Z", "deleted_at": null }, "meta": { "api_version": "2.0.0", "timestamp": "2019-08-24T14:15:22Z" } }

Update Member

Request

Update member information. You can update profile information, role, rate settings, and other member attributes.

Security
oauth2 or apiKey
Path
memberIdintegerrequired

ID of the member to update

Example: 100
Bodyapplication/jsonrequired
workspace_idintegerrequired

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

Example: 1
emailstring(email)

Email address

Example: "john.doe@example.com"
firstnamestring

First name

Example: "John"
lastnamestring

Last name

Example: "Doe"
timezonestring

Timezone

Example: "America/New_York"
rolestring

Role

Enum"Regular User""Project manager""Team manager""Executive manager""Project viewer"
Example: "Regular User"
rate_statusinteger

Rate visibility status (0 = hidden, 1 = visible)

Enum01
Example: 1
weekly_hours_limitinteger>= 0

Weekly hours limit

Example: 40
remove_avatarinteger

Remove avatar (0 = keep, 1 = remove)

Enum01
Example: 0
curl -i -X PUT \
  https://api.webwork-tracker.com/api/v2/members/100 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "workspace_id": 1,
    "email": "john.doe@example.com",
    "firstname": "John",
    "lastname": "Doe",
    "timezone": "America/New_York",
    "role": "Regular User",
    "rate_status": 1,
    "weekly_hours_limit": 40,
    "remove_avatar": 0
  }'

Responses

Member updated successfully

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

Delete (Archive) Member

Request

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

Security
oauth2 or apiKey
Path
memberIdintegerrequired

ID of the member 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/members/100 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "workspace_id": 1
  }'

Responses

Member deleted successfully

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

Restore Archived Member

Request

Restore a previously deleted (archived) member to your workspace. This endpoint is only accessible to Owners and Executive Managers.

Security
oauth2 or apiKey
Path
memberIdintegerrequired

ID of the member to restore

Example: 100
Bodyapplication/jsonrequired
workspace_idintegerrequired

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

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

Responses

Member restored successfully

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

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