---
title: "Update a time entry"
method: PATCH
path: "/time-entries/{id}"
tags: ["Time entries"]
---

# Update a time entry

`PATCH /time-entries/{id}`

## Request

- Base URL: `https://api.teamo360.com/api/v1`
- URL: `https://api.teamo360.com/api/v1/time-entries/{id}`
- Auth: HTTP bearer

Owner or admin. Send any of startedAt, durationMinutes, description, isBillable, or a new link (the deepest of recordId / activityId / activityDetailId; the server fills the parents, so a detail on another record moves the entry there; recordId null unlinks). Admin principals may send userId to move the entry to another member. An admin editing another member's entry is audited and the owner is notified. A running timer's start, duration and owner cannot be edited.

Requires the `data:write` token scope.

## Path parameters

- `id` string, required

## Request body

- object

## Response `200`

Success

## Other responses

- `400`: Malformed parameters or body
- `401`: Missing, invalid, expired, or legacy token
- `403`: Blocked by role, token scope, module grant, or org policy
- `404`: Entity missing or outside the principal’s access
- `429`: Rate limit exceeded - see Retry-After

---

[API](https://skmtc.dev/teamo360/apis/teamo-public-api.md) · [All operations](https://skmtc.dev/teamo360/apis/teamo-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/teamo360/apis/teamo-public-api/revisions/32528ecbc4f4?raw)
