ProjectsAdd projects to or remove them from the Resource Planner

Add projects to or remove them from the Resource Planner

Makes the listed projects available in the Resource Planner, or takes them out, and tells the Resource Planner service.

Projects already in the requested state are skipped (no write, no event). Answers 200 with an empty TAF list whose Properties.UpdatedProjectsCount counts only the projects actually changed. What the Resource Planner service does with a deactivation (keep or drop the project's plans) is RP-side, unknown.

Use it to:

  • Choose which projects are planned in the Resource Planner

Behaviour:

  • Idempotent.
  • Projects already in the requested state are skipped: a repeat call changes nothing and raises no events (UpdatedProjectsCount 0).
  • Safe to retry.
  • On failure: Projects processed before a failing write keep their new flag and their events were published.
  • Consistency: eventual for the Resource Planner; immediate in TimeLog
  • Batch: Unknown IDs are skipped silently; a failing write aborts the rest with 500 after earlier projects were switched.

Call first: GET /v2/projects

Not yet documented: behaviour → side effects; examples; request → query params → projectsIds.

curl -X PUT "https://app3.timelog.com/your-account/api/v2/projects/resource-planner?projectsIds=example_string" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
  "IsAddingToResourcePlanner": true
}'
{
  "Properties": {
    "UpdatedProjectsCount": "example_string"
  },
  "Links": [
    {
      "Href": "example_string",
      "Rel": "example_string"
    }
  ],
  "Actions": [
    {}
  ]
}
PUT
/v2/projects/resource-planner
PUT
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
projectsIdsstring
Required

Comma-separated project IDs. All are parsed before any write (a non-integer entry fails the call with 500 before anything changes); unknown IDs are skipped. Omitted → 405 (captured). Several values: one string, separated by ,.

Content-Typestring
Required

The media type of the request body

Options: application/json
IsAddingToResourcePlannerboolean

true = make the projects available in the Resource Planner (IsAvailableInResourcePlanner on); false = take them out. Non-nullable: omitted = false, and the NotNull rule cannot fail — {} takes every listed project OUT of the Resource Planner. Default: false — removes the projects (see description) - The project already has the requested value — Skipped: no write, no event, not counted in UpdatedProjectsCount. - Omitted — false.

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

projectsIdsstring
Required

Comma-separated project IDs. All are parsed before any write (a non-integer entry fails the call with 500 before anything changes); unknown IDs are skipped. Omitted → 405 (captured).

Several values: one string, separated by ,.

Body

application/json
IsAddingToResourcePlannerboolean

true = make the projects available in the Resource Planner (IsAvailableInResourcePlanner on); false = take them out. Non-nullable: omitted = false, and the NotNull rule cannot fail — &#123;} takes every listed project OUT of the Resource Planner.

Default: false — removes the projects (see description)

  • The project already has the requested value — Skipped: no write, no event, not counted in UpdatedProjectsCount.

  • Omitted — false.

Responses

Propertiesobject

How many projects a /v2/projects bulk write processed or changed.

Linksarray
Actionsobject[]