---
title: "Approve Time for Roster Sync"
method: POST
path: "/tsa/v2/timesheets/{id}:approve-time-roster-sync"
tags: ["Timesheet Approval"]
---

# Approve Time for Roster Sync

`POST /tsa/v2/timesheets/{id}:approve-time-roster-sync`

## Request

- Base URL: `https://your-subdomain.deputy.deputy.com/api`
- URL: `https://your-subdomain.deputy.deputy.com/api/tsa/v2/timesheets/{id}:approve-time-roster-sync`
- Auth: API key in header `OAuth`

Time-approve a Roster (sync).

## Path parameters

- `id` integer, required

## Request body

- TsaRosterTimeApproveRequestBody
  - `setProperties` TsaTimesheetPropertyRequest
    - `startTime` string, int64: unix epoch timestamp, seconds
    - `endTime` string, int64: unix epoch timestamp, seconds
    - `operationalUnitId` integer: operational unit (area) ID
    - `setBreaks` TsaTimesheetBreaksRequest
      - `breaks` ModelTimesheetBreak[]: passing an empty array here will delete all breaks for the timesheet.
        - `duration` integer
        - `startTimeOffset` integer
        - `breakType` 'NO_TYPE' | 'MEAL_BREAK' | 'REST_BREAK'
      - `totalDurationMealBreak` integer: total duration of meal break in minutes
    - `employeeId` integer
    - `leaveRuleId` integer: leave rule (leave type) ID
    - `employeeComment` string: employee comment for the timesheet
  - `setAnswers` TsaTimesheetQuestionSubmitAnswersRequest
    - `answers` TsaTimesheetQuestionAnswerSubmission[]: omitted answers will be assumed null.
      - `name` string
      - `employeeAnswer` string
  - `setChildTimesheets` TsaTimesheetChildrenRequest
    - `childTimesheets` TsaChildTimesheetRequest[]
      - `operationalUnitId` integer
      - `startTime` string, int64
      - `endTime` string, int64

## Response `200`

A successful response.

- TsaSynchronousResponse
  - `success` boolean
  - `processedTimesheet` Tenanttsav2modelTimesheet
    - `id` integer
    - `employeeId` integer
    - `startTime` string, int64
    - `endTime` string, int64
    - `operationalUnitId` integer
    - `breaks` ModelTimesheetBreak[]
      - `duration` integer
      - `startTimeOffset` integer
      - `breakType` 'NO_TYPE' | 'MEAL_BREAK' | 'REST_BREAK'
    - `employeeComment` string
    - `discarded` boolean
    - `timeApproved` boolean
    - `payRuleApproved` boolean
    - `rosterId` integer
    - `issueFlags` ModelIssueFlag[]
    - `progress` 'PROGRESS_UNSPECIFIED' | 'PROGRESS_UPCOMING' | 'PROGRESS_LATE' | 'PROGRESS_ABSENT' | 'PROGRESS_ON_SHIFT' | 'PROGRESS_NO_ISSUES' | 'PROGRESS_ISSUES' | 'PROGRESS_TIME_APPROVED' | 'PROGRESS_APPROVED' | 'PROGRESS_AUTO_APPROVED' | 'PROGRESS_EXPORTED' | 'PROGRESS_PAID' | 'PROGRESS_DISCARDED'
    - `payReturns` Tenanttsav2modelPayReturn[]
      - `payRuleId` integer
      - `hours` number, float
      - `cost` number, float
  - `otherAffectedTimesheets` Tenanttsav2modelTimesheet[]
    - `id` integer
    - `employeeId` integer
    - `startTime` string, int64
    - `endTime` string, int64
    - `operationalUnitId` integer
    - `breaks` ModelTimesheetBreak[]
      - `duration` integer
      - `startTimeOffset` integer
      - `breakType` 'NO_TYPE' | 'MEAL_BREAK' | 'REST_BREAK'
    - `employeeComment` string
    - `discarded` boolean
    - `timeApproved` boolean
    - `payRuleApproved` boolean
    - `rosterId` integer
    - `issueFlags` ModelIssueFlag[]
    - `progress` 'PROGRESS_UNSPECIFIED' | 'PROGRESS_UPCOMING' | 'PROGRESS_LATE' | 'PROGRESS_ABSENT' | 'PROGRESS_ON_SHIFT' | 'PROGRESS_NO_ISSUES' | 'PROGRESS_ISSUES' | 'PROGRESS_TIME_APPROVED' | 'PROGRESS_APPROVED' | 'PROGRESS_AUTO_APPROVED' | 'PROGRESS_EXPORTED' | 'PROGRESS_PAID' | 'PROGRESS_DISCARDED'
    - `payReturns` Tenanttsav2modelPayReturn[]
      - `payRuleId` integer
      - `hours` number, float
      - `cost` number, float

---

[API](https://skmtc.dev/deputy/apis/deputy-v2-api.md) - [All operations](https://skmtc.dev/deputy/apis/deputy-v2-api/llms.txt) - [OpenAPI document](https://skmtc.dev/deputy/apis/deputy-v2-api/revisions/78f0278f4608?raw)
