Maton

Toggl Track

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/me

Response:

{
  "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/workspaces

Get Workspace

GET /toggl-track/api/v9/workspaces/{workspace_id}

List Workspace Users

GET /toggl-track/api/v9/workspaces/{workspace_id}/users

List Time Entries

GET /toggl-track/api/v9/me/time_entries

Query Parameters:

  • since (integer) - UNIX timestamp for entries modified after this time
  • before (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/current

Returns 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}/stop

Delete 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}/projects

Query Parameters:

  • active (boolean) - Filter by active status
  • since (integer) - UNIX timestamp for modification filter
  • name (string) - Filter by project name
  • page (integer) - Page number
  • per_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}/clients

Query Parameters:

  • status (string) - Filter: active, archived, or both
  • name (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}/archive

Restore 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}/tags

Query Parameters:

  • page (integer) - Page number
  • per_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}

Resources

On this page