---
title: "Update Daily TimeSheet"
method: PUT
path: "/v1/timesheets/daily"
tags: ["Timesheets"]
---

# Update Daily TimeSheet

`PUT /v1/timesheets/daily`

Creates or updates a daily timesheet entry for a specific placement and day. Supports daily hours and mobile punch time capture methods with multiple breaks per day.

## Headers

- `RequestId` string, uuid — The unique request identifier used to correlate request data with log entries and events, formatted as a UUID.
- `FrontOfficeTenantId` integer
- `Tenant` string

## Request body

- DailyTimeSheetDto — Represents a daily timesheet entry for single-day timesheet find-or-create operations. Supports daily hours and mobile punch time capture methods with multiple breaks per day.
  - `dayWorked` string, date-time, required — The date for the time entry. This should be just a date stamp. No time should be included.
  - `timeIn` string — The start time of the day. Format: 12-hour format (e.g., "9:00 AM"). Optional for "Saved" status, required for "Submitted" and "Approved" statuses.
  - `timeOut` string — The end time of the day. Format: 12-hour format (e.g., "5:00 PM"). Optional for "Saved" status, required for "Submitted" and "Approved" statuses. Supports overnight shifts where TimeOut appears earlier than TimeIn.
  - `breaks` DailyBreakDto[] — List of breaks for the day. Supports 0 to many breaks per day. Each break must have both BreakStart and BreakEnd times or both empty. Break times must fall within the work shift period.
    - `breakStart` string — The break start time. Format: 12-hour format (e.g., "12:00 PM"). Must be provided if BreakEnd is provided (both required or both empty). Must fall within the work shift period.
    - `breakEnd` string — The break end time. Format: 12-hour format (e.g., "1:00 PM"). Must be provided if BreakStart is provided (both required or both empty). Must be after BreakStart time and within the work shift period.
  - `placementId` integer, required — The identifier for the placement. It allows the timesheet to be correlated with the talent to whom the time belongs.
  - `status` string, required — The status of the timesheet. Accepted Values are: Saved, Submitted and Approved. - "Saved": Allows partial time entry (flexible validation) - "Submitted": Requires all times to be present and valid - "Approved": Requires all times to be present and valid
  - `useRounding` boolean — Whether to round time values to the configured timesheet minute spread. - false: Validates that time values match the configured timesheet minute spread exactly - true: Automatically rounds time values to the nearest configured minute spread

## Response `200`

The daily timesheet entry that was successfully created or updated.

- DailyTimeSheetResponseDto — Enhanced response model for daily timesheet operations. Provides detailed validation feedback, warnings, and auto-corrections.
  - `success` boolean — Indicates if the operation was successful.
  - `statusCode` 'Success' | 'BadRequest' | 'NotFound' | 'Unauthorized' | 'Forbidden' | 'Conflict' | 'InternalServerError' | 'FeatureNotAvailable' — Status codes for service operation results.
  - `data` TimesheetDataDto — Represents the timesheet data structure in the response following BOLD MyCompas patterns.
    - `week_ID` integer — The weekly timesheet identifier.
    - `cand_ID` integer — The candidate/talent identifier.
    - `req_hired_ID` integer — The placement identifier.
    - `req_ID` string — The job requisition identifier.
    - `weekStart` string, date-time — The week start date.
    - `weekEnd` string, date-time — The week ending date.
    - `mon` number — Monday hours worked.
    - `tues` number — Tuesday hours worked.
    - `wed` number — Wednesday hours worked.
    - `thurs` number — Thursday hours worked.
    - `fri` number — Friday hours worked.
    - `sat` number — Saturday hours worked.
    - `sun` number — Sunday hours worked.
    - `weekTotal` number — Total weekly hours.
    - `timesheetFormat` string — Time capture format (DAILY_TIME or MOBILE_PUNCH).
    - `mondayBreaks` BreakDto[]
      - `breakStart` string — The break start time.
      - `breakEnd` string — The break end time.
    - `tuesdayBreaks` BreakDto[]
      - `breakStart` string — The break start time.
      - `breakEnd` string — The break end time.
    - `wednesdayBreaks` BreakDto[]
      - `breakStart` string — The break start time.
      - `breakEnd` string — The break end time.
    - `thursdayBreaks` BreakDto[]
      - `breakStart` string — The break start time.
      - `breakEnd` string — The break end time.
    - `fridayBreaks` BreakDto[]
      - `breakStart` string — The break start time.
      - `breakEnd` string — The break end time.
    - `saturdayBreaks` BreakDto[]
      - `breakStart` string — The break start time.
      - `breakEnd` string — The break end time.
    - `sundayBreaks` BreakDto[]
      - `breakStart` string — The break start time.
      - `breakEnd` string — The break end time.
    - `mondayPunchIn` string
    - `mondayPunchOut` string
    - `tuesdayPunchIn` string
    - `tuesdayPunchOut` string
    - `wednesdayPunchIn` string
    - `wednesdayPunchOut` string
    - `thursdayPunchIn` string
    - `thursdayPunchOut` string
    - `fridayPunchIn` string
    - `fridayPunchOut` string
    - `saturdayPunchIn` string
    - `saturdayPunchOut` string
    - `sundayPunchIn` string
    - `sundayPunchOut` string
    - `submitted` boolean — Indicates if the timesheet has been submitted.
    - `approved` boolean — Indicates if the timesheet has been approved.
  - `error` string — Primary error message (present on failures).
  - `messages` string[] — Array of informational messages about the operation.
  - `warnings` string[] — Array of non-blocking warning messages for potential issues.
  - `validationErrors` ValidationErrorDto[] — Detailed validation error information with field-level context.
    - `field` string — The field that failed validation.
    - `message` string — The validation error message.
    - `value` object — The value that failed validation.
    - `day` string — The day of week for date-specific errors.
    - `severity` string — The severity level of the validation error (Error, Warning, Info).
    - `details` object — Additional details about the validation error.
  - `corrections` string[] — Auto-corrections made by the system (e.g., time format corrections).
  - `requestId` string — Unique request identifier for error tracking and debugging.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Access Denied
- `404` — Not found
- `405` — Unsupported method
- `406` — Unsupported format(s) indicated by Accept header
- `409` — Operation could not be completed due to conflict.
- `415` — Unsupported format(s) indicated by the Content-Type header
- `429` — Too many requests
- `500` — An unexpected error occurred
- `502` — Service Unavailable
- `504` — Gateway Timeout

---

[API](https://skmtc.net/avionte/apis/aviont-partner-authorization-api.md) · [All operations](https://skmtc.net/avionte/apis/aviont-partner-authorization-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/avionte/aviont-partner-authorization-api/revisions/846b33e4e71b/schema)
