D2L Standard CSV file formats

The file formats accepted by D2L Standard CSV are:

  • Orgs
  • Users
  • Enrollments
  • Manifest (required when using version 1.1 or higher of D2L Standard CSV)
  • Manager Dashboard and Learning Groups Attributes

Files are uploaded to a zip archive, using the following recommended naming convention:

  • D2LStdCSV-{YYYYmmddHHMMSS}.zip

Note: Only .zip (case sensitive, lowercase only) archives are permitted to be uploaded to SFTP.

Files are processed in alphanumeric order. D2L recommends sending the files in the following order:

  1. orgs
  2. users
  3. enrollments
  4. attributes

The recommended naming convention for CSV files is:

  • 1-Other- {YYYYmmddHHMMSS}.csv
  • 2-Departments- {YYYYmmddHHMMSS}.csv
  • 3-Semesters- {YYYYmmddHHMMSS}.csv
  • 4-Templates-{YYYYmmddHHMMSS}.csv
  • 5-Offerings-{YYYYmmddHHMMSS}.csv
  • 6-Sections-{YYYYmmddHHMMSS}.csv
  • 7-Users-{YYYYmmddHHMMSS}.csv
  • 8-Enrollments-{YYYYmmddHHMMSS}.csv
  • 9-Attributes-{YYYYmmddHHMMSS}.csv
  • manifest.json

Common rules for file content

  • Values in files are case-sensitive. The instructions detail the required case.
  • An empty value is represented with two commas with no spaces between them. (for example, “,,” indicates blank value, where as “, ,” indicates a space character, which is parsed as an invalid value).
  • The CSV files must have a header (first line) that must be an exact match (casing and commas) to that listed in the examples in the sections below
  • Subsequent lines in the file contain the data to be processed (Created, updated, deleted)
  • CSV files must be UTF-8 encoded.
  • CSV files and the manifest must be contained in the zip archive.
  • CSV files should contain differential SIS data (deltas), rather than complete SIS data drops.
  • Sending an UPDATE action when the object does not exist results in a CREATE request. Common behavior is to use only the UPDATE and DELETE actions.
  • A manifest is required when using version 1.1 or higher of D2L Standard CSV. The manifest is a JSON file that announces the version of D2L Standard CSV you are using. For more information, view the Manifest topic.

Org units

The following Org Unit Types are supported in the integration:

  • Other org units (custom org units outside of the standard D2L org structure)
  • Departments
  • Semesters
  • Course Templates
  • Course Offerings
  • Sections

The D2L Standard CSV integration can create, update, and delete Org Units at the levels listed above.

If sending many Org Unit Types in one CSV file, ensure that hierarchy is respected in the file (for example, Departments should be sent before Course Templates). Failing to send a parent Org Unit before the creation of the child will result in the child Org Unit failing.

If sending user relationships, ensure that the auditors and/or parents/guardians hierarchy is respected in the file (for example, parents/guardians must be sent before learners). Failing to do so results in the relationship failing.

The Org Unit naming conventions (Name/Code) should follow that described in your SIS. Brightspace can accept as many Org Units as needed, Org Unit names and codes can be fed as-is through the csv files as long as names or codes respect Brightspace illegal character requirements and are unique across different Org Unit. Org unit codes will be truncated if more than 50 characters, this could lead to duplication of org unit codes in Brightspace or failure to create an org unit.

Illegal characters: ,:%&#*?<>|\"' and leading or trailing spaces.

Other org units, departments, semesters, course templates, course offerings and course sections

Processing these org units creates the org structure in your Brightspace instance. These must be sent at least once to instruct D2L Standard CSV on which org units it can control. Once the integration controls an org unit, all future changes to that org unit must be made only through the D2L Standard CSV integration to ensure accurate ownership of the data.

You should only resend org units when they are newly created or updated in your SIS/HRIS.

D2L Standard CSV can:

  • Create a new org unit, if it doesn’t exist.
  • Map to an existing org unit if it was created by a different source then D2L Standard CSV and the option to map is selected in the configuration.
  • Update the name of an org unit that it controls.
  • Course template: assign and update parent Department based on the Department code.
  • Course offering: assign and update parent course template and semester based on the parent code.
  • Course offering: Update all course details including course offering name and dates. Inactivate Course Offering.
  • Course section: Deleting a course section automatically unenrolls users from the deleted section.
  • Delete an org unit that it controls.

D2L Standard CSV does not:

  • Update org unit codes.
  • Delete manually created org units unless they are mapped with D2L Standard CSV.
  • Delete an org unit if it has children linked to it (children must be deleted first).
    • Exception: if sections are set up for deletion in the interface, course offerings can be deleted if a section is linked to it.


    Processing the user type creates, updates, inactivates or deletes users in Brightspace. The user type could also create, update, or delete the parent-child relationship in Brightspace. Users must be sent at least once to instruct the integration on which users it is able to create, update, or delete and manage enrollments.

    Illegal characters consist of: \ / : * ? " < > | ' , ;

    D2L Standard CSV can:

    • Create a new user if it doesn’t already exist and enroll it in the organization.
    • Update Username, First Name, Last Name, Preferred First Name, Preferred Last Name, Password, and Email.
    • Password is not required and recommended not to be sent if using Single-Sign-On (SSO).
    • Update the org level role.
    • Activate, inactivate, or delete a user.
    • If a user exists with same OrgDefinedID, then it can be mapped to the existing user.
    • Update a parent/guardian-child relationship for Brightspace Parent & Guardian.
    • Update an auditor-auditee relationship.


    • If a user exists with same ‘Username’ then it can be mapped to the existing user

    D2L Standard CSV does not:

    • Update OrgDefinedId; however, this can be done manually in the IPSIS administration interface.
    • Delete manually created users, unless they are mapped with D2L Standard CSV.


    Processing the enrollment type records enrolls or unenrolls users in a specific org unit in Brightspace. Enrollments should be sent when changes are made in the information system to accurately reflect those changes in Brightspace. An unenrollment should only be sent once. Resending the same unenrollment records warnings in your IPSIS log.

    D2L Standard CSV can:

    • Enrolls users in org units.
    • Un-enroll users in org units.

    Manager Dashboard and Learning Groups Attributes

    Using D2L Standard CSV, Manager Dashboard and Learning Groups Attributes can:

    • Establish the reporting structure that is used within Manager Dashboard
    • Provide attributes to allow for automatic membership rules to be created in Learning Groups

    Manager Dashboard and Learning Groups Attributes via D2L Standard CSV does not:

    • Create new user accounts