Users


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.

GET All users


You can get all the members in your team with the following URL request

Copy codeGEThttps://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}"
                    },
                    {...}
                ]
            

Filter by Email

You can filter users by email address using the email query parameter. This returns an array of users matching the specified email:

Copy codeGEThttps://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"
                }
            

Rate Fields

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 to 0 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.

GET One user


If you need to get information regarding a specific user, you need to add the {user_id} at the end of the URL

Copy codeGEThttps://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}"
                }
            

PUT Update user


Update team member or owner information by sending a PUT method request to the following URL and adding appropriate parameters.

Copy codePUThttps://www.webwork-tracker.com/rest-api/users

You should add the following header in your request

Copy codeContent-Type: application/x-www-form-urlencoded

Using PUT method you can update team member email, firstname, lastname, timezone, role, rate status and weekly hours limit

Property name Type Is required
email 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}"
                }
            

POST Invite user


You can invite a new user using POST method and adding all necessary parameters to request body

Copy codePOSThttps://www.webwork-tracker.com/rest-api/users

The list of parameters you can give to body

Property name Type Is required
email 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}"
                }
            

DELETE Archive user


You can archive a user by sending DELETE request to the following URL.
It will remove the user from the team members list and put it to archived members list.

See an example below

Copy codeDELETEhttps://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}"
                }
            

GET Restore user


If you want to restore a user, you will need to send GET request to the URL mentioned below and add {user_id} at the end of it

Copy codeGEThttps://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}"
                }