Acuity PPM API
ProjectsProjectTimeline

PUT Update timeline

Update dates under /api/v1/project/timeline. Send either or both dates in strict YYYY-MM-DD format. See the response tabs for validation failures and the empty-request response.

Update project dates under /api/v1/project/timeline. Send either or both dates as YYYY-MM-DD. Invalid dates or other date formats return HTTP 400. The resulting start date must be on or before the finish date; rejected timeline/resource changes return HTTP 422 without applying the change. When both dates are omitted, null, or empty, HTTP 204 has no body. Successful updates return HTTP 200 with status: 201 in the JSON body.

PUT/project/timeline

Authorization

api-auth<api-auth>
api-token<UUID>
api-secret<api-secret>

Use the standard /api/v1 headers for this request.

Send the target project_token and any timeline changes inside the JSON body.

API Credentials (save your keys here to make the request examples copy-ready)Hidden by default

Save your domain and request headers once, then reuse them across the current docs session.

Session storage clears when this tab closes. Local storage stays available the next time you open the docs in this browser.

Saved values are used in request examples and code snippets on API pages, including the request domain.

Request Body

application/json

Top-level request body type: object. Send JSON fields shown below.

project_token*string
Acuity Type:text
Default:required
Acuity UI:Project Token
start_datestring | null

Optional date in `YYYY-MM-DD` format. Null, empty, or whitespace-only means absent, not a request to clear the stored date.

Acuity Type:date(yyyy-mm-dd)
Default:nil
Acuity UI:Start Date
end_datestring | null

Optional date in `YYYY-MM-DD` format. Null, empty, or whitespace-only means absent, not a request to clear the stored date.

Acuity Type:date(yyyy-mm-dd)
Default:nil
Acuity UI:Finish Date

Response Body

200application/json

Successful response confirming updated project dates.

{
  "status": 201,
  "message": "Dates updated 2026-05-01 - 2026-12-31"
}
204

Both dates are omitted, null, or empty. No response body.

No response body.

400application/json

Invalid date or non-ISO date format.

{
  "status": 400,
  "message": [
    "start_date is not a valid date"
  ]
}
401application/json

Missing or invalid integration authentication headers, or an invalid `project_token`.

{
  "errors": [
    "Not Authenticated"
  ]
}
422application/json

Timeline or resource update rejected. The change is not applied.

{
  "status": 422,
  "message": [
    "start_date must be on or before end_date"
  ]
}