Access the Toggl Track API with managed OAuth authentication. Track time, manage projects, clients, tags, and workspaces.
Reference
Get Current User
GET /toggl-track/api/v9/meResponse:
{
"id": 12932942,
"email": "user@example.com",
"fullname": "John Doe",
"timezone": "America/Los_Angeles",
"default_workspace_id": 21180405,
"beginning_of_week": 1,
"image_url": "https://assets.track.toggl.com/images/profile.png"
}List Workspaces
GET /toggl-track/api/v9/me/workspacesGet Workspace
GET /toggl-track/api/v9/workspaces/{workspace_id}List Workspace Users
GET /toggl-track/api/v9/workspaces/{workspace_id}/usersList Time Entries
GET /toggl-track/api/v9/me/time_entriesQuery Parameters:
since(integer) - UNIX timestamp for entries modified after this timebefore(string) - Get entries before this date (RFC3339 or YYYY-MM-DD)start_date(string) - Filter start date (YYYY-MM-DD)end_date(string) - Filter end date (YYYY-MM-DD)
Get Current (Running) Time Entry
GET /toggl-track/api/v9/me/time_entries/currentReturns null if no time entry is currently running.
Get Time Entry by ID
GET /toggl-track/api/v9/me/time_entries/{time_entry_id}Create Time Entry
POST /toggl-track/api/v9/workspaces/{workspace_id}/time_entries
Content-Type: application/json
{
"description": "Working on project",
"start": "2026-02-13T10:00:00Z",
"duration": -1,
"workspace_id": 21180405,
"project_id": 216896134,
"tag_ids": [20053808],
"created_with": "maton-api"
}Note: Set duration to -1 to start a running timer. The created_with field is required.
Response:
{
"id": 4290254971,
"workspace_id": 21180405,
"project_id": null,
"task_id": null,
"billable": false,
"start": "2026-02-13T19:58:43Z",
"stop": null,
"duration": -1,
"description": "Working on project",
"tags": null,
"tag_ids": null,
"user_id": 12932942
}Update Time Entry
PUT /toggl-track/api/v9/workspaces/{workspace_id}/time_entries/{time_entry_id}
Content-Type: application/json
{
"description": "Updated description",
"project_id": 216896134
}Stop Running Time Entry
PATCH /toggl-track/api/v9/workspaces/{workspace_id}/time_entries/{time_entry_id}/stopDelete Time Entry
DELETE /toggl-track/api/v9/workspaces/{workspace_id}/time_entries/{time_entry_id}List Projects
GET /toggl-track/api/v9/workspaces/{workspace_id}/projectsQuery Parameters:
active(boolean) - Filter by active statussince(integer) - UNIX timestamp for modification filtername(string) - Filter by project namepage(integer) - Page numberper_page(integer) - Items per page (max 200)
Get Project
GET /toggl-track/api/v9/workspaces/{workspace_id}/projects/{project_id}Create Project
POST /toggl-track/api/v9/workspaces/{workspace_id}/projects
Content-Type: application/json
{
"name": "New Project",
"active": true,
"is_private": true,
"client_id": 68493239,
"color": "#0b83d9",
"billable": true
}Response:
{
"id": 216896134,
"workspace_id": 21180405,
"client_id": null,
"name": "New Project",
"is_private": true,
"active": true,
"color": "#0b83d9",
"billable": true,
"created_at": "2026-02-13T19:58:36+00:00"
}Update Project
PUT /toggl-track/api/v9/workspaces/{workspace_id}/projects/{project_id}
Content-Type: application/json
{
"name": "Updated Project Name",
"color": "#ff0000"
}Delete Project
DELETE /toggl-track/api/v9/workspaces/{workspace_id}/projects/{project_id}List Clients
GET /toggl-track/api/v9/workspaces/{workspace_id}/clientsQuery Parameters:
status(string) - Filter:active,archived, orbothname(string) - Case-insensitive name filter
Get Client
GET /toggl-track/api/v9/workspaces/{workspace_id}/clients/{client_id}Create Client
POST /toggl-track/api/v9/workspaces/{workspace_id}/clients
Content-Type: application/json
{
"name": "New Client",
"notes": "Client notes here"
}Response:
{
"id": 68493239,
"wid": 21180405,
"archived": false,
"name": "New Client",
"at": "2026-02-13T19:58:36+00:00",
"creator_id": 12932942
}Update Client
PUT /toggl-track/api/v9/workspaces/{workspace_id}/clients/{client_id}
Content-Type: application/json
{
"name": "Updated Client Name"
}Delete Client
DELETE /toggl-track/api/v9/workspaces/{workspace_id}/clients/{client_id}Archive Client
POST /toggl-track/api/v9/workspaces/{workspace_id}/clients/{client_id}/archiveRestore Client
POST /toggl-track/api/v9/workspaces/{workspace_id}/clients/{client_id}/restore
Content-Type: application/json
{
"restore_all_projects": true
}List Tags
GET /toggl-track/api/v9/workspaces/{workspace_id}/tagsQuery Parameters:
page(integer) - Page numberper_page(integer) - Items per page
Create Tag
POST /toggl-track/api/v9/workspaces/{workspace_id}/tags
Content-Type: application/json
{
"name": "New Tag"
}Response:
{
"id": 20053808,
"workspace_id": 21180405,
"name": "New Tag",
"at": "2026-02-13T19:58:37.115714Z",
"creator_id": 12932942
}Update Tag
PUT /toggl-track/api/v9/workspaces/{workspace_id}/tags/{tag_id}
Content-Type: application/json
{
"name": "Updated Tag Name"
}Delete Tag
DELETE /toggl-track/api/v9/workspaces/{workspace_id}/tags/{tag_id}