Documentation

Assignment extends AbstractBaseApi

Canvas LMS Assignments API

Provides functionality to manage assignments in Canvas LMS. This class handles creating, reading, updating, and deleting assignments for a specific course.

Usage Examples:

// Set course context (required for all operations)
$course = Course::find(123);
Assignment::setCourse($course);

// Create a new assignment
$assignmentData = [
    'name' => 'Homework Assignment 1',
    'description' => 'Complete exercises 1-10',
    'points_possible' => 100,
    'due_at' => '2024-12-31T23:59:59Z'
];
$assignment = Assignment::create($assignmentData);

// Find an assignment by ID
$assignment = Assignment::find(456);

// Get first page of assignments (memory efficient)
$assignments = Assignment::get();
$assignments = Assignment::get(['order_by' => 'due_at']);

// Get ALL assignments from all pages (be mindful of memory)
$allAssignments = Assignment::all();

// Get paginated results with metadata (recommended)
$paginated = Assignment::paginate(['per_page' => 25]);
echo "Page {$paginated->getCurrentPage()} of {$paginated->getTotalPages()}";

// Update an assignment
$updatedAssignment = Assignment::update(456, ['points_possible' => 150]);

// Update using DTO
$updateDto = new UpdateAssignmentDTO(['name' => 'Updated Assignment Name']);
$updatedAssignment = Assignment::update(456, $updateDto);

// Update using instance method
$assignment = Assignment::find(456);
$assignment->setPointsPossible(125);
$success = $assignment->save();

// Delete an assignment
$assignment = Assignment::find(456);
$success = $assignment->delete();

// Duplicate an assignment
$duplicatedAssignment = Assignment::duplicate(456);

Table of Contents

Properties

