# Timesheets

Manage timesheet approvals and submissions

 - [GET /timesheets](https://api-docs.webwork-tracker.com/api/timesheets/gettimesheets.md): Retrieve all timesheets for a specific workspace. Supports filtering by status, date range, user ID, and specific timesheet ID. Results are paginated and can be sorted by creation date. **Filters:** -
 - [GET /timesheets/{timesheetId}](https://api-docs.webwork-tracker.com/api/timesheets/gettimesheet.md): Retrieve a single timesheet approval with its daily breakdown. Same item shape as `GET /timesheets`. Requires workspace owner or executive manager permissions.
 - [PUT /timesheets/{timesheetId}/approve](https://api-docs.webwork-tracker.com/api/timesheets/approvetimesheet.md): Approve a submitted timesheet. Only workspace owners and executive managers can approve timesheets. The timesheet must be in 'submitted' status to be approved.
 - [PUT /timesheets/{timesheetId}/reject](https://api-docs.webwork-tracker.com/api/timesheets/rejecttimesheet.md): Reject a submitted timesheet with a reason. Only workspace owners and executive managers can reject timesheets. The timesheet must be in 'submitted' status to be rejected. A reason must be provided.
 - [PUT /timesheets/{timesheetId}/submit](https://api-docs.webwork-tracker.com/api/timesheets/submittimesheet.md): Submit a timesheet for approval. The timesheet must be in 'pending' or 'rejected' status to be submitted. Once submitted, it will be reviewed by workspace owners or executive managers.
 - [PUT /timesheets/{timesheetId}/unsubmit](https://api-docs.webwork-tracker.com/api/timesheets/unsubmittimesheet.md): Unsubmit a previously submitted timesheet. This returns the timesheet to 'pending' status, allowing the user to make changes before resubmitting.
