cancel
Showing results for 
Search instead for 
Did you mean: 
dtod
Adventurer

GraphQL and SIS IDs

Is there a way to work with /graphiql and SIS IDs, e.g. sis_login_id. I can do a query like:

query MyQuery {
legacyNode(_id: "3", type: User) {
... on User {
id
email
name
avatarUrl
createdAt
enrollments {
lastActivityAt
section {
name
}
grades {
currentGrade
}
}
}
}
}

But how do I work with SIS IDs, like https://canvas.instructure.com/doc/api/file.object_ids.html

Tags (2)
0 Kudos
2 Replies
James
Navigator

 @dtod ,

I am probably not telling you anything you don't already know, or at least strongly suspect. It appears to not be implemented yet.

There is a search box in the documentation explorer and when I searched for sis, the only things that came up were with the termID, and posting to SIS (oh, and PageViewAnalysis). The fact that it is there for terms, but not for users

I tried the counterpart from the REST API but it didn't work and gave an error where we broke the code (probably the underscore)

legacyNode(_id : "sis_user_id:3", type: User) {

When I tried the sisUserId, which looks like the termSisId that I got from searching the schema, it just returned no results but at least it didn't crash.

legacyNode(_id: "sisUserId:3", type: User) {

If I tried node instead of legacy node, I got all kinds of errors. Switching to id instead of _id fixed most of those, but it still said it didn't accept it, saying that "type" wasn't accepted.

node(id: "sisUserId:3", type:"User") {

Without the type, though, it gave a 500 error.

Thank you. At least you're confirming I haven't missed something obvious!

Yes, I tried

legacyNode(_id : "sis_user_id:MYUSERIDHERE", type: User) {

and didn't get anywhere.