$abGuid  : array<string|int, string>|null
Academic benchmark GUIDs
$allDates  : array<string, mixed>|null
All date variations for the assignment
$allowedAttempts  : int|null
Maximum number of submission attempts allowed
$allowedExtensions  : array<string|int, string>|null
Allowed file extensions for submissions
$annotatableAttachmentId  : int|null
Annotatable attachment ID
$anonymizeStudents  : bool|null
Whether student names are anonymized
$anonymousGrading  : bool|null
Whether grading is anonymous
$anonymousInstructorAnnotations  : bool|null
Whether instructor annotations are anonymous
$anonymousPeerReviews  : bool|null
Whether peer reviews are anonymous
$anonymousSubmissions  : bool|null
Whether anonymous submissions are allowed
$assignmentGroupId  : int|null
Assignment group ID
$assignmentVisibility  : array<string|int, int>|null
Array of student IDs who can see assignment
$automaticPeerReviews  : bool|null
Whether automatic peer reviews are enabled
$canDuplicate  : bool|null
Whether assignment can be duplicated
$canSubmit  : bool|null
Whether user can submit
$courseId  : int|null
Course ID this assignment belongs to
$createdAt  : string|null
Assignment creation timestamp
$description  : string|null
Assignment description (HTML)
$discussionTopic  : array<string, mixed>|null
Associated discussion topic
$dueAt  : string|null
Assignment due date
$dueDateRequired  : bool|null
Boolean flag indicating whether assignment requires due date
$externalToolTagAttributes  : array<string, mixed>|null
External tool tag attributes
$finalGraderId  : int|null
Final grader user ID
$freezeOnCopy  : bool|null
Whether assignment is frozen on copy
$frozen  : bool|null
Whether assignment is frozen
$frozenAttributes  : array<string|int, string>|null
Array of frozen attributes
$gradedSubmissionsExist  : bool|null
Whether assignment has graded submissions
$gradeGroupStudentsIndividually  : bool|null
Whether group students are graded individually
$graderCommentsVisibleToGraders  : bool|null
Whether grader comments are visible to graders
$graderCount  : int|null
Number of provisional graders
$gradersAnonymousToGraders  : bool|null
Whether graders are anonymous to other graders
$gradersNamesVisibleToFinalGrader  : bool|null
Whether grader names are visible to final grader
$gradingStandardId  : int|null
Grading standard ID
$gradingType  : string|null
Grading type (points, percent, pass_fail, etc.)
$groupCategoryId  : int|null
Group category ID for group assignments
$hasOverrides  : bool|null
Whether the assignment has date overrides
$hasSubmittedSubmissions  : bool|null
Whether assignment has submitted submissions
$hideInGradebook  : bool|null
Whether assignment is hidden in gradebook
$htmlUrl  : string|null
HTML URL to the assignment
$id  : int|null
Assignment unique identifier
$importantDates  : bool|null
Whether assignment has important dates
$inClosedGradingPeriod  : bool|null
Whether assignment is in closed grading period
$integrationData  : array<string, mixed>|null
Third-party integration data
$integrationId  : string|null
Third-party integration ID
$intraGroupPeerReviews  : bool|null
Whether intra-group peer reviews are allowed
$isQuizAssignment  : bool|null
Whether this is a quiz assignment
$lockAt  : string|null
Date when assignment becomes locked
$lockedForUser  : bool|null
Whether assignment is locked for the current user
$lockExplanation  : string|null
Lock explanation text
$lockInfo  : array<string, mixed>|null
Lock information object
$maxNameLength  : int|null
Integer indicating maximum assignment name length
$moderatedGrading  : bool|null
Whether moderated grading is enabled
$muted  : bool|null
Whether notifications are muted (deprecated)
$name  : string|null
Assignment name
$needsGradingCount  : int|null
Number of submissions needing grading
$needsGradingCountBySection  : array<string|int, array<string, mixed>>|null
Grading count by section
$omitFromFinalGrade  : bool|null
Whether assignment is omitted from final grade
$onlyVisibleToOverrides  : bool|null
Whether assignment is only visible to users with overrides
$originalAssignmentId  : int|null
Original assignment ID if duplicated
$originalAssignmentName  : string|null
Original assignment name if duplicated
$originalCourseId  : int|null
Original course ID if duplicated
$originalLtiResourceLinkId  : int|null
Original LTI resource link ID if duplicated
$originalQuizId  : int|null
Original quiz ID if duplicated
$overrides  : array<string|int, array<string, mixed>>|null
Array of assignment override objects
$peerReviewCount  : int|null
Number of peer reviews per user
$peerReviews  : bool|null
Whether peer reviews are enabled
$peerReviewsAssignAt  : string|null
Date peer reviews are assigned
$pointsPossible  : float|null
Maximum points possible for this assignment
$position  : int|null
Assignment position in the group
$postManually  : bool|null
Whether assignment posts grades manually
$postToSis  : bool|null
Whether to post to SIS
$published  : bool|null
Whether the assignment is published
$quizId  : int|null
Associated quiz ID
$requireLockdownBrowser  : bool|null
Whether LockDown Browser is required
$rubric  : array<string, mixed>|null
Rubric criteria and ratings
$rubricSettings  : array<string, mixed>|null
Rubric settings
$scoreStatistics  : array<string, mixed>|null
Score statistics
$submission  : array<string, mixed>|null
Current user's submission
$submissionsDownloadUrl  : string|null
URL to download all submissions as a zip
$submissionTypes  : array<string|int, string>|null
Allowed submission types
$turnitinEnabled  : bool|null
Whether Turnitin is enabled for this assignment
$turnitinSettings  : array<string, mixed>|null
Turnitin settings object
$unlockAt  : string|null
Date when assignment becomes available
$unpublishable  : bool|null
Whether assignment can be unpublished
$updatedAt  : string|null
Assignment last update timestamp
$useRubricForGrading  : bool|null
Whether rubric is used for grading
$vericiteEnabled  : bool|null
Whether VeriCite is enabled for this assignment
$workflowState  : string|null
Assignment workflow state (published, unpublished, etc.)
$apiClient  : HttpClientInterface
$course  : Course|null
$methodAliases  : array<string|int, mixed>
Define method aliases

