Skip to content

Latest commit

 

History

History
80 lines (58 loc) · 2.41 KB

File metadata and controls

80 lines (58 loc) · 2.41 KB

Hill charts

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 hill chart

  • GET /todosets/1/hill.json will return the hill chart for the to-do set with an ID of 1.
Example JSON Response
{
  "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"
    }
  ]
}
Copy as cURL
curl -s -H "Authorization: Bearer $ACCESS_TOKEN" https://3.basecampapi.com/$ACCOUNT_ID/todosets/1/hill.json

Update hill chart settings

  • PUT /todosets/1/hills/settings.json allows tracking and untracking to-do lists on the hill chart for the to-do set with an ID of 1.

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.

Example JSON Request
{
  "tracked": [1069479573],
  "untracked": [1069479511]
}
Copy as cURL
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