---
title: "Get time entries by user permissions"
method: POST
path: "/v3/time-entries"
tags: ["[v3] Time Entry"]
deprecated: true
---

# Get time entries by user permissions

`POST /v3/time-entries`

> **Deprecated.**

Deprecated. This endpoint is being moved to `/time-entries/list`.
Get time entries by user access and permissions.

## Request body

- object
  - `startDate` string, date, required — Start date
  - `endDate` string, date, required — End date
  - `userIds` integer[] — Array of user ids
  - `taskIds` integer[] — Array of task ids
  - `taskSelector` union[] — Task selection rules resolved by the TaskPicker selector. Supports legacy numeric task id items or rule objects. Use taskIds for simple task filtering.
    - union
      - integer — Legacy exact task id selector item
      - object — Exact task selection rule
        - `type` 'exact', required
        - `taskIds` integer[], required
      - object — Include task ids from a parent task subtree
        - `type` 'include', required
        - `parentId` integer, required
        - `taskIds` integer[]
      - object — Exclude task ids from a parent task subtree
        - `type` 'exclude', required
        - `parentId` integer, required
        - `taskIds` integer[]
  - `tagIds` integer[] — Array of tag ids
  - `matchAllTags` boolean — Whether all provided tagIds must be assigned to each returned entry
  - `approvalMode` boolean — Whether legacy approval mode permissions should be used
  - `includeTags` boolean — Whether tag data should be included in returned entries
  - `withSubtasks` boolean — Whether taskIds or taskSelector exact rules should include subtasks
  - `useLegacyDefaultUserScope` boolean — Whether empty userIds should use the legacy default user scope from v1 entries endpoints
  - `useTimeTrackingDashboardDefaultUserScope` boolean — Deprecated alias for useLegacyDefaultUserScope

## Response `200`

OK response

- object[] — Array of time entry objects
  - `id` integer, required — Entry id
  - `duration` integer, required — Duration in seconds
  - `locked` integer, required — Whether the time entry is locked
  - `invoice_id` integer, required — Invoice id
  - `last_modify` string, date-time, required — Last modify date
  - `date` string, date, required — Time entry date
  - `start_time` string, required — Start time in HH:mm:ss format
  - `end_time` string, required — End time in HH:mm:ss format
  - `billable` boolean, required — Is billable
  - `description` string, nullable — Time entry description
  - `addons_external_id` string, required — External ID of the related task
  - `hasEntryLocationHistory` boolean — Whether the time entry has location history
  - `user` object, nullable, required — Related user data
    - `id` integer — User id
    - `email` string — User email
    - `display_name` string — User display name
  - `task` object, nullable, required — Related task data
    - `id` number — Task id
    - `name` string — Task name
    - `note` string — Task note
    - `color` string — Task color
    - `billable` boolean — Task is billable
  - `tags` object[], required — Related tags data
    - `id` integer — Tag id
    - `name` string — Tag name
    - `mandatory` integer — Whether the tag is mandatory
    - `tag_list` object
      - `id` integer — Tag list id
      - `name` string — Tag list name

## Other responses

- `403` — The authenticated OAuth2 access token or PAT does not contain any scope accepted by the endpoint.

---

[API](https://skmtc.net/timecamp/apis/timecamp-api.md) · [All operations](https://skmtc.net/timecamp/apis/timecamp-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/timecamp/timecamp-api/revisions/9bdc11bd523f/schema)
