create_client
Create a client
Parameters
$body
Type: object
{
"client" : {
"wid" : "workspace ID",
"notes" : "notes for the client",
"at" : "timestamp that is sent in the response",
"name" : "name of the client"
}
}
create_group
Create a group
Parameters
$body
Type: object
{
"group" : {
"wid" : "workspace ID",
"at" : "timestamp that is sent in the response",
"name" : "name of the group"
}
}
create_project
Create a project
Parameters
$body
Type: object
{
"project" : {
"is_private" : "whether project is accessible for only project users or for all workspace users",
"template" : "whether the project can be used as a template",
"color" : "id of the color selected for the project",
"active" : "whether the project is archived or not",
"billable" : "whether the project is billable or not, available only for pro workspaces",
"auto_estimates" : "whether the estimated hours are automatically calculated based on task estimations or manually fixed based on the value of 'estimated_hours', premium functionality",
"wid" : "workspace ID",
"at" : "timestamp indicating when the project was created (UTC time), read-only",
"rate" : "hourly rate of the project, premium functionality",
"name" : "name of the project",
"estimated_hours" : "if auto_estimates is true then the sum of task estimations is returned, otherwise user inserted hours, premium functionality",
"template_id" : "id of the template project used on current project's creation",
"cid" : "client ID"
}
}
create_tag
Create tag
Parameters
$body
Type: object
{
"tag" : {
"wid" : "workspace ID, where the tag will be used",
"name" : "The name of the tag, unique in workspace"
}
}
create_task
Create a task
Parameters
$body
Type: object
{
"task" : {
"uid" : "user ID, to whom the task is assigned to",
"wid" : "workspace ID",
"at" : "timestamp that is sent in the response for PUT, indicates the time task was last updated",
"estimated_seconds" : "estimated duration of task in seconds",
"name" : "The name of the task",
"active" : "whether the task is done or not",
"pid" : "project ID for the task",
"tracked_seconds" : "total time tracked (in seconds) for the task"
}
}
create_time_entry
Create a time entry
Parameters
$body
Type: object
{
"time_entry" : {
"duration" : "time entry duration in seconds. If the time entry is currently running, the duration attribute contains a negative value, denoting the start of the time entry in seconds since epoch (Jan 1 1970). The correct duration can be calculated as current_time + duration, where current_time is the current time in seconds since epoch.",
"wid" : "workspace ID",
"at" : "timestamp that is sent in the response, indicates the time item was last updated",
"stop" : "time entry stop time, ISO 8601 date and time",
"start" : "time entry start time, ISO 8601 date and time",
"description" : "description",
"pid" : "project ID",
"created_with" : "the name of your client app",
"billable" : "available for pro workspaces",
"duronly" : "should Toggl show the start and stop time of this time entry?",
"tid" : "task ID",
"tags" : [ "string" ]
}
}
create_user_for_project
Create a project user. To create multiple project users for a single project, you must add multiple user ids separated with a comma with the uid parameter.
Parameters
$body
Type: object
{
"project_user" : {
"uid" : { },
"wid" : "workspace ID",
"at" : "timestamp that is sent in the response, indicates when the project user was last updated",
"manager" : "admin rights for this project",
"rate" : "hourly rate for the project user (only for pro workspaces) in the currency of the project's client or in workspace default currency.",
"pid" : "project ID",
"fields" : "fullname: full name of the user, who is added to the project"
}
}
delete_client
Delete a client
Parameters
client_id (required)
client ID
Type: integer
delete_group
Delete a group
Parameters
group_id (required)
group ID
Type: integer
delete_multiple_projects
Delete multiple projects
Parameters
project_ids (required)
multiple project IDs
Type: array
[ "project ID" ]
delete_multiple_users_for_project
Delete multiple project users
Parameters
project_user_ids (required)
multiple project user IDs
Type: array
[ "project user ID" ]
delete_project
Delete a project
Parameters
project_id (required)
project ID
Type: integer
delete_tag
Delete a tag
Parameters
tag_id (required)
tag ID
Type: integer
delete_task
Delete a task
Parameters
task_id (required)
multiple task IDs
Type: object
{ }
delete_time_entry
Delete a time entry
Parameters
time_entry_id (required)
time entry ID
Type: integer
delete_user_for_project
Delete a project user
Parameters
project_user_id (required)
project user ID
Type: integer
delete_workspace_user
Delete workspace user.
Parameters
workspace_user_id (required)
workspace user ID
Type: integer
get_client
Get client details
Parameters
client_id (required)
client ID
Type: integer
get_current_user_data
Get current user data
Parameters
since
retrieve objects which have changed after certain time. The value should be a unix timestamp.
Type: string
with_related_data
whether to get all the workspaces, clients, projects, tasks, time entries and tags which the user can see
Type: boolean
get_dashboard_data
Get dashboard data. Dashboard's main purpose is to give an overview of what users in the workspace are doing and have been doing.
Parameters
workspace_id (required)
workspace ID
Type: integer
get_detailed_report
The detailed report returns the time entries for the requested parameters/filters.
Parameters
user_agent (required)
The name of your application or your email address so we can get in touch in case you're doing something wrong.
Type: string
workspace_id (required)
The workspace whose data you want to access.
Type: integer
billable
Type: string
Potential values: yes, no, both
client_ids
A list of client IDs separated by a comma. Use "0" if you want to filter out time entries without a client.
Type: object
{ }
description
Matches against time entry descriptions.
Type: string
display_hours
Determines whether to display hours as a decimal number or with minutes.
Type: string
Potential values: decimal, minutes
distinct_rates
Type: string
Potential values: on, off
members_of_group_ids
A list of group IDs separated by a comma. This limits provided user_ids to the members of the given groups.
Type: array
[ "group ID" ]
or_members_of_group_ids
A list of group IDs separated by a comma. This extends provided user_ids with the members of the given groups.
Type: array
[ "GroupId" ]
order_desc
"on" for descending, or "off" for ascending order.
Type: string
Potential values: on, off
order_field
Type: string
Potential values: date, description, duration, user
page
Type: integer
project_ids
A list of project IDs separated by a comma. Use "0" if you want to filter out time entries without a project.
Type: object
{ }
rounding
Rounds time according to workspace settings.
Type: string
Potential values: on, off
since
ISO 8601 date (YYYY-MM-DD) format. Defaults to today - 6 days.
Type: string
tag_ids
A list of tag IDs separated by a comma. Use "0" if you want to filter out time entries without a tag.
Type: object
{ }
task_ids
A list of task IDs separated by a comma. Use "0" if you want to filter out time entries without a task.
Type: object
{ }
time_entry_ids
A list of time entry IDs separated by a comma.
Type: array
[ "GroupId" ]
until
ISO 8601 date (YYYY-MM-DD) format. Note: Maximum date span (until - since) is one year. Defaults to today, unless since is in future or more than year ago, in this case until is since + 6 days.
Type: string
user_ids
A list of user IDs separated by a comma.
Type: array
[ "user ID" ]
without_description
Filters out the time entries which do not have a description (literally "(no description)").
Type: boolean
get_project
Get project data
Parameters
project_id (required)
project ID
Type: integer
get_project_users_for_workspace
Get workspace project users
Parameters
workspace_id (required)
workspace ID
Type: integer
get_projects_for_client
Get client projects
Parameters
client_id (required)
client ID
Type: integer
active
By default true. If false, only archived projects are returned.
Type: string
Potential values: true, false, both
get_running_time_entry
This operation has no parameters
get_summary_report
Summary report returns the aggregated time entries data. time entries for the requested
Parameters
user_agent (required)
The name of your application or your email address so we can get in touch in case you're doing something wrong.
Type: string
workspace_id (required)
The workspace whose data you want to access.
Type: integer
billable
Type: string
Potential values: yes, no, both
client_ids
A list of client IDs separated by a comma. Use "0" if you want to filter out time entries without a client.
Type: object
{ }
description
Matches against time entry descriptions.
Type: string
display_hours
Determines whether to display hours as a decimal number or with minutes.
Type: string
Potential values: decimal, minutes
distinct_rates
Type: string
Potential values: on, off
grouped_time_entry_ids
Type: boolean
grouping
Type: string
Potential values: projects, clients, users
members_of_group_ids
A list of group IDs separated by a comma. This limits provided user_ids to the members of the given groups.
Type: array
[ "group ID" ]
or_members_of_group_ids
A list of group IDs separated by a comma. This extends provided user_ids with the members of the given groups.
Type: array
[ "GroupId" ]
order_desc
"on" for descending, or "off" for ascending order.
Type: string
Potential values: on, off
order_field
Type: string
Potential values: title, duration, amount
project_ids
A list of project IDs separated by a comma. Use "0" if you want to filter out time entries without a project.
Type: object
{ }
rounding
Rounds time according to workspace settings.
Type: string
Potential values: on, off
since
ISO 8601 date (YYYY-MM-DD) format. Defaults to today - 6 days.
Type: string
subgrouping
Type: string
Potential values: time_entries, tasks, users, projects, clients
subgrouping_ids
Type: boolean
tag_ids
A list of tag IDs separated by a comma. Use "0" if you want to filter out time entries without a tag.
Type: object
{ }
task_ids
A list of task IDs separated by a comma. Use "0" if you want to filter out time entries without a task.
Type: object
{ }
time_entry_ids
A list of time entry IDs separated by a comma.
Type: array
[ "GroupId" ]
until
ISO 8601 date (YYYY-MM-DD) format. Note: Maximum date span (until - since) is one year. Defaults to today, unless since is in future or more than year ago, in this case until is since + 6 days.
Type: string
user_ids
A list of user IDs separated by a comma.
Type: array
[ "user ID" ]
without_description
Filters out the time entries which do not have a description (literally "(no description)").
Type: boolean
get_task
Get task details
Parameters
task_id (required)
task ID
Type: integer
get_time_entry
Get time entry details
Parameters
time_entry_id (required)
time entry ID
Type: integer
get_weekly_report
The weekly report gives aggregated 7 day durations or earnings grouped by users and projects.
Parameters
user_agent (required)
The name of your application or your email address so we can get in touch in case you're doing something wrong.
Type: string
workspace_id (required)
The workspace whose data you want to access.
Type: integer
billable
Type: string
Potential values: yes, no, both
calculate
Type: string
Potential values: time, earnings
client_ids
A list of client IDs separated by a comma. Use "0" if you want to filter out time entries without a client.
Type: object
{ }
description
Matches against time entry descriptions.
Type: string
display_hours
Determines whether to display hours as a decimal number or with minutes.
Type: string
Potential values: decimal, minutes
distinct_rates
Type: string
Potential values: on, off
grouping
Type: string
Potential values: users, projects
members_of_group_ids
A list of group IDs separated by a comma. This limits provided user_ids to the members of the given groups.
Type: array
[ "group ID" ]
or_members_of_group_ids
A list of group IDs separated by a comma. This extends provided user_ids with the members of the given groups.
Type: array
[ "GroupId" ]
order_desc
"on" for descending, or "off" for ascending order.
Type: string
Potential values: on, off
order_field
Type: string
Potential values: title, day1, day2, day3, day4, day5, day6, day7, week_total
project_ids
A list of project IDs separated by a comma. Use "0" if you want to filter out time entries without a project.
Type: object
{ }
rounding
Rounds time according to workspace settings.
Type: string
Potential values: on, off
since
ISO 8601 date (YYYY-MM-DD) format. Defaults to today - 6 days.
Type: string
tag_ids
A list of tag IDs separated by a comma. Use "0" if you want to filter out time entries without a tag.
Type: object
{ }
task_ids
A list of task IDs separated by a comma. Use "0" if you want to filter out time entries without a task.
Type: object
{ }
time_entry_ids
A list of time entry IDs separated by a comma.
Type: array
[ "GroupId" ]
user_ids
A list of user IDs separated by a comma.
Type: array
[ "user ID" ]
without_description
Filters out the time entries which do not have a description (literally "(no description)").
Type: boolean
get_workspace
Get single workspace
Parameters
workspace_id (required)
workspace ID
Type: integer
invite_users_to_workspace
Invite users to workspace
Parameters
workspace_id (required)
workspace ID
Type: integer
$body
Type: object
{
"emails" : [ "string" ]
}
list_clients
This operation has no parameters
list_clients_for_workspace
Get workspace clients
Parameters
workspace_id (required)
workspace ID
Type: integer
list_groups_for_workspace
Get workspace groups
Parameters
workspace_id (required)
workspace ID
Type: integer
list_projects_for_workspace
Get workspace projects
Parameters
workspace_id (required)
workspace ID
Type: integer
list_tags_for_workspace
Get workspace tags
Parameters
workspace_id (required)
workspace ID
Type: integer
list_tasks_for_project
List project tasks
Parameters
project_id (required)
project ID
Type: integer
list_tasks_for_workspace
Get workspace tasks
Parameters
workspace_id (required)
workspace ID
Type: integer
list_time_entries
Get time entries started in a specific time range. Default is last 9 days.
Parameters
end_date
Type: string
start_date
Type: string
list_users_for_project
List project users
Parameters
project_id (required)
project ID
Type: integer
list_users_for_workspace
Get workspace users
Parameters
workspace_id (required)
workspace ID
Type: integer
list_workspace_users
Get workspace users. This request returns not the user objects, but the workspace_user objects (the connection between user and workspace)
Parameters
workspace_id (required)
workspace ID
Type: integer
list_workspaces
This operation has no parameters
reset_api_token
This operation has no parameters
sign_up_new_user
Sign up new user
Parameters
$body
Type: object
{
"user" : {
"image_url" : "url with the user's profile picture",
"timezone" : "timezone user has set on the \"My profile\" page ( IANA TZ timezones )",
"api_token" : "API token",
"timeofday_format" : "string",
"beginning_of_week" : "(integer 0-6, Sunday=0)",
"jquery_date_format" : "string",
"send_weekly_report" : "if user receives weekly report",
"language" : "user's language",
"default_wid" : "default workspace id",
"store_start_and_stop_time" : "whether start and stop time are saved on time entry",
"password" : "password at least 6 characters long",
"at" : "timestamp of last changes",
"new_blog_post" : { },
"openid_enabled" : "google signin enabled",
"jquery_timeofday_format" : "string",
"date_format" : "string",
"send_timer_notifications" : "email user about long-running (more than 8 hours) tasks",
"fullname" : "Full name of user",
"email" : "Email address",
"sidebar_piechart" : "should a piechart be shown on the sidebar",
"send_product_emails" : "Toggl can send newsletters over e-mail to the user",
"current_password" : "password at least 6 characters long"
}
}
start_time_entry
Start a time entry
Parameters
$body
Type: object
{
"time_entry" : {
"duration" : "time entry duration in seconds. If the time entry is currently running, the duration attribute contains a negative value, denoting the start of the time entry in seconds since epoch (Jan 1 1970). The correct duration can be calculated as current_time + duration, where current_time is the current time in seconds since epoch.",
"wid" : "workspace ID",
"at" : "timestamp that is sent in the response, indicates the time item was last updated",
"stop" : "time entry stop time, ISO 8601 date and time",
"start" : "time entry start time, ISO 8601 date and time",
"description" : "description",
"pid" : "project ID",
"created_with" : "the name of your client app",
"billable" : "available for pro workspaces",
"duronly" : "should Toggl show the start and stop time of this time entry?",
"tid" : "task ID",
"tags" : [ "string" ]
}
}
stop_time_entry
Stop a time entry
Parameters
time_entry_id (required)
time entry ID
Type: integer
update_client
Update a client
Parameters
client_id (required)
client ID
Type: integer
$body
Type: object
{
"client" : {
"wid" : "workspace ID",
"notes" : "notes for the client",
"at" : "timestamp that is sent in the response",
"name" : "name of the client"
}
}
update_group
Update a group
Parameters
group_id (required)
group ID
Type: integer
$body
Type: object
{
"group" : {
"wid" : "workspace ID",
"at" : "timestamp that is sent in the response",
"name" : "name of the group"
}
}
update_multiple_users_for_project
Update multiple project users
Parameters
project_user_ids (required)
multiple project user IDs
Type: array
[ "project user ID" ]
$body
Type: object
{
"project_user" : {
"uid" : { },
"wid" : "workspace ID",
"at" : "timestamp that is sent in the response, indicates when the project user was last updated",
"manager" : "admin rights for this project",
"rate" : "hourly rate for the project user (only for pro workspaces) in the currency of the project's client or in workspace default currency.",
"pid" : "project ID",
"fields" : "fullname: full name of the user, who is added to the project"
}
}
update_project
Update project data
Parameters
project_id (required)
project ID
Type: integer
$body
Type: object
{
"project" : {
"is_private" : "whether project is accessible for only project users or for all workspace users",
"template" : "whether the project can be used as a template",
"color" : "id of the color selected for the project",
"active" : "whether the project is archived or not",
"billable" : "whether the project is billable or not, available only for pro workspaces",
"auto_estimates" : "whether the estimated hours are automatically calculated based on task estimations or manually fixed based on the value of 'estimated_hours', premium functionality",
"wid" : "workspace ID",
"at" : "timestamp indicating when the project was created (UTC time), read-only",
"rate" : "hourly rate of the project, premium functionality",
"name" : "name of the project",
"estimated_hours" : "if auto_estimates is true then the sum of task estimations is returned, otherwise user inserted hours, premium functionality",
"template_id" : "id of the template project used on current project's creation",
"cid" : "client ID"
}
}
update_tag
Update a tag
Parameters
tag_id (required)
tag ID
Type: integer
$body
Type: object
{
"tag" : {
"wid" : "workspace ID, where the tag will be used",
"name" : "The name of the tag, unique in workspace"
}
}
update_task
Update one or more tasks
Parameters
task_id (required)
multiple task IDs
Type: object
{ }
$body
Type: object
{
"task" : {
"uid" : "user ID, to whom the task is assigned to",
"wid" : "workspace ID",
"at" : "timestamp that is sent in the response for PUT, indicates the time task was last updated",
"estimated_seconds" : "estimated duration of task in seconds",
"name" : "The name of the task",
"active" : "whether the task is done or not",
"pid" : "project ID for the task",
"tracked_seconds" : "total time tracked (in seconds) for the task"
}
}
update_time_entry
Update a time entry (or multiple time entries)
Parameters
time_entry_id (required)
one or more time entry IDs
Type: object
{ }
$body
Type: object
{
"time_entry" : {
"duration" : "time entry duration in seconds. If the time entry is currently running, the duration attribute contains a negative value, denoting the start of the time entry in seconds since epoch (Jan 1 1970). The correct duration can be calculated as current_time + duration, where current_time is the current time in seconds since epoch.",
"wid" : "workspace ID",
"at" : "timestamp that is sent in the response, indicates the time item was last updated",
"stop" : "time entry stop time, ISO 8601 date and time",
"start" : "time entry start time, ISO 8601 date and time",
"description" : "description",
"pid" : "project ID",
"created_with" : "the name of your client app",
"billable" : "available for pro workspaces",
"duronly" : "should Toggl show the start and stop time of this time entry?",
"tid" : "task ID",
"tags" : [ "string" ]
}
}
update_user_data
Update user data
Parameters
$body
Type: object
{
"user" : {
"image_url" : "url with the user's profile picture",
"timezone" : "timezone user has set on the \"My profile\" page ( IANA TZ timezones )",
"api_token" : "API token",
"timeofday_format" : "string",
"beginning_of_week" : "(integer 0-6, Sunday=0)",
"jquery_date_format" : "string",
"send_weekly_report" : "if user receives weekly report",
"language" : "user's language",
"default_wid" : "default workspace id",
"store_start_and_stop_time" : "whether start and stop time are saved on time entry",
"password" : "password at least 6 characters long",
"at" : "timestamp of last changes",
"new_blog_post" : { },
"openid_enabled" : "google signin enabled",
"jquery_timeofday_format" : "string",
"date_format" : "string",
"send_timer_notifications" : "email user about long-running (more than 8 hours) tasks",
"fullname" : "Full name of user",
"email" : "Email address",
"sidebar_piechart" : "should a piechart be shown on the sidebar",
"send_product_emails" : "Toggl can send newsletters over e-mail to the user",
"current_password" : "password at least 6 characters long"
}
}
update_user_for_project
Update a project user
Parameters
project_user_id (required)
project user ID
Type: integer
$body
Type: object
{
"project_user" : {
"uid" : { },
"wid" : "workspace ID",
"at" : "timestamp that is sent in the response, indicates when the project user was last updated",
"manager" : "admin rights for this project",
"rate" : "hourly rate for the project user (only for pro workspaces) in the currency of the project's client or in workspace default currency.",
"pid" : "project ID",
"fields" : "fullname: full name of the user, who is added to the project"
}
}
update_workspace
Update workspace
Parameters
workspace_id (required)
workspace ID
Type: integer
$body
Type: object
{
"workspace" : {
"premium" : "If it's a pro workspace or not. Shows if someone is paying for the workspace or not",
"at" : "timestamp that indicates the time workspace was last updated",
"only_admins_may_create_projects" : "whether only the admins can create projects or everybody",
"logo_url" : "URL pointing to the logo (if set, otherwise omitted)",
"rounding_minutes" : "round up to nearest minute",
"name" : "the name of the workspace",
"admin" : "shows whether currently requesting user has admin access to the workspace",
"rounding" : "type of rounding: -1 = round down, 0 = nearest, 1 = round up",
"only_admins_see_billable_rates" : "whether only the admins can see billable rates or everybody",
"default_hourly_rate" : "default hourly rate for workspace, won't be shown to non-admins if the only_admins_see_billable_rates flag is set to true",
"default_currency" : "default currency for workspace"
}
}
update_workspace_user
Update workspace user. Only the admin flag can be changed.
Parameters
workspace_user_id (required)
workspace user ID
Type: integer
$body
Type: object
{
"workspace_user" : {
"uid" : "user id of the workspace user",
"invite_url" : "if user has not accepted the invitation the url for accepting his/her invitation is sent when the request is made by workspace_admin",
"admin" : "if user is workspace admin",
"active" : "if the workspace user has accepted the invitation to this workspace",
"id" : "workspace user id"
}
}