Canvas Sis Integration API

The Sis Integration API from Canvas — 3 operation(s) for sis integration.

Operations 3

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /sis/accounts/{account_id}/assignments List an account's SIS-export assignments · Retrieve assignments enabled for grade export to SIS #
Ask an LLM
“Which published assignments across an account are flagged to send grades to the SIS?”
“Can I limit SIS export assignments to a date range?”
Tell an agent
List assignments enabled for SIS grade export in account {account_id}.
Show account {account_id} SIS-export assignments starting before {starts_before}.
GET /sis/courses/{course_id}/assignments List a course's SIS-export assignments · Retrieve assignments enabled for grade export to SIS #
Ask an LLM
“Which assignments in a single course will post grades to the SIS?”
“Can I see a course's SIS export assignments that end after a certain date?”
Tell an agent
List assignments enabled for SIS grade export in course {course_id}.
Show course {course_id} SIS-export assignments ending after {ends_after}.
PUT /sis/courses/{course_id}/disable_post_to_sis Turn off SIS grade export for a course · Disable assignments currently enabled for grade export to SIS #
Ask an LLM
“How do I stop every assignment in a course from posting grades to the SIS?”
“Can I disable SIS export for just one grading period?”
Tell an agent
Disable SIS grade export for all assignments in course {course_id}.
Turn off post to SIS in course {course_id} for grading period {grading_period_id}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/canvas:canvas-sis-integration-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

canvas-sis-integration-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Canvas LMS REST Sis Integration API
  version: v1
  summary: The complete Canvas LMS REST API, converted from the Swagger 1.2 documents Instructure publishes under https://canvas.instructure.com/doc/api/.
  description: The Canvas LMS REST API covers courses, assignments, quizzes, grades, users, enrollments, accounts, files, modules, rubrics, submissions, SIS imports, LTI, analytics and account administration.
  contact:
    name: Instructure Canvas
    url: https://canvas.instructure.com/doc/api/
  license:
    name: AGPL-3.0
    url: https://github.com/instructure/canvas-lms/blob/master/LICENSE
servers:
- url: https://canvas.instructure.com/api
  description: Instructure-hosted Canvas (canvas.instructure.com)
- url: https://{canvas_host}/api
  description: Any Canvas instance; Canvas is multi-tenant and self-hostable, so the host is the institution's Canvas domain.
  variables:
    canvas_host:
      default: canvas.instructure.com
      description: Your institution's Canvas hostname, e.g. school.instructure.com
security:
- bearerAuth: []
- oauth2: []
tags:
- name: Sis Integration
  x-resource: sis_integration
  externalDocs:
    url: https://canvas.instructure.com/doc/api/sis_integration.html
