Skip to main content
PATCH
/
projects
/
{id}
/
time-entries
/
{entryId}
Update a time entry
curl --request PATCH \
  --url https://api.corebill.io/v1/projects/{id}/time-entries/{entryId} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "entry_date": "2023-12-25",
  "duration_minutes": 2,
  "hourly_rate": 1,
  "task_id": "<string>",
  "description": "<string>",
  "is_billable": true,
  "internal_cost_rate": 123,
  "metadata": {}
}
'
{
  "data": {
    "id": "tme_a1b2c3d4e5f6",
    "project_id": "pro_a1b2c3d4e5f6",
    "task_id": "tsk_a1b2c3d4e5f6",
    "user_id": "usr_abc123",
    "company_id": "com_a1b2c3d4e5f6",
    "start_time": "2025-04-10T09:00:00Z",
    "end_time": "2025-04-10T17:00:00Z",
    "duration_minutes": 480,
    "is_running": false,
    "description": "Implemented responsive navigation",
    "is_billable": true,
    "hourly_rate": 75,
    "internal_cost_rate": 123,
    "invoiced": false,
    "invoice_id": "<string>",
    "metadata": {},
    "created_at": "2023-11-07T05:31:56Z",
    "updated_at": "2023-11-07T05:31:56Z"
  }
}

Authorizations

Authorization
string
header
required

API key authentication. Generate keys from the Corebill dashboard under the Developers section.

Example: Authorization: Bearer sk_live_abc123def456

Path Parameters

id
string
required

The project ID

entryId
string
required

Time entry ID

Example:

"tme_a1b2c3d4e5f6"

Query Parameters

company_id
string
required

The company ID to scope the request to

Body

application/json

All fields are optional. Cannot update invoiced entries.

entry_date
string<date>
duration_minutes
integer

Duration in minutes (must be > 0)

Required range: x >= 1
hourly_rate
number<double>
Required range: x >= 0
task_id
string
description
string
is_billable
boolean
internal_cost_rate
number<double>
metadata
object

Response

Updated time entry

data
object
required

Time entry object