toggl-client v3.5.0
Toggl-Client
Client for the Toggl API built for async and await support
Usage
npm i toggl-clientconst togglClient = require('toggl-client');
const client = togglClient({ apiToken: YOUR_API_TOKEN });API
Table of Contents
- TogglClient
- Workspaces
- Workspace
- defaultToEmpty
- mapData
- Clients
- Groups
- Tags
- ProjectUsers
- Projects
- TimeEntries
- Reports
- User
TogglClient
Main class to interact with the toggl API.
Calling togglClient({ apiToken: YOUR_API_TOKEN }); returns an instance of this class.
Properties
workspacesWorkspacesprojectsProjectstimeEntriesTimeEntriesclientsClientsgroupsGroupstagsTagsprojectUsersProjectUsersuserUser
Workspaces
Access workspaces. See https://github.com/toggl/toggl_api_docs/blob/master/chapters/workspaces.md
list
Lists all workspaces
Returns Array<Workspace> List of workspaces
get
Gets a workspace by id
Parameters
Returns (Workspace | undefined) Workspace or undefined if the given workspace does not exist
update
Updates an existing workspace
Parameters
Returns Workspace The updated workspace
users
Gets a list of users associated with the workspace
Parameters
Returns any List of users associated with the workspace
clients
Gets a list of clients associated with the workspace
Parameters
Returns any List of clients associated with the workspace
groups
Gets a list of groups associated with the workspace
Parameters
Returns any List of groups associated with the workspace
projects
Gets a list of projects associated with the workspace
Parameters
Returns any List of projects associated with the workspace
tasks
Gets a list of tasks associated with the workspace
Parameters
Returns any List of tasks associated with the workspace
tags
Gets a list of tags associated with the workspace
Parameters
Returns any List of tags associated with the workspace
Workspace
Type: Object
Properties
idnumber Id of the workspacenamenumber Name of the workspacepremiumboolean True if premium features are enabledadminboolean True if requesting user has admin access to the workspacedefault_hourly_ratenumber Default hourly rate only shown for requesting admin usersdefault_currencystring Default currencyonly_admins_may_create_projectsbooleanonly_admins_see_billable_ratesbooleanonly_admins_see_team_dashboardbooleanroundingnumber type of roundingrounding_minutesnumber round up to nearest minuteatdate Indicates when the workspace was created or updated
defaultToEmpty
Returns the input data or an empty array
Parameters
dataany Input data
Returns any any
mapData
Parses the input and returns the data property or an undefined This was used heavily in the v8 API and may no longer be needed in v9.
Parameters
resany A response from the Toggl API
Returns any object||undefined
Clients
Access clients. See https://github.com/toggl/toggl_api_docs/blob/master/chapters/clients.md
list
Gets a list of clients
Returns any an array of clients
create
Creates a new client
Parameters
clientany
Returns any Created client
get
Gets a client by id
Parameters
Returns any client or undefined if no client with specified id was found
update
Updates a client
Parameters
Returns any updated client
delete
Deletes a client by id
Parameters
projects
Lists projects associated with the given client
Parameters
Groups
Access groups. See https://github.com/toggl/toggl_api_docs/blob/master/chapters/groups.md
create
Creates a group
Parameters
groupany
Returns any group created
update
Updates a group
Parameters
Returns any result of update operation
delete
Deletes a group
Parameters
Tags
Access Tags. See https://developers.track.toggl.com/docs/api/tags
validateTag
Validates that a tag contains the name property.
Parameters
tagObject The tag object to be validated
- Throws Error 'The tag must include name'
create
Creates a new tag
Parameters
workspace_idnumber Id of the workspacetagobject A tag object with the propertynameand optionallyworkspace_id
Returns any Tag created
update
Updates an existing tag
Parameters
workspace_idnumber Id of the workspaceid(number | string) Id of the tag to be updatedtagobject A tag object with the propertynameand optionallyworkspace_id
Returns any Updated tag
delete
Deletes an existing tag
Parameters
ProjectUsers
Access project users. See https://github.com/toggl/toggl_api_docs/blob/master/chapters/project_users.md
get
Gets a project user by id
Parameters
update
Updates an existing project user
Parameters
delete
Deletes an existing project user
Parameters
create
Creates a new project user
Parameters
project_userany
Returns any project user created
Projects
Access projects. See https://developers.track.toggl.com/docs/api/projects
create
Creates a new project
Parameters
workspace_id(number) Id of the workspace to be updatedprojectany
Returns any Project created
get
Gets an existing project by id
Parameters
Returns any Project if a project with the specified id exists, othererwise undefined
list
Gets all projects
Parameters
Returns any Project if a project with the specified id exists, othererwise undefined
update
Updates an existing project
Parameters
workspace_id(number) Id of the workspace to be updatedproject_id(number) Id of the project to be updatedprojectany
Returns any The updated project
delete
Deletes an existing project
Parameters
workspace_idproject_idid(number) Id of the project to be deleted
tasks
Gets tasks associated with the given project
Parameters
workspace_idproject_idid(number) Id of the project
Returns any Array of tasks associated with the project
TimeEntries
Access time entries. See https://github.com/toggl/toggl_api_docs/blob/master/chapters/time_entries.md
get
Gets the time entry specified by id. Due to limitations of the v9 API, start_date must not be earlier than 3 months ago. If you want results further back, use the reports endpoints.
Parameters
idany
Returns any TimeEntry
delete
Delete an existing time entry
Parameters
idnumber
list
Lists time entries. The query must include start_date and end_date. Note that due to
limitations of the v9 API, start_date must not be earlier 3 months ago. If you want results
further back, use the reports endpoints.
Parameters
queryany must includestart_dateandend_dateand must be within the last 30 days.
Returns any List of time entries
create
Creates a new time entry
Parameters
time_entryany must includeworkspace_idandstart
Returns any
start
Creates a new time entry
Parameters
time_entryany must includeworkspace_idandstart
Returns any
stop
Stops the current running time entry
Parameters
time_entry
Returns any
current
Gets the current running time entry
Returns any
update
Updates an existing time entry
Parameters
idnumbertime_entryany
Returns any
Reports
Access reports. See https://github.com/toggl/toggl_api_docs/blob/master/reports.md
weekly
Weekly report https://developers.track.toggl.com/docs/reports/weekly_reports#post-search-time-entries
Parameters
workspaceIdparams
weeklyAll
Weekly report containing all pages fetched with wait time between requests of 1010ms https://developers.track.toggl.com/docs/reports/weekly_reports#post-search-time-entries
Parameters
workspaceIdparams
details
Detailed report URL: GET https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/search/time_entries https://developers.track.toggl.com/docs/reports/detailed_reports#post-load-totals-detailed-report params must include start_date
Parameters
workspaceIdparams
detailsAll
Detailed report containing all pages fetched with wait time between requests of 1010ms URL: GET https://api.track.toggl.com/reports/api/v3/workspace/{workspace_id}/search/time_entries https://developers.track.toggl.com/docs/reports/detailed_reports#post-load-totals-detailed-report params must include start_date
Parameters
workspaceIdparams
summary
Summary report URL: GET https://api.track.toggl.com/reports/api/v2/summary
Parameters
workspaceIdparams
summaryAll
Summary report containing all pages fetched with wait time between requests of 1010ms URL: GET https://api.track.toggl.com/reports/api/v2/summary
Parameters
workspaceIdparams
User
Access users. See https://developers.track.toggl.com/docs/api/me
current
Gets the current user
Returns any The current user.See https://developers.track.toggl.com/docs/api/me#get-me
update
Updates the user. You can only update country_id, current_password, default_workspace_id, email, fullname,name, password, timezone
See https://developers.track.toggl.com/docs/api/me#put-me
Parameters
userany
Returns any The updated user.
resetToken
Resets API token https://developers.track.toggl.com/docs/api/authentication#post-resettoken
Returns any New API token {String}