---
title: "Update a timesheet setup"
method: POST
path: "/workspaces/{workspace_id}/timesheet_setups/{setup_id}"
tags: ["approvals", "workspaces"]
---

# Update a timesheet setup

`POST /workspaces/{workspace_id}/timesheet_setups/{setup_id}`

## Request

- Base URL: `https://localhost:8080/api/v9`
- URL: `https://localhost:8080/api/v9/workspaces/{workspace_id}/timesheet_setups/{setup_id}`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/toggl/apis/toggl-api/docs/workspaces/:workspace_id/timesheet_setups/:setup_id/post.ts> (a function with typed inputs; its response is checked against the schema)

Updates a timesheet setups.

## Path parameters

- `workspace_id` integer, required
- `setup_id` integer, required

## Request body

- TimesheetsetupsUpdatePayload
  - `approver_id` integer
  - `end_date` string
  - `reminder_day` string
  - `reminder_time` string

## Response `200`

Successful operation

- TimesheetsetupsAPITimesheetSetup
  - `approver_id` integer
  - `approver_name` string
  - `end_date` string
  - `errors` ModelsTimesheetSetupError[]
    - `code` string
    - `message` string
  - `id` integer
  - `member_id` integer
  - `member_name` string
  - `periodicity` string
  - `reminder_day` string
  - `reminder_time` string
  - `start_date` string
  - `workspace_id` integer

## Other responses

- `400`: Possible error messages: * Workspace not found * Invalid user ID * Invalid date * User is not an admin in the workspace * End date must respect periodicity * Member already has a timesheet setup
- `402`: Approvals are a premium feature
- `403`: User does not have access to this resource
- `404`: Timesheet setup was not found
- `500`: Internal Server Error

---

[API](https://skmtc.dev/toggl/apis/toggl-api.md) - [All operations](https://skmtc.dev/toggl/apis/toggl-api/llms.txt) - [OpenAPI document](https://skmtc.dev/toggl/apis/toggl-api/revisions/3085aee16990?raw)
