---
title: "Create new time-entries"
method: POST
path: "/api/v3/timeentries"
tags: ["TimeEntries"]
---

# Create new time-entries

`POST /api/v3/timeentries`

Create one or multiple time-entries. 

A single request can create time-entries for several different owners.

Read more about the [time-entry object](/api-reference/legacy/timmi-timesheet/time-entries/time-entry) and any validation error that you might encounter when using this API.

There are different ways to update time-entries. Please see [this guide](/api-reference/legacy/timmi-timesheet/guides/update-time-entries) on how to update `time-entries` the right way depending on your use case.

## Request body

- union
  - object
    - `ownerId` integer, required — Reference to the time-entry owner.
    - `startsAt` string, date-time, required — The timeEntry start date and time. Please do NOT send any offset/timezone information ("Z", "+01:00", etc...).
    - `duration` string, timespan, required — Duration of the time-entry in the "c" format of a C# timespan In other words : d.hh:mm:ss. Max: "1.00:00:00" (ie 24 hours).
    - `unit` integer, required — Unit in which the time-entry has been entered. - 0: Days (eg "1/2 day") - 1: Hours (eg "8h15min") - 2: Time (eg "23:45:00")
    - `creationSource` integer — Attribute used to identify last modification source : - 0: Automatic fallback on theoretical time-entries from workcycles. - 1: Entered with Lucca Timesheet quick-fill tools. - 2: Manually created or edited (default). - 3: Imported from external sources. Can be read-only for the user depending on Timesheet configuration. - 4: Entered with Lucca Timesheet clock-in clock-out tool.
    - `axisSections` AxisSection[], nullable — Represent the activities that time-entry should be associated with. When not in activity mode, send an empty array, or do not serialize this property.
      - `id` integer
      - `code` string
      - `name` string
      - `multilingualName` string
      - `description` string
      - `ownerId` integer
      - `startOn` string, date-time
      - `endOn` string, date-time
      - `active` boolean
      - `axisId` integer
      - `parentAxisSections` object[]
      - `childrenAxisSections` object[]
    - `comment` object, nullable — A comment to add additional information about the given time-entry. It will be visible on Lucca Timesheet user interface.
      - `content` string
    - `timeTypeId` integer, nullable — Optional reference of a configured Time Type. To use only if the timesheet is set up to use Time Types. Null otherwise.
  - object[]
    - `ownerId` integer, required — Reference to the time-entry owner.
    - `startsAt` string, date-time, required — The timeEntry start date and time. Please do NOT send any offset/timezone information ("Z", "+01:00", etc...).
    - `duration` string, timespan, required — Duration of the time-entry in the "c" format of a C# timespan In other words : d.hh:mm:ss. Max: "1.00:00:00" (ie 24 hours).
    - `unit` integer, required — Unit in which the time-entry has been entered. - 0: Days (eg "1/2 day") - 1: Hours (eg "8h15min") - 2: Time (eg "23:45:00")
    - `creationSource` integer — Attribute used to identify last modification source : - 0: Automatic fallback on theoretical time-entries from workcycles. - 1: Entered with Lucca Timesheet quick-fill tools. - 2: Manually created or edited (default). - 3: Imported from external sources. Can be read-only for the user depending on Timesheet configuration. - 4: Entered with Lucca Timesheet clock-in clock-out tool.
    - `axisSections` AxisSection[], nullable — Represent the activities that time-entry should be associated with. When not in activity mode, send an empty array, or do not serialize this property.
      - `id` integer
      - `code` string
      - `name` string
      - `multilingualName` string
      - `description` string
      - `ownerId` integer
      - `startOn` string, date-time
      - `endOn` string, date-time
      - `active` boolean
      - `axisId` integer
      - `parentAxisSections` object[]
      - `childrenAxisSections` object[]
    - `comment` object, nullable — A comment to add additional information about the given time-entry. It will be visible on Lucca Timesheet user interface.
      - `content` string
    - `timeTypeId` integer, nullable — Optional reference of a configured Time Type. To use only if the timesheet is set up to use Time Types. Null otherwise.

## Response `200`

OK

- object
  - `data` union
    - TimeEntry — time-entries are the working time sequences spent by a user on any given day. time-entries come in different **units** and **submission modes** that should match the timesheet configuration of a given owner on a given day. ## About units & duration Lucca Timesheet supports up to 3 different units when it comes to entering time-entries. These are: - `0: Days` In this case, the user does not enter the exact hours he/she started working, but rather the total duration spent as a fraction of a day. For example: "John worked half a day on Monday". - `1: Hours` In this case, the user still does not enter the exact hours, but only the duration spent in hours. For example: "John worked 7h30min yesterday". - `2: Time` In this unit, the user has to enter the actual time he/she started working, as well as the end time. For example: "John started working at 08:00 for 3 hours, thus ending at 11:00".
    - object
      - `items` TimeEntry[]

## Other responses

- `201` — Created
- `400` — Problem
- `401` — Problem
- `403` — Problem
- `404` — Problem
- `500` — Problem

---

[API](https://skmtc.net/luccasoftware/apis/lucca-expenses.md) · [All operations](https://skmtc.net/luccasoftware/apis/lucca-expenses/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/luccasoftware/lucca-expenses/revisions/110f9897756c/schema)
