Use this REST API to administer and edit the managed accounts in your team. With this resource,
it's possible to retrieve, update, create, delete users and also make other actions possible in
WebWork account.
Below we provide an example of the data which is required for each scenario.
You can get all the members in your team with the following URL request
Copy code GET https://www.webwork-tracker.com/rest-api/users
The response returns a json format. Below you can see an example of response structure.
Copy code [ { "id": "{user_id}" "email": "{email}" "firstname": "{firstname}" "lastname": "{lastname}" "avatar": "{avatar_url}" "current_role": "{current_role}" "current_owner_id": "{current_owner_id}" "timezone": "{timezone}" "status": "{status}" "team_name": "{team_name}" "preferred_timezone": "{preferred_timezone}" "settings_max_inactive_minutes": "{settings_max_inactive_minutes}" "currency": "{currency}" "rate": "{rate}" "rate_type": "{rate_type}" "rate_status": "{rate_status}" "tax_country": "{tax_country}" "tax_state": "{tax_state}" "is_blocked": "{is_blocked}" "weekly_hours_limit": "{weekly_hours_limit}" "screenshots": "{screenshot_type}" "created_at": "{created_at}" "updated_at": "{updated_at}" "deleted_at": "{deleted_at}" }, {...} ]
You can filter users by email address using the email
query parameter. This returns an array of users matching the specified email:
Copy code GET https://www.webwork-tracker.com/rest-api/users?email={user_email}
The response returns the same structure as the "All users" endpoint but filtered to only include the user(s) with the specified email:
Copy code [ { "id": "{user_id}", "email": "{email}", "firstname": "{firstname}", "lastname": "{lastname}", "avatar": "{avatar_url}", "current_role": "{current_role}", "timezone": "{timezone}", "status": "{status}", "team_name": "{team_name}", "preferred_timezone": "{preferred_timezone}", "settings_max_inactive_minutes": "{settings_max_inactive_minutes}", "currency": "{currency}", "rate": "{rate}", "rate_type": "{rate_type}", "rate_status": "{rate_status}", "tax_country": "{tax_country}", "tax_state": "{tax_state}", "is_blocked": "{is_blocked}", "weekly_hours_limit": "{weekly_hours_limit}", "screenshots": "{screenshot_type}", "created_at": "{created_at}", "updated_at": "{updated_at}", "deleted_at": "{deleted_at}" } ]
Note: This endpoint returns an array even if only one user matches the email filter, maintaining consistency with the list endpoint format.
Rate examples: The following shows how rate values correspond to different rate types:
Copy code // Hourly employee { "rate": "25.50", "rate_type": "Hourly", "currency": "USD" } // Monthly salary employee { "rate": "5000.00", "rate_type": "Monthly", "currency": "USD" } // Weekly salary employee { "rate": "1200.00", "rate_type": "Weekly", "currency": "EUR" }
The following endpoints include rate and currency information for each user:
- GET /rest-api/users - Returns rate fields for all users (array)
- GET /rest-api/users?email={email} - Returns rate fields for users filtered by email (array)
- GET /rest-api/users/{user_id} - Returns rate fields for a specific user (single object)
Rate field descriptions:
rate
- The user's rate amount. Returns the salary amount if a salary frequency is set, otherwise returns the hourly rate. Defaults to0
if no rate is set.rate_type
- The type of rate calculation. Possible values are:"Hourly"
- User is paid hourly (default when no salary frequency is set)"Daily"
- User has a daily salary"Weekly"
- User has a weekly salary"Monthly"
- User has a monthly salary
currency
- The currency for the user's rate. If not set for the user, falls back to the workspace owner's currency.tax_country
- The country for tax purposes (e.g., "United States", "Canada"). Read-only field.tax_state
- The state/province for tax purposes (e.g., "California", "Ontario"). Read-only field.
Note: Other user-related endpoints (create, update, delete, etc.) return only success/failure responses and do not include these rate and tax fields.
If you need to get information regarding a specific user, you need to add the {user_id} at the end of the URL
Copy code GET https://www.webwork-tracker.com/rest-api/users/{user_id}
The response returns a json format. Below you can see an example of response structure.
Copy code { "id": "{user_id}" "email": "{email}" "firstname": "{firstname}" "lastname": "{lastname}" "avatar": "{avatar_url}" "current_role": "{current_role}" "timezone": "{timezone}" "status": "{status}" "team_name": "{team_name}" "preferred_timezone": "{preferred_timezone}" "settings_max_inactive_minutes": "{settings_max_inactive_minutes}" "currency": "{currency}" "rate": "{rate}" "rate_type": "{rate_type}" "rate_status": "{rate_status}" "tax_country": "{tax_country}" "tax_state": "{tax_state}" "is_blocked": "{is_blocked}" "weekly_hours_limit": "{weekly_hours_limit}" "screenshots": "{screenshot_type}" "created_at": "{created_at}" "updated_at": "{updated_at}" "deleted_at": "{deleted_at}" }
Update team member or owner information by sending a
Copy code PUT https://www.webwork-tracker.com/rest-api/users
You should add the following header in your request
Copy code Content-Type: application/x-www-form-urlencoded
Using
Property name | Type | Is required |
---|---|---|
string | NO | |
firstname | string | NO |
lastname | string | NO |
timezone | string | NO |
role | integer | NO |
rate_status | boolean | NO |
weekly_hours_limit | integer | NO |
remove_avatar | boolean | NO |
The list of available values you can see below
Property name | Value | Explanation |
---|---|---|
role | 20 | Executive Manager |
role | 25 | Project Manager |
role | 30 | Employee |
The returned response contains a success
property with your request success value.
Copy code { "success": "{success_of_the_request}" }
You can invite a new user using
Copy code POST https://www.webwork-tracker.com/rest-api/users
The list of parameters you can give to body
Property name | Type | Is required |
---|---|---|
string | YES | |
firstname | string | YES |
lastname | string | YES |
role | integer | YES |
The list of available values you can see below
Property name | Value | Explanation |
---|---|---|
role | 20 | Executive Manager |
role | 25 | Project Manager |
role | 30 | Employee |
role | 15 | Project Viewer |
The returned response includes a success
property which contains your request
success value.
Copy code { "success": "{success_of_the_request}" }
You can archive a user by sending
It will remove the user from the team members list and put it to archived members list.
See an example below
Copy code DELETE https://www.webwork-tracker.com/rest-api/users/{user_id}
The returned response includes a success
property which contains your request
success value.
Copy code { "success": "{success_of_the_request}" }
If you want to restore a user, you will need to send
Copy code GET https://www.webwork-tracker.com/rest-api/users/restore/{user_id}
The returned response includes a success
property which contains your request
success value.
Copy code { "success": "{success_of_the_request}" }