Canvas LMS · Arazzo Workflow

Canvas LMS Extend Due Date Then Grade Late Submission

Version 1.0.0

Push an assignment's due date out, then grade a student's late submission.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub Learning ManagementEducationEdTechLMSLTIHigher EducationK-12Open-SourceAGPLCanvasArazzoWorkflows

Provider

canvas-lms

Workflows

extend-due-date-and-grade
Extend an assignment due date and grade a late submission.
Updates the assignment due date, reads it back to confirm, and posts a grade with a late policy status to the student's submission.
3 steps inputs: assignmentId, courseId, latePolicyStatus, newDueAt, postedGrade, userId outputs: assignmentId, dueAt, grade
1
extendDueDate
Update the assignment to push its due date out to the supplied date.
2
confirmDueDate
Re-read the assignment to confirm the new due date was applied.
3
gradeLateSubmission
Post the grade to the student's submission and record the late policy status so the gradebook reflects the accommodation.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Canvas LMS Extend Due Date Then Grade Late Submission
  summary: Push an assignment's due date out, then grade a student's late submission.
  description: >-
    A late-work accommodation flow for Canvas. The workflow updates an
    assignment's due date to extend the deadline, confirms the new date by
    reading the assignment back, and then posts a grade to the student's
    submission with the late policy status set so the gradebook reflects the
    accommodation. Every step spells out its request inline so the flow can be
    read and executed without opening the underlying OpenAPI description.
  version: 1.0.0
  x-realizes-capability-ids:
  - BC-4740.30
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-4740.30
      capability_name: Marking & Grading Operations
      spec: canvas-lms-submissions-api-openapi.yml
      confidence: 0.85
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: assignmentsApi
  url: ../openapi/canvas-lms-assignments-api-openapi.yml
  type: openapi
- name: submissionsApi
  url: ../openapi/canvas-lms-submissions-api-openapi.yml
  type: openapi
workflows:
- workflowId: extend-due-date-and-grade
  summary: Extend an assignment due date and grade a late submission.
  description: >-
    Updates the assignment due date, reads it back to confirm, and posts a grade
    with a late policy status to the student's submission.
  inputs:
    type: object
    required:
    - courseId
    - assignmentId
    - userId
    - newDueAt
    - postedGrade
    properties:
      courseId:
        type: string
        description: The Canvas course id.
      assignmentId:
        type: string
        description: The Canvas assignment id to update.
      userId:
        type: string
        description: The Canvas user id of the student to grade.
      newDueAt:
        type: string
        description: The new ISO8601 due date to set on the assignment.
      postedGrade:
        type: string
        description: The grade to post to the student's late submission.
      latePolicyStatus:
        type: string
        description: The late policy status to record (late, missing, none, or extended).
  steps:
  - stepId: extendDueDate
    description: >-
      Update the assignment to push its due date out to the supplied date.
    operationId: updateAssignment
    parameters:
    - name: course_id
      in: path
      value: $inputs.courseId
    - name: assignment_id
      in: path
      value: $inputs.assignmentId
    requestBody:
      contentType: application/json
      payload:
        assignment:
          due_at: $inputs.newDueAt
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      assignmentId: $response.body#/id
      dueAt: $response.body#/due_at
  - stepId: confirmDueDate
    description: >-
      Re-read the assignment to confirm the new due date was applied.
    operationId: getAssignment
    parameters:
    - name: course_id
      in: path
      value: $inputs.courseId
    - name: assignment_id
      in: path
      value: $inputs.assignmentId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      dueAt: $response.body#/due_at
  - stepId: gradeLateSubmission
    description: >-
      Post the grade to the student's submission and record the late policy
      status so the gradebook reflects the accommodation.
    operationId: gradeSubmission
    parameters:
    - name: course_id
      in: path
      value: $inputs.courseId
    - name: assignment_id
      in: path
      value: $inputs.assignmentId
    - name: user_id
      in: path
      value: $inputs.userId
    requestBody:
      contentType: application/json
      payload:
        submission:
          posted_grade: $inputs.postedGrade
          late_policy_status: $inputs.latePolicyStatus
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      grade: $response.body#/grade
      latePolicyStatus: $response.body#/late_policy_status
  outputs:
    assignmentId: $steps.extendDueDate.outputs.assignmentId
    dueAt: $steps.confirmDueDate.outputs.dueAt
    grade: $steps.gradeLateSubmission.outputs.grade

Work with this as data

Every workflow 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 arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • 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 workflow
curl "https://apis.io/api/v1/arazzo/canvas-lms-update-assignment-due-date-and-grade-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?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.