---
title: "Search Timesheet"
method: POST
path: "/resource/Timesheet/QUERY"
tags: ["Timesheet"]
---

# Search Timesheet

`POST /resource/Timesheet/QUERY`

## Request

- Base URL: `https://your-subdomain.deputy.deputy.com/api/v1`
- URL: `https://your-subdomain.deputy.deputy.com/api/v1/resource/Timesheet/QUERY`
- Auth: one of:
  - HTTP bearer
  - OAuth 2
    - Authorization code: `https://once.deputy.com/my/oauth/login`
    - Token URL: `https://once.deputy.com/my/oauth/access_token`

Flexible search endpoint. Body supports `search`, `sort`, `start`, `max`, and `join` clauses. Example: `{"search": {"s1": {"field": "Id", "data": 1, "type": "eq"}}}`.

## Request body

- QueryRequest: V1 Resource search payload. All fields optional; an empty body returns the first page of results.
  - `search` object: Map of search clauses keyed by an arbitrary id (e.g. `s1`, `s2`). Each clause filters one field.
  - `sort` object: Map of field name → `asc` or `desc`.
  - `start` integer: Pagination offset (0-indexed).
  - `max` integer: Max records per page (server caps at 500).
  - `join` string[]: Related ORMs to expand inline (e.g. `["EmployeeObject"]`).

## Response `200`

Success

- Timesheet[]
  - `Id` integer, required
  - `Employee` integer, required
  - `EmployeeHistory` integer
  - `EmployeeAgreement` integer
  - `Date` string, date-time
  - `StartTime` integer, required
  - `EndTime` integer
  - `Mealbreak` string, date-time, required
  - `MealbreakSlots` string
  - `Slots` string
  - `TotalTime` number, double, required
  - `TotalTimeInv` number, double, required
  - `Cost` number, double
  - `Roster` integer
  - `EmployeeComment` string
  - `SupervisorComment` string
  - `Supervisor` integer
  - `Disputed` boolean, required
  - `TimeApproved` boolean, required
  - `TimeApprover` integer
  - `Discarded` boolean
  - `ValidationFlag` integer, required
  - `OperationalUnit` integer
  - `IsInProgress` boolean
  - `IsLeave` boolean
  - `LeaveId` integer
  - `LeaveRule` integer
  - `Invoiced` boolean, required
  - `InvoiceComment` string
  - `PayRuleApproved` boolean, required
  - `Exported` boolean
  - `StagingId` integer
  - `PayStaged` boolean, required
  - `PaycycleId` integer, required
  - `AccrualState` integer
  - `AccrualStateChangedAt` string, date-time
  - `AccrualAttempts` integer
  - `MarkedPaidUnpaidAt` string, date-time
  - `File` integer
  - `CustomFieldData` integer
  - `RealTime` boolean
  - `AutoProcessed` boolean
  - `AutoRounded` boolean
  - `AutoTimeApproved` boolean
  - `AutoPayRuleApproved` boolean
  - `Metadata` string
  - `ParentId` integer
  - `Creator` integer
  - `Created` string, date-time
  - `Modified` string, required
  - `ReviewState` integer, required
  - `EmployeeObject` object
  - `EmployeeAgreementObject` object
  - `RosterObject` object
  - `SupervisorObject` object
  - `OperationalUnitObject` object
  - `Leave` object
  - `LeaveRuleObject` object
  - `Staging` object
  - `Paycycle` object
  - `CustomFieldDataObject` object
  - `Parent` object
  - `DirtyDeputecPayrateCalculationMetadata` boolean

## Other responses

- `400`: Bad request
- `401`: Authentication required or invalid token
- `403`: Forbidden — token lacks access to this resource
- `404`: Resource not found

---

[API](https://skmtc.dev/deputy/apis/deputy-v1-resource-api.md) - [All operations](https://skmtc.dev/deputy/apis/deputy-v1-resource-api/llms.txt) - [OpenAPI document](https://skmtc.dev/deputy/apis/deputy-v1-resource-api/revisions/5d8e44000786?raw)
