Notoriously Problematic Merge


    0.1.25 • Public • Published

    BYU logo @byu-oit/canvas-sdk

    This module provides a partial wrapper around Instructure's Canvas API primarily focused on the API's needed to sync account, term, course, section, and user data. It is capable of managing multiple tokens at once, using all of them based on the x-rate-limit-remaining header.

    Example Usage

    For a more complete example, see test.js

    If you are using a single token:

    const canvas = require('./index')({
        token: <your canvas access token>,
        subdomain: <your canvas subdomain> // for example, if your canvas url is `` then the subdomain is `byu`.
    async function main() {
    	const user = await canvas.users.add('Joe Smith', 'Smith, Joe', '', 'joe-id', 'joetheman');

    If you are using multiple tokens, it is the same as above but the canvas module should be instanced as below:

    const canvas = require('./index')({
        tokens: [
            <your first canvas access token,
            <your second canvas access token,
        subdomain: process.env.SUBDOMAIN

    Running test.js

    To run the tests for this module, you will need to define the TOKEN and SUBDOMAIN environment variables. We recommend only running the tests with a .test subdomain as the tests will add and delete data from your account. It will not modify or delete any existing data.

    $ TOKEN=your-canvas-access-token SUBDOMAIN=byu.test node test.js

    If you would like to see full log output, also define LOG_LEVEL=debug.


    npm i @byu-oit/canvas-sdk

    DownloadsWeekly Downloads






    Unpacked Size

    55.4 kB

    Total Files


    Last publish


    • yoshutch
    • lehinpm
    • oscea
    • stuft2
    • pauldeden
    • mhailstone
    • gi60s
    • arasmus8
    • garygsc
    • martingarn
    • snelg
    • mzroth
    • byu-oit-bot