Documentation

Analytics
in package

Analytics API for Canvas LMS

Provides read-only access to learning analytics data across Account, Course, and User contexts. Returns raw arrays matching Canvas API JSON responses.

Tags
see
https://canvas.instructure.com/doc/api/analytics.html

Table of Contents

Properties

$httpClient  : HttpClientInterface|null
$logger  : LoggerInterface

Methods

fetchAccountActivity()  : array<string, mixed>
Get department-level participation data for current term
fetchAccountActivityByTerm()  : array<string, mixed>
Get department-level participation data for a specific term
fetchAccountCompletedActivity()  : array<string, mixed>
Get department-level participation data for completed courses
fetchAccountCompletedGrades()  : array<string, mixed>
Get department-level grade distribution for completed courses
fetchAccountCompletedStatistics()  : array<string, mixed>
Get department-level statistics for completed courses
fetchAccountCompletedStatisticsBySubaccount()  : array<string, mixed>
Get department-level statistics by subaccount for completed courses
fetchAccountGrades()  : array<string, mixed>
Get department-level grade distribution for current term
fetchAccountGradesByTerm()  : array<string, mixed>
Get department-level grade distribution for a specific term
fetchAccountStatistics()  : array<string, mixed>
Get department-level statistics for current term
fetchAccountStatisticsBySubaccount()  : array<string, mixed>
Get department-level statistics broken down by subaccount for current term
fetchAccountStatisticsBySubaccountByTerm()  : array<string, mixed>
Get department-level statistics broken down by subaccount for a specific term
fetchAccountStatisticsByTerm()  : array<string, mixed>
Get department-level statistics for a specific term
fetchCourseActivity()  : array<int, array<string, mixed>>
Get course-level participation data
fetchCourseAssignments()  : array<int, array<string, mixed>>|array<string, string>
Get course-level assignment data
fetchCourseStudentSummaries()  : array<int, array<string, mixed>>
Get course-level student summary data
fetchUserCourseActivity()  : array<string, mixed>
Get user-in-course participation data
fetchUserCourseAssignments()  : array<int, array<string, mixed>>
Get user-in-course assignment data
fetchUserCourseCommunication()  : array<string, mixed>
Get user-in-course messaging data
setHttpClient()  : void
Set a custom HTTP client
setLogger()  : void
Set a logger instance
get()  : array<string|int, mixed>
Make a GET request to the Analytics API
getHttpClient()  : HttpClientInterface
Get the HTTP client instance
initLogger()  : void
Initialize the logger

Properties

$logger

private static LoggerInterface $logger

Methods

fetchAccountActivity()

Get department-level participation data for current term

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

Account ID (defaults to Config::getAccountId())

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

Additional parameters

Tags
throws
CanvasApiException
Return values
array<string, mixed>

Returns ['by_date' => [...], 'by_category' => [...]]

fetchAccountActivityByTerm()

Get department-level participation data for a specific term

public static fetchAccountActivityByTerm(int $termId[, int|null $accountId = null ][, array<string, mixed> $params = [] ]) : array<string, mixed>
Parameters
$termId : int

Term ID

$accountId : int|null = null

Account ID (defaults to Config::getAccountId())

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

Additional parameters

Tags
throws
CanvasApiException
Return values
array<string, mixed>

Returns ['by_date' => [...], 'by_category' => [...]]

fetchAccountCompletedActivity()

Get department-level participation data for completed courses

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

Account ID (defaults to Config::getAccountId())

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

Additional parameters

Tags
throws
CanvasApiException
Return values
array<string, mixed>

Returns ['by_date' => [...], 'by_category' => [...]]

fetchAccountCompletedGrades()

Get department-level grade distribution for completed courses

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

Account ID (defaults to Config::getAccountId())

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

Additional parameters

Tags
throws
CanvasApiException
Return values
array<string, mixed>

Returns grade distribution with scores as keys

fetchAccountCompletedStatistics()

Get department-level statistics for completed courses

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

Account ID (defaults to Config::getAccountId())

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

Additional parameters

Tags
throws
CanvasApiException
Return values
array<string, mixed>

Returns statistics array

fetchAccountCompletedStatisticsBySubaccount()

Get department-level statistics by subaccount for completed courses

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

Account ID (defaults to Config::getAccountId())

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

Additional parameters

Tags
throws
CanvasApiException
Return values
array<string, mixed>

Returns ['accounts' => [...]]

fetchAccountGrades()

Get department-level grade distribution for current term

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

Account ID (defaults to Config::getAccountId())

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

