---
title: "POST /v2/entries"
method: POST
path: "/v2/entries"
tags: ["Entry"]
---

# POST /v2/entries

`POST /v2/entries`

## Request body

- union
  - object
    - `time_since` string, date-time, required
    - `time_until` string, date-time, required
    - `customers_id` integer, required
    - `billable` 0 | 1, required — Possible values: - `0`: NotBillable - `1`: Billable
    - `projects_id` integer, nullable
    - `subprojects_id` integer, nullable
    - `services_id` integer, required
    - `users_id` integer, nullable
    - `clocked_offline` boolean
    - `duration` integer
    - `hourly_rate` number, float
    - `text` string, nullable
    - `time_clocked_since` string
  - object
    - `time_since` string, date-time, required
    - `customers_id` integer, required
    - `billable` 0 | 1, required — Possible values: - `0`: NotBillable - `1`: Billable
    - `projects_id` integer, nullable
    - `subprojects_id` integer, nullable
    - `services_id` integer, required
    - `users_id` integer, nullable
    - `clocked_offline` boolean
    - `duration` integer
    - `lumpsum` number, float, required
    - `hourly_rate` number, float
    - `text` string, nullable
    - `time_clocked_since` string
  - object
    - `time_since` string, date-time, required
    - `customers_id` integer, required
    - `billable` 0 | 1, required — Possible values: - `0`: NotBillable - `1`: Billable
    - `projects_id` integer, nullable
    - `subprojects_id` integer, nullable
    - `lumpsum_services_id` integer, required
    - `users_id` integer, nullable
    - `clocked_offline` boolean
    - `duration` integer
    - `hourly_rate` number, float
    - `lumpsum_services_amount` number, float, required
    - `text` string, nullable
    - `time_clocked_since` string

## Response `200`

Successful operation

- object
  - `entry` union, required
    - EntryV2Time — unresolved $ref
    - EntryV2LumpsumValue
      - `id` integer, required
      - `customers_id` integer, required
      - `projects_id` integer, nullable, required
      - `subprojects_id` integer, nullable, required
      - `users_id` integer, required
      - `billable` -1 | 1 | 2, required — Possible values: - `-1`: NotAvailable - `1`: Billable - `2`: Billed
      - `texts_id` integer, nullable, required
      - `text` string, nullable, required — Only if enhanced_list=true
      - `time_since` string, date-time, required
      - `time_until` string, date-time, nullable, required
      - `time_insert` string, date-time, required
      - `time_last_change` string, date-time, required
      - `test_data` boolean, required
      - `customers_name` string — Only if enhanced_list=true
      - `projects_name` string, nullable — Only if enhanced_list=true
      - `subprojects_name` string, nullable — Only if enhanced_list=true
      - `users_name` string — Only if enhanced_list=true
      - `revenue` number — Only with necessary access rights and if enhanced_list=true
      - `type` 1 | 2 | 3, required — Possible values: - `1`: Time - `2`: LumpsumValue - `3`: LumpsumService
      - `services_id` integer, required
      - `lumpsum` number, required
      - `services_name` string — Only if enhanced_list=true
    - EntryV2LumpsumService
      - `id` integer, required
      - `customers_id` integer, required
      - `projects_id` integer, nullable, required
      - `subprojects_id` integer, nullable, required
      - `users_id` integer, required
      - `billable` -1 | 1 | 2, required — Possible values: - `-1`: NotAvailable - `1`: Billable - `2`: Billed
      - `texts_id` integer, nullable, required
      - `text` string, nullable, required — Only if enhanced_list=true
      - `time_since` string, date-time, required
      - `time_until` string, date-time, nullable, required
      - `time_insert` string, date-time, required
      - `time_last_change` string, date-time, required
      - `test_data` boolean, required
      - `customers_name` string — Only if enhanced_list=true
      - `projects_name` string, nullable — Only if enhanced_list=true
      - `subprojects_name` string, nullable — Only if enhanced_list=true
      - `users_name` string — Only if enhanced_list=true
      - `revenue` number — Only with necessary access rights and if enhanced_list=true
      - `type` 1 | 2 | 3, required — Possible values: - `1`: Time - `2`: LumpsumValue - `3`: LumpsumService
      - `services_name` string — Only if enhanced_list=true
      - `lumpsum_services_id` integer, required
      - `lumpsum_services_amount` number, required
      - `lumpsum_services_price` number — Only if enhanced_list=true

## Other responses

- `400` — An error occurred
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict

## Changes

- **2026-07-31** `0f27ed36400c` — 1 breaking, 16 warning, 4 info
  - the request's body type/format changed from `object`/`` to ``/``
  - removed the request property `billable`
  - removed the request property `clocked_offline`
  - removed the request property `customers_id`
  - …17 more

[Change history](https://skmtc.dev/clockodo/apis/clockodo-api-documentation/changes/v2/entries/post.md)

---

[API](https://skmtc.dev/clockodo/apis/clockodo-api-documentation.md) · [All operations](https://skmtc.dev/clockodo/apis/clockodo-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/clockodo/clockodo-api-documentation/revisions/38e281d50d6d/schema)
