toggl-client
v3.5.0
Published
API Client for the Toggl API
Downloads
234
Readme
Toggl-Client
Client for the Toggl API built for async and await support
Usage
npm i toggl-client
const 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
workspaces
Workspacesprojects
ProjectstimeEntries
TimeEntriesclients
Clientsgroups
Groupstags
TagsprojectUsers
ProjectUsersuser
User
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
id
number Id of the workspacename
number Name of the workspacepremium
boolean True if premium features are enabledadmin
boolean True if requesting user has admin access to the workspacedefault_hourly_rate
number Default hourly rate only shown for requesting admin usersdefault_currency
string Default currencyonly_admins_may_create_projects
booleanonly_admins_see_billable_rates
booleanonly_admins_see_team_dashboard
booleanrounding
number type of roundingrounding_minutes
number round up to nearest minuteat
date Indicates when the workspace was created or updated
defaultToEmpty
Returns the input data or an empty array
Parameters
data
any 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
res
any 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
client
any
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
group
any
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
tag
Object The tag object to be validated
- Throws Error 'The tag must include name'
create
Creates a new tag
Parameters
workspace_id
number Id of the workspacetag
object A tag object with the propertyname
and optionallyworkspace_id
Returns any Tag created
update
Updates an existing tag
Parameters
workspace_id
number Id of the workspaceid
(number | string) Id of the tag to be updatedtag
object A tag object with the propertyname
and 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_user
any
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 updatedproject
any
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 updatedproject
any
Returns any The updated project
delete
Deletes an existing project
Parameters
workspace_id
project_id
id
(number) Id of the project to be deleted
tasks
Gets tasks associated with the given project
Parameters
workspace_id
project_id
id
(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
id
any
Returns any TimeEntry
delete
Delete an existing time entry
Parameters
id
number
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
query
any must includestart_date
andend_date
and must be within the last 30 days.
Returns any List of time entries
create
Creates a new time entry
Parameters
time_entry
any must includeworkspace_id
andstart
Returns any
start
Creates a new time entry
Parameters
time_entry
any must includeworkspace_id
andstart
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
id
numbertime_entry
any
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
workspaceId
params
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
workspaceId
params
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
workspaceId
params
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
workspaceId
params
summary
Summary report URL: GET https://api.track.toggl.com/reports/api/v2/summary
Parameters
workspaceId
params
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
workspaceId
params
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
user
any
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}