The SDK client uses incorrect URL paths for two timeline endpoints, causing 404 errors:
Project Timeline
Current: GET /{accountId}/buckets/{projectId}/timeline.json
Expected: GET /{accountId}/projects/{projectId}/timeline.json
Per https://github.com/basecamp/bc3-api/blob/master/sections/timeline.md, the endpoint is /projects/{id}/timeline.json, not /buckets/{id}/timeline.json.
Person Progress
Current: GET /{accountId}/reports/users/progress/{personId}
Expected: GET /{accountId}/reports/users/progress/{personId}.json
Missing .json extension.
Reproduction
# Works (account-wide)
bcq timeline --json -vv
# -> GET /5735026/reports/progress.json -> 200 OK
# Fails (project)
bcq timeline --in 45926954 --json -vv
# -> GET /5735026/buckets/45926954/timeline.json -> 404
# Fails (person)
bcq timeline me --json -vv
# -> GET /5735026/reports/users/progress/20143023 -> 404
Location
The paths are generated in pkg/generated/client.gen.go:
- NewGetProjectTimelineRequest: uses /buckets/ instead of /projects/
- NewGetPersonProgressRequest: missing .json suffix
The SDK client uses incorrect URL paths for two timeline endpoints, causing 404 errors:
Project Timeline
Current: GET /{accountId}/buckets/{projectId}/timeline.json
Expected: GET /{accountId}/projects/{projectId}/timeline.json
Per https://github.com/basecamp/bc3-api/blob/master/sections/timeline.md, the endpoint is /projects/{id}/timeline.json, not /buckets/{id}/timeline.json.
Person Progress
Current: GET /{accountId}/reports/users/progress/{personId}
Expected: GET /{accountId}/reports/users/progress/{personId}.json
Missing .json extension.
Reproduction
Location
The paths are generated in pkg/generated/client.gen.go: