I just started working on automated integrations against the Canvas API and I've gathered a bunch of questions that I wanted to check if anyone here could help me with. Here goes:
- Can you route outgoing mails from Canvas via a SMTP-server hosted by us to allow pre-processing of mails?
- Is it possible to route activity logs from Canvas to a log server (ELK) hosted by us?
- Is it possible to obtain machine friendly ouput (json, xml..) from status.instructure.com to allow us to monitor it from our own monitoring systems?
- Does Canvas in any way support the client credential grant for OAuth server-to-server authentication? The current implementation of manually generating tokens via the UI is first of all not by any mean a standardised way to work with OAuth. And if you don't want to manually generate a new token every now and again, this also poses a security risk since the token gives full administrative access via the API. This also prohibits use of most existing OAuth libraries, since they often use standardised OAuth grant flows out of the box.
- How come the API uses different field names for different HTTP verbs? For example; when using GET for a course, the name of the course has the field name "name". When using PUT to update that same course, the field should all of a sudden be called "course[name]". This has several implications on integrations; it prohibits use of ORMs in a straight forward way and it also prohibits the possibility of directly updating obtained data through GET and directly posting it back to the API via a PUT without altering the data schema.
If anyone could point me in the right direction regarding any of the above questions I would be super grateful
IT Architect at KTH - Royal Institute of Technology