SIS Integration

SIS Integration API

Includes helpers for integration with SIS systems.

A SisAssignment object looks like:

// Assignments that have post_to_sis enabled with other objects for convenience
{
  // The unique identifier for the assignment.
  "id": 4,
  // The unique identifier for the course.
  "course_id": 6,
  // the name of the assignment
  "name": "some assignment",
  // The time at which this assignment was originally created
  "created_at": "2012-07-01T23:59:00-06:00",
  // the due date for the assignment. returns null if not present. NOTE: If this
  // assignment has assignment overrides, this field will be the due date as it
  // applies to the user requesting information from the API.
  "due_at": "2012-07-01T23:59:00-06:00",
  // (Optional) Time at which this was/will be unlocked.
  "unlock_at": "2013-01-01T00:00:00-06:00",
  // (Optional) Time at which this was/will be locked.
  "lock_at": "2013-02-01T00:00:00-06:00",
  // The maximum points possible for the assignment
  "points_possible": 12,
  // the types of submissions allowed for this assignment list containing one or
  // more of the following: 'discussion_topic', 'online_quiz', 'on_paper', 'none',
  // 'external_tool', 'online_text_entry', 'online_url', 'online_upload',
  // 'media_recording', 'student_annotation'
  "submission_types": ["online_text_entry"],
  // Third Party integration id for assignment
  "integration_id": "12341234",
  // (optional, Third Party integration data for assignment)
  "integration_data": "other_data",
  // If false, the assignment will be omitted from the student's final grade
  "include_in_final_grade": true,
  // Includes attributes of a assignment_group for convenience. For more details
  // see Assignments API.
  "assignment_group": null,
  // Includes attributes of a section for convenience. For more details see
  // Sections API.
  "sections": null,
  // Includes attributes of a user assignment overrides. For more details see
  // Assignments API.
  "user_overrides": null
}

An AssignmentGroupAttributes object looks like:

A SectionAttributes object looks like:

A CourseAttributes object looks like:

A SectionAssignmentOverrideAttributes object looks like:

An UserAssignmentOverrideAttributes object looks like:

A StudentAttributes object looks like:

SisApiController#sis_assignments

GET /api/sis/accounts/:account_id/assignments

Scope: url:GET|/api/sis/accounts/:account_id/assignments

GET /api/sis/courses/:course_id/assignments

Scope: url:GET|/api/sis/courses/:course_id/assignments

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.

Request Parameters:

Parameter
Type
Description

account_id

integer

The ID of the account to query.

course_id

integer

The ID of the course to query.

starts_before

DateTime

When searching on an account,

ends_after

DateTime

When searching on an account,

include

string

Array of additional

Allowed values: student_overrides

DisablePostToSisApiController#disable_post_to_sis

PUT /api/sis/courses/:course_id/disable_post_to_sis

Scope: url:PUT|/api/sis/courses/:course_id/disable_post_to_sis

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

Request Parameters:

Parameter
Type
Description

course_id

integer

The ID of the course.

grading_period_id

integer

The ID of the grading period.

Example Request:


This documentation is generated directly from the Canvas LMS source code, available on Github.

Last updated

Was this helpful?