We have relocated to Instructure Developer Documentation Portal. đ Please update your bookmarks. This page will automatically redirect after July 1, 2026.
Line Items API
Line Item API for 1EdTech (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",
  }",
  // The launch url of the Line Item. Only returned if `include=launch_url` query
  // parameter is passed, and only for Show and List actions.
  "https://canvas.instructure.com/lti/launch_url": "https://my.tool.url/launch"
}Create a Line Item Lti::Ims::LineItemsController#create
POST /api/lti/courses/:course_id/line_items
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. | |
| startDateTime | string | The ISO8601 date and time when the line item is made available. Corresponds to the assignmentâs unlock_at date. | |
| endDateTime | string | The ISO8601 date and time when the line item stops receiving submissions. Corresponds to the assignmentâs due_at date. | |
| https://canvas.instructure.com/lti/submission_type | object | (EXTENSION) - Optional block to set Assignment Submission Type when creating a new assignment is created. 
 | 
Example Request:
{
  "scoreMaximum": 100.0,
  "label": "LineItemLabel1",
  "resourceId": 1,
  "tag": "MyTag",
  "resourceLinkId": "1",
  "startDateTime": "2022-01-31T22:23:11+0000",
  "endDateTime": "2022-02-07T22:23:11+0000",
  "https://canvas.instructure.com/lti/submission_type": {
    "type": "external_tool",
    "external_tool_url": "https://my.launch.url"
  }
}Update a Line Item Lti::Ims::LineItemsController#update
PUT /api/lti/courses/:course_id/line_items/:id
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. | |
| startDateTime | string | The ISO8601 date and time when the line item is made available. Corresponds to the assignmentâs unlock_at date. | |
| endDateTime | string | The ISO8601 date and time when the line item stops receiving submissions. Corresponds to the assignmentâs due_at date. | 
Show a Line Item Lti::Ims::LineItemsController#show
GET /api/lti/courses/:course_id/line_items/:id
url:GET|/api/lti/courses/:course_id/line_items/:id
  Show existing Line Item
Request Parameters:
| Parameter | Type | Description | |
|---|---|---|---|
| include[] | string | Array of additional information to include. 
 
          Allowed values:  | 
List line Items Lti::Ims::LineItemsController#index
GET /api/lti/courses/:course_id/line_items
url:GET|/api/lti/courses/:course_id/line_items
  List all Line Items for a course
Request Parameters:
| Parameter | Type | Description | |
|---|---|---|---|
| tag | string | If specified only Line Items with this tag will be included. | |
| resource_id | string | If specified only Line Items with this resource_id will be included. | |
| resource_link_id | string | If specified only Line Items attached to the specified resource_link_id will be included. | |
| limit | string | May be used to limit the number of Line Items returned in a page | |
| include[] | string | Array of additional information to include. 
 
          Allowed values:  | 
Delete a Line Item Lti::Ims::LineItemsController#destroy
DELETE /api/lti/courses/:course_id/line_items/:id
url:DELETE|/api/lti/courses/:course_id/line_items/:id
  Delete an existing Line Item
Returns a LineItem object