The Instructure Community will enter a read-only state on November 22, 2025 as we prepare to migrate to our new Community platform in early December.
Read our blog post for more info about this change.
Found this content helpful? Log in or sign up to leave a like!
Is there a server side cache for GraphQL queries? We use GraphQL API to get initial data list, made some updates using REST API and then when we rerun the graphQL statement the changes are not reflected.
For example with module item external URLs:
query listCourseModuleItems($courseId: ID!, $nextCursor: String!) {
course(id: $courseId) {
modulesConnection(first: 50, after: $nextCursor) {
nodes {
moduleItems {
_id
content {
... on ExternalTool {
url
}
}
}
_id
}
pageInfo {
endCursor
hasNextPage
startCursor
}
}
}
}
If you use the REST API method to check will see the data changes, /api/v1/courses/67346/modules?include[]=items
Hello @PhillipJacobs,
It is entirely possible that Canvas is caching the GraphQL queries in Redis on the backend. I also know that Canvas uses Apollo for caching GraphQL queries on the client side too.
Thank you Sean!
What I expect is happening as well. The back end is my main concern so can know how out of date the info may be. Maybe someone from Instructure side will see this and confirm 🙂
-Phil
Community helpTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign inTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign in