ProjectsList my incomplete milestones due by a date

List my incomplete milestones due by a date

Lists the milestones the caller is responsible for that are not completed and due on or before a date (overdue included), paged.

Returns the incomplete milestones whose responsible employee is the CALLER (recurring milestones as their individual instances, each with its own responsible employee and date), due on or before dueDate — overdue ones included — on active, non-template projects, earliest due date first, paged with $page / $pagesize (default 10) and a TotalRecord count. The controller is marked with FeaturePolicy(ShowMileStones), but that attribute only hides TAF links / actions: the route answers with the feature off too.

Use it to:

  • Remind a user of milestones that are due or overdue

Not for:

  • A project's milestone plan → not exposed in REST v2

Behaviour:

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

Next: PUT /v2/milestones/{id}/status

Not yet documented: examples; response → success.

curl -X GET "https://app3.timelog.com/your-account/api/v2/milestones/incomplete?dueDate=2024-12-25T10%3A00%3A00Z&$page=1&$pagesize=10" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "Properties": {
    "TotalRecord": "example_string",
    "TotalPage": "example_string",
    "PageNumber": "example_string"
  },
  "Entities": [
    {
      "Properties": {
        "MilestoneId": 123,
        "ProjectId": 123,
        "ProjectName": "John Doe",
        "ProjectNo": "null",
        "ProjectNameFormatted": "null",
        "DueDate": "2024-12-25T10:00:00Z",
        "EmployeeId": 123,
        "Name": "John Doe",
        "IsCompleted": true,
        "IsRecurring": true,
        "Wbs": "null",
        "No": "null",
        "MilestoneTypeId": 123,
        "DepartmentId": 123
      },
      "Links": [
        {
          "Href": "example_string",
          "Rel": "example_string"
        }
      ],
      "Actions": [
        {}
      ]
    }
  ],
  "Links": [
    {
      "Href": "example_string",
      "Rel": "example_string"
    }
  ]
}
GET
/v2/milestones/incomplete
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.
query
dueDatestring
Required

Latest due date (inclusive). Omitted → 404 action not matched (captured). Filters on MilestoneRead.DueDate (lte).

Format: date-time
query
$pageinteger

Page number.

query
$pagesizeinteger

Page size. $top / $skip are parsed but ignored; no sort parameter.

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.

Query Parameters

dueDatestring
Required

Latest due date (inclusive). Omitted → 404 action not matched (captured).

Filters on MilestoneRead.DueDate (lte).

$pageinteger

Page number.

$pagesizeinteger

Page size. $top / $skip are parsed but ignored; no sort parameter.

Responses

Propertiesobject

Paging values. They are returned as STRINGS, for example "TotalRecord": "12".

Entitiesarray

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

Linksarray