Methods

__callStatic()  : mixed
Magic method to handle function aliases
__construct()  : mixed
Create a new Assignment instance
all()  : array<string|int, static>
Get all pages of results
checkCourse()  : bool
Check if course context is set
create()  : self
Create a new assignment
delete()  : self
Delete the assignment
duplicate()  : self
Duplicate an assignment
find()  : self
Find a single assignment by ID
get()  : array<string|int, static>
Get first page of results
getAllDates()  : array<string, mixed>|null
Get all dates
getAllowedAttempts()  : int|null
Get allowed attempts
getAllowedExtensions()  : array<string|int, string>|null
Get allowed extensions
getAnonymousGrading()  : bool|null
Get anonymous grading status
getAssignmentGroupId()  : int|null
Get assignment group ID
getCourseId()  : int|null
Get course ID
getCreatedAt()  : string|null
Get created at timestamp
getDescription()  : string|null
Get assignment description
getDueAt()  : string|null
Get due date
getGradingType()  : string|null
Get grading type
getGroupCategoryId()  : int|null
Get group category ID
getHasOverrides()  : bool|null
Get has overrides status
getHtmlUrl()  : string|null
Get HTML URL
getId()  : int|null
Get assignment ID
getLockAt()  : string|null
Get lock date
getLockedForUser()  : bool|null
Get locked for user status
getModeratedGrading()  : bool|null
Get moderated grading status
getName()  : string|null
Get assignment name
getOnlyVisibleToOverrides()  : bool|null
Get only visible to overrides status
getPeerReviews()  : bool|null
Get peer reviews status
getPointsPossible()  : float|null
Get points possible
getPosition()  : int|null
Get assignment position
getPublished()  : bool|null
Get published status
getSubmissionCount()  : int
Get count of submissions for this assignment
getSubmissionTypes()  : array<string|int, string>|null
Get submission types
getUnlockAt()  : string|null
Get unlock date
getUpdatedAt()  : string|null
Get updated at timestamp
getWorkflowState()  : string|null
Get workflow state
overrides()  : array<string|int, mixed>
Get assignment overrides
paginate()  : PaginationResult
Get paginated results with metadata
rubric()  : Rubric|null
Get rubric associated with this assignment
rubricAssociation()  : RubricAssociation|null
Get rubric association for this assignment
save()  : self
Save the current assignment (create or update)
setAllDates()  : void
Set all dates
setAllowedAttempts()  : void
Set allowed attempts
setAllowedExtensions()  : void
Set allowed extensions
setAnonymousGrading()  : void
Set anonymous grading status
setApiClient()  : void
Set the API client
setAssignmentGroupId()  : void
Set assignment group ID
setCourse()  : void
Set the course context for assignment operations
setCourseId()  : void
Set course ID
setCreatedAt()  : void
Set created at timestamp
setDescription()  : void
Set assignment description
setDueAt()  : void
Set due date
setGradingType()  : void
Set grading type
setGroupCategoryId()  : void
Set group category ID
setHasOverrides()  : void
Set has overrides status
setHtmlUrl()  : void
Set HTML URL
setId()  : void
Set assignment ID
setLockAt()  : void
Set lock date
setLockedForUser()  : void
Set locked for user status
setModeratedGrading()  : void
Set moderated grading status
setName()  : void
Set assignment name
setOnlyVisibleToOverrides()  : void
Set only visible to overrides status
setPeerReviews()  : void
Set peer reviews status
setPointsPossible()  : void
Set points possible
setPosition()  : void
Set assignment position
setPublished()  : void
Set published status
setSubmissionTypes()  : void
Set submission types
setUnlockAt()  : void
Set unlock date
setUpdatedAt()  : void
Set updated at timestamp
setWorkflowState()  : void
Set workflow state
submissionForUser()  : Submission|null
Get submission for a specific user
submissions()  : array<string|int, Submission>
Get submissions for this assignment
toArray()  : array<string, mixed>
Convert assignment to array
toDtoArray()  : array<string, mixed>
Convert assignment to DTO array format
update()  : self
Update an assignment
castValue()  : DateTime|mixed
Cast a value to the correct type
checkApiClient()  : void
Check if the API client is set, if not, instantiate a new one
convertPaginatedResponseToModels()  : array<string|int, static>
Helper method to convert paginated response data to model instances
createConfiguredHttpClient()  : HttpClient
Create an HttpClient with configured middleware
createPaginationResult()  : PaginationResult
Helper method to create PaginationResult from paginated response
getEndpoint()  : string
Get the API endpoint for this resource
getPaginatedResponse()  : PaginatedResponse
Helper method to get paginated response from API endpoint
populate()  : void
Populate the object with new data

