POST/v1/timesheets/entriesAuth: API token
Create a timesheet entry
Create a time entry against a project task for a user. Entries can be drafted, submitted, or approved depending on your org policy.
Request
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| project_id | string | Yes | Project identifier the entry belongs to. |
| task_id | string | No | Optional task identifier (recommended for reporting). |
| user_id | string | Yes | User identifier who performed the work. |
| started_at | string (ISO 8601) | Yes | Start timestamp in ISO 8601 format. |
| minutes | number | Yes | Duration of the entry in minutes. |
| note | string | No | Optional note shown in timesheets and exports. |
Example JSON request
{
"project_id": "proj_9xk2p",
"task_id": "task_7h1m0",
"user_id": "user_3m8d2",
"started_at": "2026-02-05T09:00:00Z",
"minutes": 90,
"note": "Client kickoff call + action items"
}Response
Example JSON response
{
"id": "tse_2f8a1",
"object": "timesheet_entry",
"project_id": "proj_9xk2p",
"task_id": "task_7h1m0",
"user_id": "user_3m8d2",
"started_at": "2026-02-05T09:00:00Z",
"minutes": 90,
"note": "Client kickoff call + action items",
"status": "draft",
"created_at": "2026-02-05T09:02:14Z"
}Error cases
400Validation error (missing/invalid fields)
401Missing or invalid API token
403Token does not have required scope
404Project/task/user not found
429Rate limit exceeded
Tip: error responses include a stable
code and a human-readable message.Try it
UI-only panel (no network calls)
Base URL
Token
Request body