Hi there! I'm using the Canvas REST API to fetch an Account's active Courses list, but I've noticed that its response's behavior has slightly changed. I've been hitting the /api/v1/accounts/:account_id/courses endpoint (which is documented at https://canvas.instructure.com/doc/api/accounts.html#method.accounts.courses_api), with a GET request. I'm also providing ?include=term&page=1&per_page=4 as query string, to ensure I'm getting the first page, with no more than 4 results.
The request succeeds but, inspecting the response's headers, I found out that it has no "last"-labeled Link header anymore; such header is intended to denote the last page's URL. This are the Link headers I'm getting (just current, next and first page):
Digging a little bit into Canvas' canvas-lms repository at GitHub, particularly at the /account API namespace's controller, I came across this line https://github.com/instructure/canvas-lms/blob/e6540ff0f68f17991c004f4ab2dcb056b962e241/app/controll.... It seems that the Account model has a allow_last_page_on_account_courses property. Furthermore, I looked at the repo's latest commits, and I found this two:
So it seems that this allow_last_page_on_account_courses setting, introduced very recently, defaults to be disabled and, apparently, determines if this last-page Link header is sent for this response or not. I tried enabling it at the Account through Instructure's UI, but I had no luck; I even tried both fetching and tweaking it via the API (GET request to /api/v1/accounts/:acount_id/settings/, and PUT request to api/v1/accounts/self with a body like
, respectively), but had no luck as well.
Does anybody know if this allow_last_page_on_account_courses setting could be the culprit for the missing last-page Link header? Or if there's any way to effectively toggle it to enabled? Thanks!