Properties

$abGuid

Academic benchmark GUIDs

public array<string|int, string>|null $abGuid = null

$allDates

All date variations for the assignment

public array<string, mixed>|null $allDates = null

$allowedAttempts

Maximum number of submission attempts allowed

public int|null $allowedAttempts = null

$allowedExtensions

Allowed file extensions for submissions

public array<string|int, string>|null $allowedExtensions = null

$annotatableAttachmentId

Annotatable attachment ID

public int|null $annotatableAttachmentId = null

$anonymizeStudents

Whether student names are anonymized

public bool|null $anonymizeStudents = null

$anonymousGrading

Whether grading is anonymous

public bool|null $anonymousGrading = null

$anonymousInstructorAnnotations

Whether instructor annotations are anonymous

public bool|null $anonymousInstructorAnnotations = null

$anonymousPeerReviews

Whether peer reviews are anonymous

public bool|null $anonymousPeerReviews = null

$anonymousSubmissions

Whether anonymous submissions are allowed

public bool|null $anonymousSubmissions = null

$assignmentGroupId

Assignment group ID

public int|null $assignmentGroupId = null

$assignmentVisibility

Array of student IDs who can see assignment

public array<string|int, int>|null $assignmentVisibility = null

$automaticPeerReviews

Whether automatic peer reviews are enabled

public bool|null $automaticPeerReviews = null

$canDuplicate

Whether assignment can be duplicated

public bool|null $canDuplicate = null

$canSubmit

Whether user can submit

public bool|null $canSubmit = null

$courseId

Course ID this assignment belongs to

public int|null $courseId = null

$createdAt

Assignment creation timestamp

public string|null $createdAt = null

$description

Assignment description (HTML)

public string|null $description = null

$discussionTopic

Associated discussion topic

public array<string, mixed>|null $discussionTopic = null

$dueAt

Assignment due date

public string|null $dueAt = null

$dueDateRequired

Boolean flag indicating whether assignment requires due date

public bool|null $dueDateRequired = null

$externalToolTagAttributes

External tool tag attributes

public array<string, mixed>|null $externalToolTagAttributes = null

$finalGraderId

Final grader user ID

public int|null $finalGraderId = null

$freezeOnCopy

Whether assignment is frozen on copy

public bool|null $freezeOnCopy = null

$frozen

Whether assignment is frozen

public bool|null $frozen = null

$frozenAttributes

Array of frozen attributes

public array<string|int, string>|null $frozenAttributes = null

$gradedSubmissionsExist

Whether assignment has graded submissions

public bool|null $gradedSubmissionsExist = null

$gradeGroupStudentsIndividually

Whether group students are graded individually

public bool|null $gradeGroupStudentsIndividually = null

$graderCommentsVisibleToGraders

Whether grader comments are visible to graders

public bool|null $graderCommentsVisibleToGraders = null

$graderCount

Number of provisional graders

public int|null $graderCount = null

$gradersAnonymousToGraders

Whether graders are anonymous to other graders

public bool|null $gradersAnonymousToGraders = null

$gradersNamesVisibleToFinalGrader

Whether grader names are visible to final grader

