Description
basecamp todos update <id> --description "text" --in <project> returns 200 OK but the description/notes field is never updated.
Root Cause
The CLI sends PUT /todos/{id} instead of the documented PUT /buckets/{project_id}/todos/{id}.json. The shorthand endpoint accepts the request but silently ignores the description field.
Steps to Reproduce
# This does NOT update the description (wrong endpoint)
basecamp todos update 123 --description "test" --in 456 -vv
# Trace shows: PUT https://3.basecampapi.com/{account}/todos/123# This DOES work (correct endpoint)
basecamp api put "/buckets/456/todos/123.json" -d '{"description": "<p>test</p>"}'# Trace shows: PUT https://3.basecampapi.com/{account}/buckets/456/todos/123.jsonExpected Behavior
todos update --description should use the full /buckets/{project_id}/todos/{id}.json endpoint so the description field is persisted.
Environment
- OS: macOS 13.5
- CLI version: latest (installed via brew)
Description
basecamp todos update <id> --description "text" --in <project>returns 200 OK but the description/notes field is never updated.Root Cause
The CLI sends
PUT /todos/{id}instead of the documentedPUT /buckets/{project_id}/todos/{id}.json. The shorthand endpoint accepts the request but silently ignores thedescriptionfield.Steps to Reproduce
Expected Behavior
todos update --descriptionshould use the full/buckets/{project_id}/todos/{id}.jsonendpoint so the description field is persisted.Environment