ProjectsList a project's tasks a user is not allocated to

List a project's tasks a user is not allocated to

Returns up to 30 active tasks of a project that a user has no allocation on, optionally filtered by text.

Lists the project's active (Aktiv), non-recurring tasks on which the user has no allocation row — active or inactive — ordered by task tree order and WBS, at most 30 (fixed; no paging, no total). Task status is not filtered: completed or cancelled tasks still marked active are listed. searchText matches task name, task number or task type name (contains). Parent tasks are excluded unless isIncludeParentTask=true. An unknown userId returns every active task (no allocation can match).

Use it to:

  • Offer the tasks a person can still be allocated to

Not for:

  • All tasks of a project → GET /v1/task

Behaviour:

  • Idempotent.
  • Safe to retry.
  • Changes are visible to the next read immediately.

Call first: GET /v1/user

Next: POST /v1/task/{taskID}/allocation

See also: GET /v2/projects/{projectId}/employee-unallocated

Not yet documented: examples.

curl -X GET "https://app3.timelog.com/your-account/api/v2/projects/123/tasks-unallocated?userId=123&searchText=example_string&isIncludeParentTask=false" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "Entities": [
    {
      "Properties": {
        "TaskID": 123,
        "TaskName": "John Doe",
        "TaskFullName": "null",
        "TaskNo": "null",
        "WBSNo": "null",
        "TaskStartDate": "2024-12-25T10:00:00Z",
        "TaskEndDate": "2024-12-25T10:00:00Z",
        "TaskBudgetHour": "null",
        "IsParent": true
      },
      "Links": [
        {
          "Href": "example_string",
          "Rel": "example_string"
        }
      ],
      "Actions": [
        {}
      ]
    }
  ],
  "Links": [
    {
      "Href": "example_string",
      "Rel": "example_string"
    }
  ]
}
GET
/v2/projects/{projectId}/tasks-unallocated
GET
Base URLstring

Target server for requests. Edit to use your own host.

Bearer Token
Bearer Tokenstring
Required

OAuth 2.0 bearer token, sent as Authorization: Bearer <token>. JWT and reference tokens are both accepted. The token must carry the required scope (default tlp). The token's sub claim is the acting user. A token WITHOUT sub (client-credentials) acts as the system service user. If the sub user cannot log in (inactive, locked, deleted), the request is rejected with 401 — it is no longer let through without a user. > Not yet documented: how to obtain a token. > Not yet documented: token lifetime.

OAuth 2.0 bearer token, sent as Authorization: Bearer <token>. JWT and reference tokens are both accepted. The token must carry the required scope (default tlp). The token's sub claim is the acting user. A token WITHOUT sub (client-credentials) acts as the system service user. If the sub user cannot log in (inactive, locked, deleted), the request is rejected with 401 — it is no longer let through without a user. > Not yet documented: how to obtain a token. > Not yet documented: token lifetime.
path
projectIdinteger
Required

The project (no route constraint: a non-integer value fails model binding). Unknown → empty list.

Format: int32
query
userIdinteger
Required

The user whose allocations are excluded. Omitted → 404 action not matched (captured: every scenario omitted it).

Format: int32
query
searchTextstring

Contains-match on task name, task number or task type name. Only '[' is escaped: '%' and '_' act as wildcards. Filters on UnallocatedTaskRead.TaskName (contains).

query
isIncludeParentTaskboolean

true = also list parent tasks; false (default) = leaf tasks only. Filters on UnallocatedTaskRead.IsParent (eq).

Request Preview
Response

Response will appear here after sending the request

Authentication

header
Authorizationstring
Required

Bearer token. OAuth 2.0 bearer token, sent as Authorization: Bearer <token>. JWT and reference tokens are both accepted. The token must carry the required scope (default tlp).

The token's sub claim is the acting user. A token WITHOUT sub (client-credentials) acts as the system service user. If the sub user cannot log in (inactive, locked, deleted), the request is rejected with 401 — it is no longer let through without a user.

Not yet documented: how to obtain a token.

Not yet documented: token lifetime.

Path Parameters

projectIdinteger
Required

The project (no route constraint: a non-integer value fails model binding). Unknown → empty list.

Query Parameters

userIdinteger
Required

The user whose allocations are excluded. Omitted → 404 action not matched (captured: every scenario omitted it).

searchTextstring

Contains-match on task name, task number or task type name. Only '[' is escaped: '%' and '_' act as wildcards.

Filters on UnallocatedTaskRead.TaskName (contains).

isIncludeParentTaskboolean

true = also list parent tasks; false (default) = leaf tasks only.

Filters on UnallocatedTaskRead.IsParent (eq).

Responses

Entitiesarray

Omitted (not []) when the list is empty.

Linksarray