public bool|null $gradersNamesVisibleToFinalGrader = null

$gradingStandardId

Grading standard ID

public int|null $gradingStandardId = null

$gradingType

Grading type (points, percent, pass_fail, etc.)

public string|null $gradingType = null

$groupCategoryId

Group category ID for group assignments

public int|null $groupCategoryId = null

$hasOverrides

Whether the assignment has date overrides

public bool|null $hasOverrides = null

$hasSubmittedSubmissions

Whether assignment has submitted submissions

public bool|null $hasSubmittedSubmissions = null

$hideInGradebook

Whether assignment is hidden in gradebook

public bool|null $hideInGradebook = null

$htmlUrl

HTML URL to the assignment

public string|null $htmlUrl = null

$id

Assignment unique identifier

public int|null $id = null

$importantDates

Whether assignment has important dates

public bool|null $importantDates = null

$inClosedGradingPeriod

Whether assignment is in closed grading period

public bool|null $inClosedGradingPeriod = null

$integrationData

Third-party integration data

public array<string, mixed>|null $integrationData = null

$integrationId

Third-party integration ID

public string|null $integrationId = null

$intraGroupPeerReviews

Whether intra-group peer reviews are allowed

public bool|null $intraGroupPeerReviews = null

$isQuizAssignment

Whether this is a quiz assignment

public bool|null $isQuizAssignment = null

$lockAt

Date when assignment becomes locked

public string|null $lockAt = null

$lockedForUser

Whether assignment is locked for the current user

public bool|null $lockedForUser = null

$lockExplanation

Lock explanation text

public string|null $lockExplanation = null

$lockInfo

Lock information object

public array<string, mixed>|null $lockInfo = null

$maxNameLength

Integer indicating maximum assignment name length

public int|null $maxNameLength = null

$moderatedGrading

Whether moderated grading is enabled

public bool|null $moderatedGrading = null

$muted

Whether notifications are muted (deprecated)

public bool|null $muted = null

$name

Assignment name

public string|null $name = null

$needsGradingCount

Number of submissions needing grading

public int|null $needsGradingCount = null

$needsGradingCountBySection

Grading count by section

public array<string|int, array<string, mixed>>|null $needsGradingCountBySection = null

$omitFromFinalGrade

Whether assignment is omitted from final grade

public bool|null $omitFromFinalGrade = null

$onlyVisibleToOverrides

Whether assignment is only visible to users with overrides

public bool|null $onlyVisibleToOverrides = null

$originalAssignmentId

Original assignment ID if duplicated

public int|null $originalAssignmentId = null

$originalAssignmentName

Original assignment name if duplicated

public string|null $originalAssignmentName = null

$originalCourseId

Original course ID if duplicated

public int|null $originalCourseId = null

$originalLtiResourceLinkId

Original LTI resource link ID if duplicated

public int|null $originalLtiResourceLinkId = null

$originalQuizId

Original quiz ID if duplicated

public int|null $originalQuizId = null

$overrides

Array of assignment override objects

public array<string|int, array<string, mixed>>|null $overrides = null

$peerReviewCount

Number of peer reviews per user

public int|null $peerReviewCount = null

$peerReviews

Whether peer reviews are enabled

public bool|null $peerReviews = null

$peerReviewsAssignAt

Date peer reviews are assigned

public string|null $peerReviewsAssignAt = null

$pointsPossible

Maximum points possible for this assignment

public float|null $pointsPossible = null

$position

Assignment position in the group

public int|null $position = null

$postManually

Whether assignment posts grades manually

public bool|null $postManually = null

$postToSis

Whether to post to SIS

public bool|null $postToSis = null

$published

Whether the assignment is published

public bool|null $published = null

$quizId

Associated quiz ID

public int|null $quizId = null

$requireLockdownBrowser

Whether LockDown Browser is required

public bool|null $requireLockdownBrowser = null

$rubric

Rubric criteria and ratings

public array<string, mixed>|null $rubric = null