paths:
  /sis/accounts/{account_id}/assignments:
    get:
      tags:
      - Sis Integration
      operationId: retrieve_assignments_enabled_for_grade_export_to_sis_accounts
      summary: Retrieve assignments enabled for grade export to SIS
      description: 'Retrieve a list of published assignments flagged as "post_to_sis".

        See the Assignments API for more details on assignments.

        Assignment group and section information are included for convenience.


        Each section includes course information for the origin course and the

        cross-listed course, if applicable. The `origin_course` is the course to

        which the section belongs or the course from which the section was

        cross-listed. Generally, the `origin_course` should be preferred when

        performing integration work. The `xlist_course` is provided for consistency

        and is only present when the section has been cross-listed.

        See Sections API and Courses Api for me details.


        The `override` is only provided if the Differentiated Assignments course

        feature is turned on and the assignment has an override for that section.

        When there is an override for the assignment the override object''s

        keys/values can be merged with the top level assignment object to create a

        view of the assignment object specific to that section.

        See Assignments api for more information on assignment overrides.


        restricts to courses that start before this date (if they have a start date)

        restricts to courses that end after this date (if they have an end date)

        information to include.


        "student_overrides":: returns individual student override information'
      parameters:
      - name: account_id
        in: path
        schema:
          type: integer
          format: int64
        required: true
        description: The ID of the account to query.
      - name: course_id
        in: query
        schema:
          type: integer
          format: int64
        required: false
        description: The ID of the course to query.
      - name: starts_before
        in: query
        schema:
          type: string
          format: date-time
        required: false
        description: When searching on an account,
      - name: ends_after
        in: query
        schema:
          type: string
          format: date-time
        required: false
        description: When searching on an account,
      - name: include
        in: query
        schema:
          type: string
          enum:
          - student_overrides
        required: false
        description: Array of additional
      responses:
        '200':
          description: Success, no content returned
      externalDocs:
        url: https://canvas.instructure.com/doc/api/sis_integration.html
  /sis/courses/{course_id}/assignments:
    get:
      tags:
      - Sis Integration
      operationId: retrieve_assignments_enabled_for_grade_export_to_sis_courses
      summary: Retrieve assignments enabled for grade export to SIS
      description: 'Retrieve a list of published assignments flagged as "post_to_sis".

        See the Assignments API for more details on assignments.

        Assignment group and section information are included for convenience.


        Each section includes course information for the origin course and the

        cross-listed course, if applicable. The `origin_course` is the course to

        which the section belongs or the course from which the section was

        cross-listed. Generally, the `origin_course` should be preferred when

        performing integration work. The `xlist_course` is provided for consistency

        and is only present when the section has been cross-listed.

        See Sections API and Courses Api for me details.


        The `override` is only provided if the Differentiated Assignments course

        feature is turned on and the assignment has an override for that section.

        When there is an override for the assignment the override object''s

        keys/values can be merged with the top level assignment object to create a

        view of the assignment object specific to that section.

        See Assignments api for more information on assignment overrides.


        restricts to courses that start before this date (if they have a start date)

        restricts to courses that end after this date (if they have an end date)

        information to include.


        "student_overrides":: returns individual student override information'
      parameters:
      - name: account_id
        in: query
        schema:
          type: integer
          format: int64
        required: false
        description: The ID of the account to query.
      - name: course_id
        in: path
        schema:
          type: integer
          format: int64
        required: true
        description: The ID of the course to query.
      - name: starts_before
        in: query
        schema:
          type: string
          format: date-time
        required: false
        description: When searching on an account,
      - name: ends_after
        in: query
        schema:
          type: string
          format: date-time
        required: false
        description: When searching on an account,
      - name: include
        in: query
        schema:
          type: string
          enum:
          - student_overrides
        required: false
        description: Array of additional
      responses:
        '200':
          description: Success, no content returned
      externalDocs:
        url: https://canvas.instructure.com/doc/api/sis_integration.html
  /sis/courses/{course_id}/disable_post_to_sis:
    put:
      tags:
      - Sis Integration
      operationId: disable_assignments_currently_enabled_for_grade_export_to_sis
      summary: Disable assignments currently enabled for grade export to SIS
      description: 'Disable all assignments flagged as "post_to_sis", with the option of making it

        specific to a grading period, in a course.


        On success, the response will be 204 No Content with an empty body.


        On failure, the response will be 400 Bad Request with a body of a specific

        message.


        For disabling assignments in a specific grading period'
      parameters:
      - name: course_id
        in: path
        schema:
          type: integer
          format: int64
        required: true
        description: The ID of the course.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                grading_period_id:
                  type: integer
                  format: int64
                  description: The ID of the grading period.
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                grading_period_id:
                  type: integer
                  format: int64
                  description: The ID of the grading period.
      responses:
        '200':
          description: Success, no content returned
      externalDocs:
        url: https://canvas.instructure.com/doc/api/sis_integration.html
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Canvas OAuth2 access token sent as "Authorization: Bearer <token>". See https://canvas.instructure.com/doc/api/file.oauth.html'
    oauth2:
      type: oauth2
      description: Canvas OAuth2. See https://canvas.instructure.com/doc/api/file.oauth.html and https://canvas.instructure.com/doc/api/file.oauth_endpoints.html
      flows:
        authorizationCode:
          authorizationUrl: https://canvas.instructure.com/login/oauth2/auth
          tokenUrl: https://canvas.instructure.com/login/oauth2/token
          refreshUrl: https://canvas.instructure.com/login/oauth2/token
          scopes: {}
externalDocs:
  description: Canvas LMS REST API Documentation
  url: https://canvas.instructure.com/doc/api/
x-generated-from: https://canvas.instructure.com/doc/api/api-docs.json
x-provenance:
  method: derived
  derived_by: API Evangelist enrichment pipeline (Swagger 1.2 -> OpenAPI 3.1 conversion)
  source: openapi/_original/swagger-1.2/*.json (144 verbatim first-party Swagger 1.2 documents)
  source_url: https://canvas.instructure.com/doc/api/api-docs.json
  fetched: '2026-09-05'
  http_status: 200