Additional parameters

Tags
throws
CanvasApiException
Return values
array<string, mixed>

Returns grade distribution with scores as keys

fetchAccountGradesByTerm()

Get department-level grade distribution for a specific term

public static fetchAccountGradesByTerm(int $termId[, int|null $accountId = null ][, array<string, mixed> $params = [] ]) : array<string, mixed>
Parameters
$termId : int

Term ID

$accountId : int|null = null

Account ID (defaults to Config::getAccountId())

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

Additional parameters

Tags
throws
CanvasApiException
Return values
array<string, mixed>

Returns grade distribution with scores as keys

fetchAccountStatistics()

Get department-level statistics for current term

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

Account ID (defaults to Config::getAccountId())

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

Additional parameters

Tags
throws
CanvasApiException
Return values
array<string, mixed>

Returns statistics array

fetchAccountStatisticsBySubaccount()

Get department-level statistics broken down by subaccount for current term

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

Account ID (defaults to Config::getAccountId())

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

Additional parameters

Tags
throws
CanvasApiException
Return values
array<string, mixed>

Returns ['accounts' => [...]]

fetchAccountStatisticsBySubaccountByTerm()

Get department-level statistics broken down by subaccount for a specific term

public static fetchAccountStatisticsBySubaccountByTerm(int $termId[, int|null $accountId = null ][, array<string, mixed> $params = [] ]) : array<string, mixed>
Parameters
$termId : int

Term ID

$accountId : int|null = null

Account ID (defaults to Config::getAccountId())

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

Additional parameters

Tags
throws
CanvasApiException
Return values
array<string, mixed>

Returns ['accounts' => [...]]

fetchAccountStatisticsByTerm()

Get department-level statistics for a specific term

public static fetchAccountStatisticsByTerm(int $termId[, int|null $accountId = null ][, array<string, mixed> $params = [] ]) : array<string, mixed>
Parameters
$termId : int

Term ID

$accountId : int|null = null

Account ID (defaults to Config::getAccountId())

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

Additional parameters

Tags
throws
CanvasApiException
Return values
array<string, mixed>

Returns statistics array

fetchCourseActivity()

Get course-level participation data

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

Course ID

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

Additional parameters

Tags
throws
CanvasApiException
Return values
array<int, array<string, mixed>>

Returns array of activity data by date

fetchCourseAssignments()

Get course-level assignment data

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

Course ID

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

Additional parameters (e.g., ['async' => true])

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

Array of assignments or progress URL

fetchCourseStudentSummaries()

Get course-level student summary data

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

Course ID

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

Additional parameters (e.g., ['sort_column' => 'name'])

Tags
throws
CanvasApiException
Return values
array<int, array<string, mixed>>

Returns array of student summaries

fetchUserCourseActivity()

Get user-in-course participation data

public static fetchUserCourseActivity(int $courseId, int $userId[, array<string, mixed> $params = [] ]) : array<string, mixed>
Parameters
$courseId : int

Course ID

$userId : int

User/Student ID

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

Additional parameters

Tags
throws
CanvasApiException
Return values
array<string, mixed>

Returns ['page_views' => [...], 'participations' => [...]]

fetchUserCourseAssignments()

Get user-in-course assignment data

public static fetchUserCourseAssignments(int $courseId, int $userId[, array<string, mixed> $params = [] ]) : array<int, array<string, mixed>>
Parameters
$courseId : int

Course ID

$userId : int

User/Student ID

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

Additional parameters

Tags
throws
CanvasApiException
Return values
array<int, array<string, mixed>>

Returns array of assignment data with submission info

fetchUserCourseCommunication()

Get user-in-course messaging data

public static fetchUserCourseCommunication(int $courseId, int $userId[, array<string, mixed> $params = [] ]) : array<string, mixed>
Parameters
$courseId : int

Course ID

$userId : int

User/Student ID

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

Additional parameters

Tags
throws
CanvasApiException
Return values
array<string, mixed>

Returns messaging data grouped by date

setLogger()

Set a logger instance

public static setLogger(LoggerInterface $logger) : void
Parameters
$logger : LoggerInterface

get()

Make a GET request to the Analytics API

private static get(string $endpoint[, array<string, mixed> $params = [] ]) : array<string|int, mixed>
Parameters
$endpoint : string
$params : array<string, mixed> = []
Tags
throws
CanvasApiException
Return values
array<string|int, mixed>

initLogger()

Initialize the logger

private static initLogger() : void

        
On this page

Search results