$rubricSettings

Rubric settings

public array<string, mixed>|null $rubricSettings = null

$scoreStatistics

Score statistics

public array<string, mixed>|null $scoreStatistics = null

$submission

Current user's submission

public array<string, mixed>|null $submission = null

$submissionsDownloadUrl

URL to download all submissions as a zip

public string|null $submissionsDownloadUrl = null

$submissionTypes

Allowed submission types

public array<string|int, string>|null $submissionTypes = null

$turnitinEnabled

Whether Turnitin is enabled for this assignment

public bool|null $turnitinEnabled = null

$turnitinSettings

Turnitin settings object

public array<string, mixed>|null $turnitinSettings = null

$unlockAt

Date when assignment becomes available

public string|null $unlockAt = null

$unpublishable

Whether assignment can be unpublished

public bool|null $unpublishable = null

$updatedAt

Assignment last update timestamp

public string|null $updatedAt = null

$useRubricForGrading

Whether rubric is used for grading

public bool|null $useRubricForGrading = null

$vericiteEnabled

Whether VeriCite is enabled for this assignment

public bool|null $vericiteEnabled = null

$workflowState

Assignment workflow state (published, unpublished, etc.)

public string|null $workflowState = null

$methodAliases

Define method aliases

protected static array<string|int, mixed> $methodAliases = ['get' => ['fetch', 'list', 'fetchAll'], 'all' => ['fetchAllPages', 'getAll'], 'paginate' => ['getPaginated', 'withPagination', 'fetchPage'], 'find' => ['one', 'getOne']]

Methods

__callStatic()

Magic method to handle function aliases

public static __callStatic(string $name, array<string|int, mixed> $arguments) : mixed
Parameters
$name : string
$arguments : array<string|int, mixed>
Tags
throws
InvalidArgumentException

__construct()

Create a new Assignment instance

public __construct([array<string, mixed> $data = [] ]) : mixed
Parameters
$data : array<string, mixed> = []

Assignment data from Canvas API

all()

Get all pages of results

public static all([array<string, mixed> $params = [] ]) : array<string|int, static>
Parameters
$params : array<string, mixed> = []

Query parameters

Return values
array<string|int, static>

checkCourse()

Check if course context is set

public static checkCourse() : bool
Tags
throws
CanvasApiException

If course is not set

Return values
bool

duplicate()

Duplicate an assignment

public static duplicate(int $id[, array<string, mixed> $options = [] ]) : self
Parameters
$id : int

Assignment ID to duplicate

$options : array<string, mixed> = []

Duplication options

Tags
throws
CanvasApiException
Return values
self

Duplicated Assignment object

find()

Find a single assignment by ID

public static find(int $id[, array<string|int, mixed> $params = [] ]) : self
Parameters
$id : int

Assignment ID

$params : array<string|int, mixed> = []

Optional query parameters

Tags
throws
CanvasApiException
Return values
self

get()

Get first page of results

public static get([array<string, mixed> $params = [] ]) : array<string|int, static>
Parameters
$params : array<string, mixed> = []

Query parameters

Return values
array<string|int, static>

getAllDates()

Get all dates

public getAllDates() : array<string, mixed>|null
Return values
array<string, mixed>|null

getAllowedAttempts()

Get allowed attempts

public getAllowedAttempts() : int|null
Return values
int|null

getAllowedExtensions()

Get allowed extensions

public getAllowedExtensions() : array<string|int, string>|null
Return values
array<string|int, string>|null

getAnonymousGrading()

Get anonymous grading status

public getAnonymousGrading() : bool|null
Return values
bool|null

getAssignmentGroupId()

Get assignment group ID

public getAssignmentGroupId() : int|null
Return values
int|null

getCourseId()

Get course ID

public getCourseId() : int|null
Return values
int|null

getCreatedAt()

Get created at timestamp

public getCreatedAt() : string|null
Return values
string|null

getDescription()

Get assignment description

