Skip to main content

Users

Admin permissions required, except when retrieving the currently authenticated user.

Retrieve the currently authenticated user

Retrieves the currently authenticated user. Returns a user object and a 200 OK response code.

Link to documentation

hrvst users me
OptionDescriptionRequired
--fieldsComma separated list of fields to display in the output.false
--outputThe output format: json, tablefalse

List all users

Returns a list of your users. The users are returned sorted by creation date, with the most recently created users appearing first.

The response contains an object with a users property that contains an array of up to per_page users. Each entry in the array is a separate user object. If no more users are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your users.

Link to documentation

hrvst users list
OptionDescriptionRequired
--is_activePass true to only return active users and false to return inactive users.false
--updated_sinceOnly return users that have been updated since the given date and time.false
--pageThe page number to use in pagination. Use all to retrieve all pages.false
--per_pageThe number of records to return per page. Can range between 1 and 2000.false
--fieldsComma separated list of fields to display in the output.false
--outputThe output format: json, tablefalse

Retrieve a specific user

Retrieves the user with the given ID. Returns a user object and a 200 OK response code if a valid identifier was provided.

Link to documentation

hrvst users get
OptionDescriptionRequired
--user_idThe ID of the user you're retrieving.true
--fieldsComma separated list of fields to display in the output.false
--outputThe output format: json, tablefalse

Create a user

Creates a new user object. Returns a user object and a 201 Created response code if the call succeeded.

Access Roles

To set permissions for a user, use the access_roles parameter. A user must be one of the following: membermanager, or administrator.

  • If no access_role parameter is sent, a user defaults to ‘member’.
  • If a user is a manger they can have other access roles set for more specific permissions in Harvest.
  • The role of people_manager is determined by whether the user has teammates assigned to them, which can be added through the teammates api. If you downgrade a People Manager’s access role to Member, they will no longer be a People Manager and their assigned teammates will be removed.
Access Role NameDescription
administratorFor users who need the most control to manage your account. Administrators can see and do everything.
managerFor users who need more access to people and project reports. Managers can track time and expenses, and edit, approve, and run reports for all time and expenses tracked to selected projects and people.
memberFor users who just need to track time and expenses.
Additional Manager Access Role NamesDescription
project_creatorUser can create projects, and edit projects that they manage.
billable_rates_managerUser can see billable rates and amounts for projects and people they manage.
managed_projects_invoice_drafterUser can create and edit draft invoices for projects they manage.
managed_projects_invoice_managerUser can send and fully manage all invoices for projects they manage (record payments, edit non-drafts, send reminders and thank-yous, delete, etc).
client_and_task_managerUser can create and edit all clients and tasks on the account.
time_and_expenses_managerUser can create and edit time and expenses for people and projects they manage.
estimates_managerUser can create and edit all estimates on the account.

Link to documentation

hrvst users create
OptionDescriptionRequired
--first_nameThe first name of the user.true
--last_nameThe last name of the user.true
--emailThe email address of the user.true
--telephoneThe telephone number for the user.false
--timezoneThe user’s timezone. Defaults to the company’s timezone.false
--has_access_to_all_future_projectsWhether the user should be automatically added to future projects.false
--is_contractorWhether the user is a contractor or an employee.false
--is_activeWhether the user is active or archived.false
--weekly_capacityThe number of hours per week this person is available to work in seconds.false
--default_hourly_rateThe billable rate to use for this user when they are added to a project.false
--cost_rateThe cost rate to use for this user when calculating a project’s costs vs billable amount.false
--roles[]Descriptive names of the business roles assigned to this person.false
--access_roles[]Access Role(s) that determine the user’s permissions in Harvest.false
--fieldsComma separated list of fields to display in the output.false
--outputThe output format: json, tablefalse

Update a user

Updates the specific user by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Returns a user object and a 200 OK response code if the call succeeded.

Link to documentation

hrvst users update
OptionDescriptionRequired
--user_idThe ID of the user you're updating.true
--first_nameThe first name of the user.false
--last_nameThe last name of the user.false
--emailThe email address of the user.false
--telephoneThe telephone number for the user.false
--timezoneThe user’s timezone. Defaults to the company’s timezone.false
--has_access_to_all_future_projectsWhether the user should be automatically added to future projects.false
--is_contractorWhether the user is a contractor or an employee.false
--is_activeWhether the user is active or archived.false
--weekly_capacityThe number of hours per week this person is available to work in seconds.false
--default_hourly_rateThe billable rate to use for this user when they are added to a project.false
--cost_rateThe cost rate to use for this user when calculating a project’s costs vs billable amount.false
--roles[]Descriptive names of the business roles assigned to this person.false
--access_roles[]Access Role(s) that determine the user’s permissions in Harvest.false
--fieldsComma separated list of fields to display in the output.false
--outputThe output format: json, tablefalse

Delete a user

Delete a user. Deleting a user is only possible if they have no time entries or expenses associated with them. Returns a 200 OK response code if the call succeeded.

Link to documentation

hrvst users delete
OptionDescriptionRequired
--user_idThe ID of the user you're deleting.true
--fieldsComma separated list of fields to display in the output.false
--outputThe output format: json, tablefalse