SIS IDs in GraphQL

(2)

GraphQL is great and makes querying Canvas for information a breeze but without SIS IDs in the data, we cannot link the information back to any of our other systems. Can we please have the following SIS IDs be valid fields that can be returned by GraphQL:

  • sis_account_id
  • sis_course_id
  • sis_group_id
  • sis_group_category_id
  • sis_login_id
  • sis_section_id
  • sis_term_id
  • sis_user_id
  • sis_assignment_id

With these fields in GraphQL, we would not have to make additional queries to the normal API endpoints to convert from the Canvas ID significantly reducing the time to process events.

It would additionally be great if we could also query the GraphQL endpoints using these IDs.

Main

This idea has been developed and deployed to Canvas

For more information, please read through the GraphQL API Change Log 

6 Comments
RobDitto
Community Champion

Voted! Sharing this great feature idea with Canvas Developers‌ group.

Stef_retired
Instructure Alumni
Instructure Alumni
Comments from Instructure

sis_ID additions are detailed in GraphQL API Change Log

James
Community Champion

Woohoo! The SIS IDs have been one major area missing from GraphQL.

Stef_retired
Instructure Alumni
Instructure Alumni
Comments from Instructure

GraphQL API Change Log details the July 15, 2020 additions to GraphQL.

 @adham_muhseen  Thank You for sharing this idea. Your investment in this idea helped refine a feature that is now part of Canvas. Smiley Happy 

adham_muhseen
Community Member

stefaniesanders‌ Thanks. We have already started making use of it and love the ease of pulling data from Canvas across multiple objects with a single query and now with SIS IDs, we have everything we need in one place.

TaiFarmer1
Community Member

I appreciate very much that the SIS IDs exist in the graphql schema!

I have one additional request: We have populated integration_ids on the user, course, and section objects.  It would be very useful to introduce these  integration_ids into the graphql schema so we could avoid having to use the REST API endpoints.