@todoforai/toggltrack-api
v0.1.0
Published
JSON-first CLI for the official Toggl Track API v9
Readme
toggltrack-api
Independent JSON-first CLI over the Toggl Track API v9 (not an official Toggl product). Zero SDK, plain fetch, Node >= 20.
cd api-apps/toggltrack-api && npm install --workspaces=false && bun run build
node dist/index.js --helpAuth
https://track.toggl.com/profile → API Token (bottom of the page). Basic auth <token>:api_token.
New signups may land in Toggl 2.0 (focus.toggl.com) whose toggl_sk_… keys are a different API; the legacy Track token
is still shown at the profile page (or GET https://track.toggl.com/api/v9/me while logged in). A Track user without a
workspace can create one: toggltrack-api api POST /organizations --data '{"name":"Org","workspace_name":"Main"}'.
<secret-manager> | toggltrack-api auth --stdin # verifies GET /me, saves token + default workspace (0600)
TOGGL_API_TOKEN=… TOGGL_WORKSPACE_ID=… toggltrack-api whoamiCommands
me, workspaces, users, clients, projects, tasks, tags, entries (list/current/get/create/start/stop/update/delete), plus api <METHOD> <path>.
Workspace-scoped commands take -w <id> (else env, else the saved default). --dry-run previews; DELETE needs --yes.
toggltrack-api clients create --data '{"name":"Acme"}'
toggltrack-api projects create --data '{"name":"Website","client_id":123,"billable":true}'
toggltrack-api entries start --data '{"description":"Call","project_id":456,"tags":["client"]}'
toggltrack-api entries current
toggltrack-api entries stop <id>
toggltrack-api entries create --data '{"start":"2026-10-05T09:00:00Z","duration":3600,"description":"Review"}'Docs: https://engineering.toggl.com/docs/track/ · OpenAPI: https://engineering.toggl.com/docs/track/openapi/
Tests
bun test (mocked fetch) and bun run test:node (built bundle under Node).
