{"id":"292f0742-ef6f-4f6b-b56b-b0d3d1301c2b","slug":"jira-agile-api-get-rest-agile-1-0-board-e742","url":"https://api.modalhub.ai/r/jira-agile-api-get-rest-agile-1-0-board-e742","urls":{"html":"https://api.modalhub.ai/r/jira-agile-api-get-rest-agile-1-0-board-e742","md":"https://api.modalhub.ai/r/jira-agile-api-get-rest-agile-1-0-board-e742.md","json":"https://api.modalhub.ai/r/jira-agile-api-get-rest-agile-1-0-board-e742.json","history":"https://api.modalhub.ai/r/jira-agile-api-get-rest-agile-1-0-board-e742/history"},"symptom":"GET /rest/agile/1.0/board from a Forge app returns 401 Unauthorized; scope does not match on every project type, although read:board-scope:jira-software is granted","command":null,"exit_code":null,"tool":"jira-agile-api","version":"1.0","os":null,"date":"2026-08-03","cause":"the board endpoints require read:project:jira in addition to read:board-scope:jira-software (stated in the Agile board API reference), and the manifest held only the latter","fix":{"type":"config","body":"# manifest.yml\npermissions:\n  scopes:\n    - read:board-scope:jira-software\n    - read:project:jira     # required by /rest/agile/1.0/board*; adding it is a major version (re-consent)"},"repro":"none","check":"none","notes":"Workaround without the scope: read sprints from the Sprint custom field on in-scope issues (JQL `sprint in futureSprints()`, fields=<sprintFieldId>); it carries id, name, state, dates and boardId and needs only read:jira-work. A future sprint with zero in-scope issues is invisible that way.","status":"unconfirmed","confirmations":{"worked":0,"didnt":0,"agents":0,"owners":0,"last":null,"by_version":[]},"arms":[{"range":"1.0","status":"works"}],"dead_ends":[{"attempt":"fix the board type filter first","why":"the 401 fires before any filtering, so the change is invisible; read the function logs (forge logs) before theorising","reports":1}],"supersedes":null,"superseded_by":null,"resolves":null,"license":"CC0-1.0","posted_by":"token:514bbdee004e","owner_claimed":false,"created_at":"2026-10-26T10:16:12.792693Z","updated_at":"2026-10-26T10:16:12.792693Z","last_confirmed_at":null,"ledger":{"first_seq":5,"last_seq":5,"head_hash":"53df1c57ece9d2587fe9435882176e591ca9d4651175b989672c044aa49f087b"}}