public getDescription() : string|null
Return values
string|null

getDueAt()

Get due date

public getDueAt() : string|null
Return values
string|null

getGradingType()

Get grading type

public getGradingType() : string|null
Return values
string|null

getGroupCategoryId()

Get group category ID

public getGroupCategoryId() : int|null
Return values
int|null

getHasOverrides()

Get has overrides status

public getHasOverrides() : bool|null
Return values
bool|null

getHtmlUrl()

Get HTML URL

public getHtmlUrl() : string|null
Return values
string|null

getId()

Get assignment ID

public getId() : int|null
Return values
int|null

getLockAt()

Get lock date

public getLockAt() : string|null
Return values
string|null

getLockedForUser()

Get locked for user status

public getLockedForUser() : bool|null
Return values
bool|null

getModeratedGrading()

Get moderated grading status

public getModeratedGrading() : bool|null
Return values
bool|null

getName()

Get assignment name

public getName() : string|null
Return values
string|null

getOnlyVisibleToOverrides()

Get only visible to overrides status

public getOnlyVisibleToOverrides() : bool|null
Return values
bool|null

getPeerReviews()

Get peer reviews status

public getPeerReviews() : bool|null
Return values
bool|null

getPointsPossible()

Get points possible

public getPointsPossible() : float|null
Return values
float|null

getPosition()

Get assignment position

public getPosition() : int|null
Return values
int|null

getPublished()

Get published status

public getPublished() : bool|null
Return values
bool|null

getSubmissionCount()

Get count of submissions for this assignment

public getSubmissionCount() : int
Tags
throws
CanvasApiException
Return values
int

getSubmissionTypes()

Get submission types

public getSubmissionTypes() : array<string|int, string>|null
Return values
array<string|int, string>|null

getUnlockAt()

Get unlock date

public getUnlockAt() : string|null
Return values
string|null

getUpdatedAt()

Get updated at timestamp

public getUpdatedAt() : string|null
Return values
string|null

getWorkflowState()

Get workflow state

public getWorkflowState() : string|null
Return values
string|null

overrides()

Get assignment overrides

public overrides() : array<string|int, mixed>
Tags
throws
CanvasApiException
Return values
array<string|int, mixed>

setAllDates()

Set all dates

public setAllDates(array<string, mixed>|null $allDates) : void
Parameters
$allDates : array<string, mixed>|null

setAllowedAttempts()

Set allowed attempts

public setAllowedAttempts(int|null $allowedAttempts) : void
Parameters
$allowedAttempts : int|null

setAllowedExtensions()

Set allowed extensions

public setAllowedExtensions(array<string|int, string>|null $allowedExtensions) : void
Parameters
$allowedExtensions : array<string|int, string>|null

setAnonymousGrading()

Set anonymous grading status

public setAnonymousGrading(bool|null $anonymousGrading) : void
Parameters
$anonymousGrading : bool|null

setAssignmentGroupId()

Set assignment group ID

public setAssignmentGroupId(int|null $assignmentGroupId) : void
Parameters
$assignmentGroupId : int|null

setCourse()

Set the course context for assignment operations

public static setCourse(Course $course) : void
Parameters
$course : Course

The course to operate on

setCourseId()

Set course ID

public setCourseId(int|null $courseId) : void
Parameters
$courseId : int|null

setCreatedAt()

Set created at timestamp

public setCreatedAt(string|null $createdAt) : void
Parameters
$createdAt : string|null

setDescription()

Set assignment description

public setDescription(string|null $description) : void
Parameters
$description : string|null

setDueAt()

Set due date

public setDueAt(string|null $dueAt) : void
Parameters
$dueAt : string|null

setGradingType()

Set grading type

public setGradingType(string|null $gradingType) : void
Parameters
$gradingType : string|null

setGroupCategoryId()

Set group category ID

public setGroupCategoryId(int|null $groupCategoryId) : void
Parameters
$groupCategoryId : int|null

setHasOverrides()

Set has overrides status

