---
title: "List timesheets with filtering and pagination"
method: GET
path: "/v1/timesheets"
tags: ["Timesheet"]
---

# List timesheets with filtering and pagination

`GET /v1/timesheets`

Search and retrieve a list of timesheets with comprehensive filtering options.

This endpoint allows you to:
- List all timesheets for specific employees or companies
- Filter by timesheet status (OPEN, SUBMITTED, APPROVED, REJECTED)
- Filter by date ranges
- Search by employee name
- Sort results by various fields
- Paginate through large result sets

Use this endpoint to view timesheet history, find pending approvals, or generate reports.

## Query parameters

- `page` integer
- `pageSize` integer
- `employeeIds` string[]
- `status` 'OPEN' | 'PARTIALLY_SUBMITTED' | 'SUBMITTED' | 'APPROVED' | 'REJECTED'
- `startDateFrom` string, date
- `startDateTo` string, date
- `memberName` string
- `companyIds` string[]
- `country` string
- `sortBy` 'startDate' | 'endDate' | 'updatedOn' | 'submittedOn' | 'approvedOn'
- `sortOrder` 'ASC' | 'DESC'

## Response `200`

Timesheets retrieved successfully

- V1TimesheetsGetResponse
  - `data` V1TimesheetsGetResponseTimesheet[], required
    - `timesheetId` string, required — Unique identifier for the timesheet
    - `employeeId` string — Employee unique identifier
    - `startDate` string, date, required — Start date of the timesheet period
    - `endDate` string, date, required — End date of the timesheet period
    - `status` 'OPEN' | 'PARTIALLY_SUBMITTED' | 'SUBMITTED' | 'APPROVED' | 'REJECTED' | 'UNKNOWN', required — Current status of the timesheet
    - `totalDays` integer — Total number of days in the period
    - `totalSubmittedDays` integer — Number of days with submitted entries
    - `totalApprovedDays` integer — Number of days with approved entries
    - `totalRejectedDays` integer — Number of days with rejected entries
    - `totalTimeInMinutes` integer — Total time tracked in minutes
    - `submittedOn` string, date-time — When the timesheet was submitted
    - `approvedOn` string, date-time — When the timesheet was approved
    - `updatedOn` string, date-time — When the timesheet was last updated
  - `pagination` Pagination, required — Pagination information for list responses
    - `page` integer, required — Current page number (1-based)
    - `pageSize` integer, required — Number of items per page
    - `totalCount` integer, required — Total number of items across all pages
    - `totalPages` integer, required — Total number of pages

## Other responses

- `400` — Invalid request parameters
- `401` — Authentication required
- `403` — Forbidden - insufficient permissions
- `422` — Unprocessable entity - validation error
- `500` — Internal server error
- `503` — Service unavailable - upstream dependency error

---

[API](https://skmtc.net/usemultiplier/apis/multiplier-public-rest-api.md) · [All operations](https://skmtc.net/usemultiplier/apis/multiplier-public-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/usemultiplier/multiplier-public-rest-api/revisions/59cd6443fdbf/schema)
