{
  "info": {
    "name": "Toggl Track — mcp.ai",
    "description": "REST API for the Toggl Track MCP. Set {{apiKey}} to a workspace key (sk_live_…) created at https://mcp.ai/settings/api-keys.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.mcp.ai/api/toggl_track",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "toggl_track_bulk_update_time_entries",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/bulk/update/time/entries",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "bulk",
            "update",
            "time",
            "entries"
          ]
        },
        "description": "Apply the same description and/or billable state to 1 to 100 Toggl Track time entries in one provider-native request. Updates are non-atomic: Toggl Track performs no transaction or rollback, so some I",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"billable\": false,\n  \"description\": \"\",\n  \"workspace_id\": 0,\n  \"time_entry_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "toggl_track_create_client",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/client",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "client"
          ]
        },
        "description": "Create a client in a workspace for grouping projects.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"name\": \"\",\n  \"notes\": \"\",\n  \"workspace_id\": 0,\n  \"external_reference\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "toggl_track_create_project",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/project",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "project"
          ]
        },
        "description": "Create a project in a workspace for organizing time entries and tasks.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"name\": \"\",\n  \"color\": \"\",\n  \"active\": false,\n  \"end_date\": \"\",\n  \"client_id\": 0,\n  \"is_private\": false,\n  \"start_date\": \"\",\n  \"workspace_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "toggl_track_create_task",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/task",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "task"
          ]
        },
        "description": "Create a task under an active project for more specific time-entry assignment.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"name\": \"\",\n  \"user_id\": 0,\n  \"project_id\": 0,\n  \"workspace_id\": 0,\n  \"estimated_seconds\": 0,\n  \"external_reference\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "toggl_track_create_time_entry",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/time/entry",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "time",
            "entry"
          ]
        },
        "description": "Create a running or completed time entry in a workspace; omit duration and stop to start a running timer. Supplying tag names may also create tags that do not yet exist.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"stop\": \"\",\n  \"tags\": \"\",\n  \"start\": \"\",\n  \"tag_ids\": \"\",\n  \"task_id\": 0,\n  \"billable\": false,\n  \"duration\": 0,\n  \"project_id\": 0,\n  \"description\": \"\",\n  \"workspace_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "toggl_track_delete_client",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/client",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "client"
          ]
        },
        "description": "Permanently delete one client from a Toggl Track workspace.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"client_id\": 0,\n  \"workspace_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "toggl_track_delete_project",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/project",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "project"
          ]
        },
        "description": "Delete one project while preserving its time entries by unassigning them from the project.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"project_id\": 0,\n  \"workspace_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "toggl_track_delete_task",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/task",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "task"
          ]
        },
        "description": "Permanently delete one task from its parent project.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"task_id\": 0,\n  \"project_id\": 0,\n  \"workspace_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "toggl_track_delete_time_entry",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/time/entry",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "time",
            "entry"
          ]
        },
        "description": "Permanently delete one time entry from a workspace.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"workspace_id\": 0,\n  \"time_entry_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "toggl_track_get_current_time_entry",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/current/time/entry",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "current",
            "time",
            "entry"
          ]
        },
        "description": "Return the currently running time entry for the connected user, or indicate that no timer is running.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "toggl_track_get_current_user",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/current/user",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "current",
            "user"
          ]
        },
        "description": "Return the connected Toggl Track user's identity and defaults, including the default workspace ID, without exposing credentials.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "toggl_track_get_time_entry",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/time/entry",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "time",
            "entry"
          ]
        },
        "description": "Get one time entry by ID, with optional related-entity and sharing metadata.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"time_entry_id\": 0,\n  \"include_sharing\": false,\n  \"include_metadata\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "toggl_track_list_time_entries",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/time/entries",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "time",
            "entries"
          ]
        },
        "description": "List the connected user's time entries in an explicit date range, optionally including related project, task, user, and sharing metadata.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"end_date\": \"\",\n  \"start_date\": \"\",\n  \"include_sharing\": false,\n  \"include_metadata\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "toggl_track_list_workspace_resources",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/workspace/resources",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "workspace",
            "resources"
          ]
        },
        "description": "Find projects, clients, tags, or tasks in a workspace and return their IDs for time-entry and resource-management tools.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"search\": \"\",\n  \"status\": \"\",\n  \"page_size\": 0,\n  \"project_id\": 0,\n  \"next_cursor\": \"\",\n  \"workspace_id\": 0,\n  \"resource_type\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "toggl_track_list_workspaces",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/workspaces",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "workspaces"
          ]
        },
        "description": "List workspaces accessible to the connected user and return the IDs needed by workspace-scoped tools, without exposing private tokens or calendar URLs.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "toggl_track_run_detailed_time_report",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/run/detailed/time/report",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "run",
            "detailed",
            "time",
            "report"
          ]
        },
        "description": "Return one page of detailed, grouped time-entry report rows for a workspace and date range, with an opaque cursor for the next page.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"tag_ids\": \"\",\n  \"end_date\": \"\",\n  \"order_by\": \"\",\n  \"task_ids\": \"\",\n  \"user_ids\": \"\",\n  \"page_size\": 0,\n  \"client_ids\": \"\",\n  \"start_date\": \"\",\n  \"description\": \"\",\n  \"next_cursor\": \"\",\n  \"project_ids\": \"\",\n  \"workspace_id\": 0,\n  \"time_entry_ids\": \"\",\n  \"order_direction\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "toggl_track_stop_time_entry",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/stop/time/entry",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "stop",
            "time",
            "entry"
          ]
        },
        "description": "Stop a currently running time entry and return its finalized timing data.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"workspace_id\": 0,\n  \"time_entry_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "toggl_track_update_client",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/client",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "client"
          ]
        },
        "description": "Update a client's name, notes, or external reference. Toggl Track requires the client's name on every update, even when it is unchanged.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"name\": \"\",\n  \"notes\": \"\",\n  \"client_id\": 0,\n  \"workspace_id\": 0,\n  \"external_reference\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "toggl_track_update_project",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/project",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "project"
          ]
        },
        "description": "Update a project's name, client, active state, privacy, color, or date range.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"name\": \"\",\n  \"color\": \"\",\n  \"active\": false,\n  \"end_date\": \"\",\n  \"client_id\": 0,\n  \"is_private\": false,\n  \"project_id\": 0,\n  \"start_date\": \"\",\n  \"workspace_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "toggl_track_update_task",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/task",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "task"
          ]
        },
        "description": "Update a task's name, completion state, estimate, assignee, or external reference.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"name\": \"\",\n  \"active\": false,\n  \"task_id\": 0,\n  \"user_id\": 0,\n  \"project_id\": 0,\n  \"workspace_id\": 0,\n  \"estimated_seconds\": 0,\n  \"external_reference\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "toggl_track_update_time_entry",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/time/entry",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "time",
            "entry"
          ]
        },
        "description": "Update the timing, description, assignment, billable state, or tags of an existing time entry. Provide at least one change; changing tags requires tag_action together with tags or tag_ids. Tag effects",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"stop\": \"\",\n  \"tags\": \"\",\n  \"start\": \"\",\n  \"tag_ids\": \"\",\n  \"task_id\": 0,\n  \"billable\": false,\n  \"duration\": 0,\n  \"project_id\": 0,\n  \"tag_action\": \"\",\n  \"description\": \"\",\n  \"workspace_id\": 0,\n  \"time_entry_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}