🚀 Heads up: Our API Docs Have Moved!
We have relocated to Instructure Developer Documentation Portal. 🎉 Please update your bookmarks. This page will automatically redirect after July 1, 2026.

GraphQL API

Canvas exposes a GraphQL API at /api/graphql. Unlike the REST API, GraphQL has a single endpoint, so granting the GraphQL scope to an access token allows it to issue any query or mutation the authenticated user is otherwise permitted to perform.

See the GraphQL documentation for details on the schema and how to build queries.

Execute a GraphQL query GraphqlController#execute

POST /api/graphql

Scope: url:POST|/api/graphql
Execute a GraphQL query or mutation against the Canvas GraphQL schema.

Request Parameters:

Parameter Type Description
query string The GraphQL query or mutation to execute.
operationName string The name of the operation to run when the query document defines more than one operation.
variables Hash Values for any variables referenced by the query.