---
title: "Update manual time request status"
method: PUT
path: "/v2/manual_time_requests/{manual_time_request_id}/status"
tags: ["manual_time_requests"]
---

# Update manual time request status

`PUT /v2/manual_time_requests/{manual_time_request_id}/status`

## Request

- Base URL: `https://api.hubstaff.com`
- URL: `https://api.hubstaff.com/v2/manual_time_requests/{manual_time_request_id}/status`
- Auth: OAuth 2
  - Authorization code: `https://account.hubstaff.com/authorizations/new`
  - Token URL: `https://account.hubstaff.com/access_tokens` scopes: `hubstaff:read`, `hubstaff:write`
- TypeScript: <https://skmtc.dev/hubstaff/apis/hubstaff-v2-api/docs/v2/manual_time_requests/:manual_time_request_id/status/put.ts> (a function with typed inputs; its response is checked against the schema)

Approves or denies a submitted manual time request.

## Path parameters

- `manual_time_request_id` integer, required

## Request body

- PutV2ManualTimeRequestsManualTimeRequestIdStatus: Update manual time request status
  - `status` 'approved' | 'denied', required: New status for the request: approved or denied.
  - `denial_reason` string: Required when status is denied. Reason recorded on the request.
  - `accept_collisions` boolean: Confirm approval when the request overlaps existing time the approver is authorized to override. Covers ordinary tracked-time collisions and associated data within role permissions: unprocessed paid time, client invoices, user invoices, timesheets, and integration-synced time. May remove time from unprocessed payments and leave invoices or integrations out of sync.
  - `allow_above_project_budget` boolean: Allow approval when the created activity would exceed the project budget only.
  - `discard_exceeding_hours` boolean: Approve only time within member limits. Cannot be combined with increase_limit.
  - `increase_limit` boolean: Automatically increase exceeded daily and weekly member limits. Organization owners and managers only.

## Response `200`

OK

- object
  - `manual_time_request` ManualTimeRequest: ManualTimeRequest model
    - `id` integer, required: Manual time request ID
    - `member_id` integer, required: Member (user) ID who submitted the request
    - `project_id` integer, required: Project ID
    - `task_id` integer: Task ID if associated with a task
    - `start_time` string, date-time, required: Start time of the manual time entry
    - `stop_time` string, date-time, required: Stop time of the manual time entry
    - `submitted_at` string, date-time, required: When the request was submitted
    - `approved_at` string, date-time: When the request was approved
    - `denied_at` string, date-time: When the request was denied
    - `duration_seconds` integer, required: Duration in seconds
    - `notes` string: Notes for the time entry
    - `status` string, required: Status: submitted, approved, or denied
    - `reviewer_id` integer: ID of user who approved or denied (approved_by when approved, denied_by when denied)
    - `denial_reason` string: Reason for denial (only present when status is denied)
    - `organization_id` integer, required: Organization ID
    - `date` string, date, required: Calendar date (org tz) from start_time. The list date[] filter is overlap on starts/stops (in_range).
    - `billable` boolean, required: Whether the time is billable
    - `reason_to_submit` string, required: Reason the manual time was submitted
    - `submitted_by_id` integer, required: User ID who submitted the request
    - `approved_by_id` integer: User ID who approved the request
    - `denied_by_id` integer: User ID who denied the request
    - `attachment_original_filename` string: Original filename of attachment if present
    - `created_at` string, date-time, required: When the record was created
    - `updated_at` string, date-time, required: When the record was last updated

## Other responses

- `400`: Invalid parameters
- `401`: Unauthorized
- `403`: API access is only for organizations on an active plan
- `404`: Could not find record
- `429`: Rate limit exceeded

---

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