fix(vikunja-cli#18): use /tasks not /tasks/all for list-all endpoint #20
No reviewers
Labels
No labels
blocked:gate-research
bug
feature-request
in-progress
needs-triage
quickfix
security/medium
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/vikunja-cli!20
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/issue-18-cli-api-400"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
One-line fix for
vikunja-cli#18— Vikunja 1.0+ renamedGET /api/v1/tasks/alltoGET /api/v1/tasks. The old endpoint now returns HTTP 400 code 2004Invalid model provided: Bad Requeston every call.Root cause
Vikunja 1.0.0 renamed the "list all tasks" API endpoint from
/api/v1/tasks/allto/api/v1/tasksfor consistency. The CLI was still calling the old path. From the Vikunja 1.0 changelog:Same regression affected other Vikunja clients (aimbitgmbh/vikunja-mcp#1, democratize-technology/node-vikunja#4, vikunja-mcp#40).
Fix
Only the list-all (no
--project) path is affected. List-by-project still uses/projects/{id}/taskswhich is unchanged in v1.0+.Verification (against the live Vikunja instance on unstable)
GET /tasks→[](200 OK)GET /tasks/all→{"code":2004,"message":"Invalid model provided: Bad Request"}(400)GET /tasks?s=test→[](200 OK) — search now works through the new endpointCloses #18
Mark referenced this pull request2026-09-18 18:11:42 +00:00
Closed as superseded. The same fix has been pushed directly to
origin/mainper local-dev-cycle convention (no PR).4b723fdfix(vikunja-cli#18): use /tasks not /tasks/all for list-all endpoint0bfaff0fix(vikunja-cli#18): update test mocks from /tasks/all to /tasksBoth files now reference
/tasks(matching Vikunja 1.0+), andtests/test_api_client.pymocks at lines 58 and 196 are aligned.Out-of-scope notes from triage (not addressed — separate tickets if needed):
create --descriptionpathcreate --relatedwiringPull request closed