Hi all.
My school is creating a central logging service for all of our systems on campus. All of the systems we host locally we can just send the syslog, etc directly to the logging service. But for hosted systems like Canvas, we are looking at other ways to get hold of things like login requests.
I've looked through the API docs, and I think the endpoint /audit/authentication/accounts gets me what I need. I should be able to pass our institutional account id, and a date range, and get back the records I need. I know the API limits returns to 100 records per call, and I also know that if there are other records to be returned, there should be a paging parameter set in the response indicating that there are more records, or that I have found the last page.
When calling this API, I get behavior that does not match what the docs say I can expect. First, there are no paging indicators. I know there have been more than one hundred login attempts for our account in a single day. Canvas' analytics tell me as much. Second, it appears that it is caching the results, but there is no discussion of caching behavior in the docs. Does it cache? Even without the paging, I can sometimes get a second page (page=2 URL param) of results, but when I go back to the first page, i still get the page 2 results.
Has anyone had any success using this endpoint to build an audit tool?
Thanks in advance,
Bob