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