Line Items API

Line Item API for IMS Assignment and Grade Services

A LineItem object looks like:

{
  // The fully qualified URL for showing, updating, and deleting the Line Item
  "id": "http://institution.canvas.com/api/lti/courses/5/line_items/2",
  // The maximum score of the Line Item
  "scoreMaximum": 50,
  // The label of the Line Item.
  "label": "50",
  // Tag used to qualify a line Item beyond its ids
  "tag": "50",
  // A Tool Provider specified id for the Line Item. Multiple line items can share
  // the same resourceId within a given context
  "resourceId": "50",
  // The resource link id the Line Item is attached to
  "resourceLinkId": "50",
  // The extension that defines the submission_type of the line_item. Only returns
  // if set through the line_item create endpoint.
  "https://canvas.instructure.com/lti/submission_type": "{
  	"type":"external_tool",
  	"external_tool_url":"https://my.launch.url",
  }"
}

Create a Line Item Lti::Ims::LineItemsController#create

POST /api/lti/courses/:course_id/line_items

Scope: url:POST|/api/lti/courses/:course_id/line_items

Create a new Line Item

Request Parameters:

Parameter Type Description
scoreMaximum Required number

The maximum score for the line item. Scores created for the Line Item may exceed this value.

label Required string

The label for the Line Item. If no resourceLinkId is specified this value will also be used as the name of the placeholder assignment.

resourceId string

A Tool Provider specified id for the Line Item. Multiple line items may share the same resourceId within a given context.

tag string

A value used to qualify a line Item beyond its ids. Line Items may be queried by this value in the List endpoint. Multiple line items can share the same tag within a given context.

resourceLinkId string

The resource link id the Line Item should be attached to. This value should match the LTI id of the Canvas assignment associated with the tool.

https://canvas.instructure.com/lti/submission_type object

(EXTENSION) - Optional block to set Assignment Submission Type when creating a new assignment is created.

type - 'none' or 'external_tool'
external_tool_url - Submission URL only used when type: 'external_tool'

Example Request:

{
  "scoreMaximum": 100.0,
  "label": "LineItemLabel1",
  "resourceId": 1,
  "tag": "MyTag",
  "resourceLinkId": "1",
  "https://canvas.instructure.com/lti/submission_type": {
    "type": "external_tool",
    "external_tool_url": "https://my.launch.url"
  }
}
Returns a LineItem

Update a Line Item Lti::Ims::LineItemsController#update

PUT /api/lti/courses/:course_id/line_items/:id

Scope: url:PUT|/api/lti/courses/:course_id/line_items/:id

Update new Line Item

Request Parameters:

Parameter Type Description
scoreMaximum number

The maximum score for the line item. Scores created for the Line Item may exceed this value.

label string

The label for the Line Item. If no resourceLinkId is specified this value will also be used as the name of the placeholder assignment.

resourceId string

A Tool Provider specified id for the Line Item. Multiple line items may share the same resourceId within a given context.

tag string

A value used to qualify a line Item beyond its ids. Line Items may be queried by this value in the List endpoint. Multiple line items can share the same tag within a given context.

Returns a LineItem

Show a Line Item Lti::Ims::LineItemsController#show

GET /api/lti/courses/:course_id/line_items/:id

Scope: url:GET|/api/lti/courses/:course_id/line_items/:id

Show existing Line Item

Returns a LineItem

List line Items Lti::Ims::LineItemsController#index

GET /api/lti/courses/:course_id/line_items

Scope: url:GET|/api/lti/courses/:course_id/line_items

Delete a Line Item Lti::Ims::LineItemsController#destroy

DELETE /api/lti/courses/:course_id/line_items/:id

Scope: url:DELETE|/api/lti/courses/:course_id/line_items/:id

Delete an existing Line Item

Returns a LineItem