Hill charts visualize the progress of to-do lists on a hill-shaped curve, from "figuring things out" (uphill) to "making it happen" (downhill). Each tracked to-do list appears as a dot on the hill.
Hill charts belong to a to-do set. To get the to-do set ID for a project, see the Get a project endpoint's dock payload.
Endpoints:
GET /todosets/1/hill.jsonwill return the hill chart for the to-do set with an ID of1.
{
"enabled": true,
"stale": false,
"updated_at": "2026-03-11T06:38:12.167Z",
"app_update_url": "https://3.basecamp.com/195539477/buckets/2085958504/todosets/1069479393/hill/edit",
"dots": [
{
"id": 1069479424,
"label": "Background and research",
"color": "blue",
"position": 0,
"url": "https://3.basecampapi.com/195539477/buckets/2085958504/todolists/1069479424.json",
"app_url": "https://3.basecamp.com/195539477/buckets/2085958504/todolists/1069479424"
}
]
}curl -s -H "Authorization: Bearer $ACCESS_TOKEN" https://3.basecampapi.com/$ACCOUNT_ID/todosets/1/hill.jsonPUT /todosets/1/hills/settings.jsonallows tracking and untracking to-do lists on the hill chart for the to-do set with an ID of1.
Pass to-do list IDs to tracked and/or untracked arrays. Both are optional; you can track, untrack, or do both in a single request. Tracking the first to-do list enables the hill chart. Untracking the last to-do list disables it.
Optional parameters:
tracked- an array of to-do list IDs to start tracking on the hill chart.untracked- an array of to-do list IDs to stop tracking on the hill chart.
Returns 200 OK with the updated hill chart JSON representation.
{
"tracked": [1069479573],
"untracked": [1069479511]
}curl -s -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" \
-d '{"tracked": [1069479573]}' -X PUT \
https://3.basecampapi.com/$ACCOUNT_ID/todosets/1/hills/settings.json