---
title: "Update Time Off Request Status"
method: PUT
path: "/api/v1/time_off/requests/{requestId}/status"
tags: ["Time Off", "Public API"]
---

# Update Time Off Request Status

`PUT /api/v1/time_off/requests/{requestId}/status`

Updates the status of an existing time off request. Valid statuses are `approved`, `denied` (or `declined`), and `canceled`. Owner/admins can approve out of turn by completing all workflow steps at once; other approvers complete only their current step.

OAuth Scopes: time_off.write

## Path parameters

- `requestId` string, required

## Request body

- Request
  - `status` 'approved' | 'denied' | 'declined' | 'canceled' | 'cancelled', required — The new status for the time off request.
  - `note` string — A note to attach to the change in status.

## Response `200`

The status has been updated successfully. The response body is an empty JSON object (`{}`) with `Content-Type: application/json`.

- object

## Other responses

- `400` — If the posted XML is invalid or the status is not "approved", "denied", "canceled", or "declined".
- `401` — Unauthorized. Invalid API credentials.
- `403` — If the current user doesn\'t have access to change the status in this way.
- `404` — If the time off request ID doesn\'t exist.

---

[API](https://skmtc.net/bamboohr/apis/bamboohr-api.md) · [All operations](https://skmtc.net/bamboohr/apis/bamboohr-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bamboohr/bamboohr-api/versions/19ebf391a399/schema)