public setHasOverrides(bool|null $hasOverrides) : void
Parameters
$hasOverrides : bool|null

setHtmlUrl()

Set HTML URL

public setHtmlUrl(string|null $htmlUrl) : void
Parameters
$htmlUrl : string|null

setId()

Set assignment ID

public setId(int|null $id) : void
Parameters
$id : int|null

setLockAt()

Set lock date

public setLockAt(string|null $lockAt) : void
Parameters
$lockAt : string|null

setLockedForUser()

Set locked for user status

public setLockedForUser(bool|null $lockedForUser) : void
Parameters
$lockedForUser : bool|null

setModeratedGrading()

Set moderated grading status

public setModeratedGrading(bool|null $moderatedGrading) : void
Parameters
$moderatedGrading : bool|null

setName()

Set assignment name

public setName(string|null $name) : void
Parameters
$name : string|null

setOnlyVisibleToOverrides()

Set only visible to overrides status

public setOnlyVisibleToOverrides(bool|null $onlyVisibleToOverrides) : void
Parameters
$onlyVisibleToOverrides : bool|null

setPeerReviews()

Set peer reviews status

public setPeerReviews(bool|null $peerReviews) : void
Parameters
$peerReviews : bool|null

setPointsPossible()

Set points possible

public setPointsPossible(float|null $pointsPossible) : void
Parameters
$pointsPossible : float|null

setPosition()

Set assignment position

public setPosition(int|null $position) : void
Parameters
$position : int|null

setPublished()

Set published status

public setPublished(bool|null $published) : void
Parameters
$published : bool|null

setSubmissionTypes()

Set submission types

public setSubmissionTypes(array<string|int, string>|null $submissionTypes) : void
Parameters
$submissionTypes : array<string|int, string>|null

setUnlockAt()

Set unlock date

public setUnlockAt(string|null $unlockAt) : void
Parameters
$unlockAt : string|null

setUpdatedAt()

Set updated at timestamp

public setUpdatedAt(string|null $updatedAt) : void
Parameters
$updatedAt : string|null

setWorkflowState()

Set workflow state

public setWorkflowState(string|null $workflowState) : void
Parameters
$workflowState : string|null

submissions()

Get submissions for this assignment

public submissions([array<string, mixed> $params = [] ]) : array<string|int, Submission>
Parameters
$params : array<string, mixed> = []

Query parameters

Tags
throws
CanvasApiException
Return values
array<string|int, Submission>

toArray()

Convert assignment to array

public toArray() : array<string, mixed>
Return values
array<string, mixed>

toDtoArray()

Convert assignment to DTO array format

public toDtoArray() : array<string, mixed>
Return values
array<string, mixed>

castValue()

Cast a value to the correct type

protected castValue(string $key, mixed $value) : DateTime|mixed
Parameters
$key : string
$value : mixed
Tags
throws
Exception
Return values
DateTime|mixed

checkApiClient()

Check if the API client is set, if not, instantiate a new one

protected static checkApiClient() : void

convertPaginatedResponseToModels()

Helper method to convert paginated response data to model instances

protected static convertPaginatedResponseToModels(PaginatedResponse $paginatedResponse) : array<string|int, static>
Parameters
$paginatedResponse : PaginatedResponse
Return values
array<string|int, static>

getEndpoint()

Get the API endpoint for this resource

protected static getEndpoint() : string
Tags
throws
CanvasApiException
Return values
string

getPaginatedResponse()

Helper method to get paginated response from API endpoint

protected static getPaginatedResponse(string $endpoint[, array<string|int, mixed> $params = [] ]) : PaginatedResponse
Parameters
$endpoint : string

The API endpoint path

$params : array<string|int, mixed> = []

Query parameters for the request

Return values
PaginatedResponse

populate()

Populate the object with new data

protected populate(array<string|int, mixed> $data) : void
Parameters
$data : array<string|int, mixed>
Tags
throws
Exception

        
On this page

Search results