---
title: "Show timesheet"
method: GET
path: "/v1/timesheets/{id}"
tags: ["Timesheets"]
---

# Show timesheet

`GET /v1/timesheets/{id}`

Shows a timesheet by its ID.

## Scopes

| Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|
| Manage timeoffs (`time_and_attendance`) | View timesheets (`timesheet:read`) | Manage timesheets (`timesheet:write`) |

## Path parameters

- `id` string, required

## Response `200`

Success

- TimesheetResponse — Response containing a full timesheet with all hour breakdowns and time tracking entries.
  - `data` object
    - `timesheet` Timesheet, required — A timesheet represents an employee's recorded working hours for a specific date range. It contains aggregated hour totals and individual time tracking entries. Timesheets progress through a lifecycle: open (draft) -> submitted -> approved -> processed, or they may be sent back for revision.
      - `approval_required` boolean, required — Whether this timesheet requires explicit approval before it can be processed. When false, the timesheet may be auto-approved based on the company's configuration.
      - `break_hours` HoursAndMinutes, required — A duration expressed as hours and minutes.
        - `hours` integer — The number of whole hours.
        - `minutes` integer — The number of remaining minutes (0-59).
      - `country_code` string, required — Country code according to ISO 3166-1 3-digit alphabetic codes.
      - `employment_id` string, uuid, required — Identifier of the employment being terminated.
      - `end_date` string, date, required — UTC date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format
      - `holiday_hours` HoursAndMinutes, required — A duration expressed as hours and minutes.
        - `hours` integer — The number of whole hours.
        - `minutes` integer — The number of remaining minutes (0-59).
      - `id` string, uuid, required — Identifier of the employment being terminated.
      - `night_hours` HoursAndMinutes, required — A duration expressed as hours and minutes.
        - `hours` integer — The number of whole hours.
        - `minutes` integer — The number of remaining minutes (0-59).
      - `notes` string, nullable, required — Optional notes added by the employee when submitting the timesheet.
      - `on_call_hours` HoursAndMinutes, required — A duration expressed as hours and minutes.
        - `hours` integer — The number of whole hours.
        - `minutes` integer — The number of remaining minutes (0-59).
      - `overtime_hours` HoursAndMinutes, required — A duration expressed as hours and minutes.
        - `hours` integer — The number of whole hours.
        - `minutes` integer — The number of remaining minutes (0-59).
      - `regular_hours` HoursAndMinutes, required — A duration expressed as hours and minutes.
        - `hours` integer — The number of whole hours.
        - `minutes` integer — The number of remaining minutes (0-59).
      - `start_date` string, date, required — UTC date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format
      - `status` 'open' | 'submitted' | 'approved' | 'in_calibration' | 'processed', required — The current status of a timesheet in its lifecycle. - `open`: The timesheet is a draft and only visible to the employee. It has not been submitted yet. - `submitted`: The employee has submitted the timesheet for review. It is awaiting approval. - `approved`: The timesheet has been approved and will be included in the next payroll run. - `in_calibration`: The timesheet was sent back to the employee for revision. The employee needs to correct and resubmit it. - `processed`: The timesheet has been processed as part of a payroll run. This is a terminal state.
      - `submitted_at` string, datetime, nullable, required — The timestamp when the employee submitted this timesheet for approval. Null if the timesheet has not been submitted yet (status is `open`).
      - `time_trackings` TimeTracking[], required — The individual time tracking entries that make up this timesheet.
        - `clock_in` string, date-time, required — UTC date time in [ISO 8601][] format. [ISO 8601]: https://en.wikipedia.org/wiki/ISO_8601
        - `clock_out` string, date-time, required — UTC date time in [ISO 8601][] format. [ISO 8601]: https://en.wikipedia.org/wiki/ISO_8601
        - `has_holiday_hours` boolean, required — Whether this time tracking entry includes any hours worked on public holidays.
        - `has_night_hours` boolean, required — Whether this time tracking entry includes any hours worked during night hours.
        - `has_weekend_hours` boolean, required — Whether this time tracking entry includes any hours worked on weekends.
        - `holiday_hours` HoursAndMinutes, required — A duration expressed as hours and minutes.
          - `hours` integer — The number of whole hours.
          - `minutes` integer — The number of remaining minutes (0-59).
        - `night_hours` HoursAndMinutes, required — A duration expressed as hours and minutes.
          - `hours` integer — The number of whole hours.
          - `minutes` integer — The number of remaining minutes (0-59).
        - `notes` string, nullable, required — Optional free-text notes about this time tracking entry, such as project or task details.
        - `time_breakdown` TimeBreakdown, required — Detailed hours breakdown for a time tracking entry, split by time of day (day vs night) and then by type of day (regular, weekend, holiday). Useful for calculating overtime, night shift premiums, and holiday pay.
          - `day` TypeOfDayBreakdown, required — Hours breakdown by type of day (regular working day, weekend, or public holiday) for a specific time of day (day or night).
            - `holiday` HoursAndMinutes, required — A duration expressed as hours and minutes.
              - …
            - `regular` HoursAndMinutes, required — A duration expressed as hours and minutes.
              - …
            - `weekend` HoursAndMinutes, required — A duration expressed as hours and minutes.
              - …
          - `night` TypeOfDayBreakdown, required — Hours breakdown by type of day (regular working day, weekend, or public holiday) for a specific time of day (day or night).
            - `holiday` HoursAndMinutes, required — A duration expressed as hours and minutes.
              - …
            - `regular` HoursAndMinutes, required — A duration expressed as hours and minutes.
              - …
            - `weekend` HoursAndMinutes, required — A duration expressed as hours and minutes.
              - …
        - `timezone` string, required — [TZ identifier](https://www.iana.org/time-zones)
        - `total_hours` HoursAndMinutes, required — A duration expressed as hours and minutes.
          - `hours` integer — The number of whole hours.
          - `minutes` integer — The number of remaining minutes (0-59).
        - `type` 'regular_hours' | 'overtime' | 'on_call' | 'break' | 'unpaid_break' | 'time_off' | 'public_holiday', required — The category of time being tracked (e.g., regular hours, overtime, on-call, break time).
        - `weekend_hours` HoursAndMinutes, required — A duration expressed as hours and minutes.
          - `hours` integer — The number of whole hours.
          - `minutes` integer — The number of remaining minutes (0-59).
      - `timeoff_hours` HoursAndMinutes — A duration expressed as hours and minutes.
        - `hours` integer — The number of whole hours.
        - `minutes` integer — The number of remaining minutes (0-59).
      - `total_hours` HoursAndMinutes, required — A duration expressed as hours and minutes.
        - `hours` integer — The number of whole hours.
        - `minutes` integer — The number of remaining minutes (0-59).
      - `unpaid_break_hours` HoursAndMinutes, required — A duration expressed as hours and minutes.
        - `hours` integer — The number of whole hours.
        - `minutes` integer — The number of remaining minutes (0-59).
      - `weekend_hours` HoursAndMinutes, required — A duration expressed as hours and minutes.
        - `hours` integer — The number of whole hours.
        - `minutes` integer — The number of remaining minutes (0-59).

## Other responses

- `401` — Unauthorized
- `404` — Not Found
- `422` — Unprocessable Entity

---

[API](https://skmtc.net/remote-com/apis/remote.md) · [All operations](https://skmtc.net/remote-com/apis/remote/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/remote-com/remote/revisions/7e6a0c61ac82/schema)
