---
title: "Update a time entry"
method: PUT
path: "/time_entries/{id}"
tags: ["Time Entries"]
---

# Update a time entry

`PUT /time_entries/{id}`

Updates an existing time entry

## Path parameters

- `id` integer, required

## Request body

- object
  - `project_id` integer
  - `task_id` integer
  - `date` string, date
  - `quantity` number
  - `description` string
  - `billed_status` 'unbilled' | 'billed' | 'fixed' | 'non-billable'

## Response `200`

Time entry updated

- TimeEntry — Time entry resource
  - `id` integer
  - `team_id` integer
  - `project_id` integer, nullable
  - `task_id` integer, nullable
  - `profile_id` integer, nullable
  - `user_id` integer, nullable
  - `quantity` number — Hours logged
  - `description` string, nullable
  - `billed_status` 'unbilled' | 'billed' | 'fixed' | 'non-billable'
  - `date` string, date
  - `timer_status` 'stopped' | 'running'
  - `seconds` integer
  - `seconds_running` integer
  - `hours` number
  - `value` number
  - `cost` number
  - `yield` number

## Other responses

- `401` — Unauthenticated
- `403` — Forbidden
- `404` — Not found

---

[API](https://skmtc.net/harpoonapp/apis/harpoon-api-documentation.md) · [All operations](https://skmtc.net/harpoonapp/apis/harpoon-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/harpoonapp/harpoon-api-documentation/revisions/e8fd192f94c6/schema)
