Use tapd timesheet commands to create, list, count, update, and delete TAPD
timesheet records.
All timesheet commands use the configured TAPD credentials from tapd login or
the TAPD_ACCESS_TOKEN / TAPD_CLIENT_ID / TAPD_CLIENT_SECRET environment
variables.
Most commands require a workspace:
tapd timesheet list --workspace-id 123456The short form is also supported:
tapd timesheet list -w 123456Timesheet commands default to table output:
tapd timesheet list -w 123456Use JSON when piping to another program or when you need the full SDK response shape:
tapd timesheet list -w 123456 --format jsonCreate a timesheet for a story, task, or bug:
tapd timesheet create \
-w 123456 \
--entity-type story \
--entity-id 1111112222001000001 \
--timespent 2h \
--owner aliceAdd remaining time, spent date, and memo:
tapd timesheet create \
-w 123456 \
--entity-type task \
--entity-id 1111112222001000002 \
--timespent 1.5h \
--timeremain 3h \
--spentdate 2026-06-01 \
--owner alice \
--memo "API implementation"Supported entity types are story, task, and bug.
List recent timesheets:
tapd timesheet list -w 123456 --limit 20 --page 1Filter by owner or entity:
tapd timesheet list -w 123456 --owner alice
tapd timesheet list -w 123456 --entity-type bug --entity-id 1111112222001000003Filter by IDs:
tapd timesheet list -w 123456 --ids 10001,10002Request specific fields:
tapd timesheet list -w 123456 --fields id,entity_type,entity_id,timespent,ownerInclude deleted records or exclude parent story timesheets:
tapd timesheet list -w 123456 --include-deleted
tapd timesheet list -w 123456 --exclude-parent-storyDate filters accept the expressions supported by TAPD:
tapd timesheet list -w 123456 --spentdate "2026-06-01~2026-06-30"
tapd timesheet list -w 123456 --created "2026-06-01~2026-06-30"
tapd timesheet list -w 123456 --modified "2026-06-01~2026-06-30"Count all matching timesheets:
tapd timesheet count -w 123456Apply the same filters used by list:
tapd timesheet count -w 123456 --owner alice
tapd timesheet count -w 123456 --entity-type story --entity-id 1111112222001000001
tapd timesheet count -w 123456 --include-deletedUpdate spent time, remaining time, or memo:
tapd timesheet update 10001 -w 123456 --timespent 3h
tapd timesheet update 10001 -w 123456 --timeremain 2h --memo "Adjusted estimate"At least one of --timespent, --timeremain, or --memo is required.
Delete one or more timesheet cost IDs from an entity:
tapd timesheet delete \
-w 123456 \
--entity-type story \
--entity-id 1111112222001000001 \
--cost-ids 10001,10002The table output shows the TAPD message, the count of successfully deleted cost IDs, and the count of failed result groups. Use JSON output to inspect each failed item in detail:
tapd timesheet delete \
-w 123456 \
--entity-type story \
--entity-id 1111112222001000001 \
--cost-ids 10001,10002 \
--format jsonThe timesheet command implementation currently lives in:
internal/cmd/timesheet.go
When adding or renaming timesheet commands:
- Reuse the typed SDK methods from
github.com/go-tapd/tapd. - Keep table output compact and use
--format jsonfor full response data. - Update
features.md. - Update this document.
- Regenerate shell completion files if they have been installed locally.