[Bug]: List Move Cards API Return E_NOT_FOUND #887

Open
opened 2026-02-04 21:33:12 +03:00 by OVERLORD · 1 comment
Owner

Originally created by @anditakaesar on GitHub (Jan 4, 2026).

Where is the problem occurring?

I encountered the problem while interacting with the server (Backend).
Server version: 2.0.0-rc.4

What browsers are you seeing the problem on?

No response

Current behavior

I tried to call POST /api/lists/:id/move-cards using listId that are type "closed". It always returned E_NOT_FOUND/List not found.

{
    "code": "E_NOT_FOUND",
    "message": "List not found"
}

The list should be exists, verified by calling GET /api/lists/:id

{
    "item": {
        "id": "1670406751800787987",
        "createdAt": "2025-12-21T12:20:02.141Z",
        "updatedAt": "2026-01-04T07:17:22.409Z",
        "type": "closed",
        "position": 262144,
        "name": "Done",
        "color": "bright-moss",
        "boardId": "1670406381947061260"
    },
    "included": {
        "cards": [],
        "cardMemberships": [],
        "cardLabels": [],
        "taskLists": [],
        "tasks": [],
        "customFieldGroups": [],
        "customFields": [],
        "customFieldValues": [],
        "users": [],
        "attachments": []
    }
}

Desired behavior

Expected: Moves all cards from a closed list to an archive list.

Steps to reproduce

  • Make sure user have Board Editor Role
  • Get the listId, from boards API.
  • Call list move cards API
curl --location 'https://my-hostendpoint.com/api/lists/1670406751800787987/move-cards' \
--header 'Content-Type: application/json' \
--header 'Authorization: ****' \
--header 'Cookie: ****' \
--data '{
    "listId": "1670406751800787987"
}'
  • return 200 or any success

Other information

Planka (self-hosted): ghcr.io/plankanban/planka:2.0.0-rc.4
Client: Postman

Originally created by @anditakaesar on GitHub (Jan 4, 2026). ### Where is the problem occurring? I encountered the problem while interacting with the server (Backend). Server version: 2.0.0-rc.4 ### What browsers are you seeing the problem on? _No response_ ### Current behavior I tried to call `POST /api/lists/:id/move-cards` using listId that are type "closed". It always returned E_NOT_FOUND/List not found. ```json { "code": "E_NOT_FOUND", "message": "List not found" } ``` The list should be exists, verified by calling GET /api/lists/:id ```json { "item": { "id": "1670406751800787987", "createdAt": "2025-12-21T12:20:02.141Z", "updatedAt": "2026-01-04T07:17:22.409Z", "type": "closed", "position": 262144, "name": "Done", "color": "bright-moss", "boardId": "1670406381947061260" }, "included": { "cards": [], "cardMemberships": [], "cardLabels": [], "taskLists": [], "tasks": [], "customFieldGroups": [], "customFields": [], "customFieldValues": [], "users": [], "attachments": [] } } ``` ### Desired behavior Expected: Moves all cards from a closed list to an archive list. ### Steps to reproduce - Make sure user have Board Editor Role - Get the listId, from boards API. - Call list move cards API ```curl curl --location 'https://my-hostendpoint.com/api/lists/1670406751800787987/move-cards' \ --header 'Content-Type: application/json' \ --header 'Authorization: ****' \ --header 'Cookie: ****' \ --data '{ "listId": "1670406751800787987" }' ``` - return 200 or any success ### Other information Planka (self-hosted): ghcr.io/plankanban/planka:2.0.0-rc.4 Client: Postman
Author
Owner

@meltyshev commented on GitHub (Jan 11, 2026):

Hi! Thanks for reporting this. I think I know what's wrong here - the id in the URL and the listId in the request body are the same, but the second one should be the id of the target list (the list the cards are moved to). For now, that should always be the archive-type list, which you can find when fetching the whole board via the API. I agree it's a bit odd to require this id, since there can only be one archive list and there's no real need to pass it. That said, we plan to support moving cards to other list types in the future :)

@meltyshev commented on GitHub (Jan 11, 2026): Hi! Thanks for reporting this. I think I know what's wrong here - the id in the URL and the `listId` in the request body are the same, but the second one should be the id of the target list (the list the cards are moved to). For now, that should always be the archive-type list, which you can find when fetching the whole board via the API. I agree it's a bit odd to require this id, since there can only be one archive list and there's no real need to pass it. That said, we plan to support moving cards to other list types in the future :)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/planka#887