Mastery Connect SFTP CSV Formatting
Hello Mastery Connect users!
If you have chosen to roster your users by using an SFTP server this guide will serve as a resource for the format of your Mastery Connect CSV files and provide templates for you as well.
General Guidelines:
- Include only active student data. For instance, the `students.csv` should possess records of all currently enrolled students.
- Mastery Connect does not support the ingestion of historical or archived data.
- CSV file names must match specifications, including the .csv suffix.
- A header row is required. Headers should match the specifications and aren't case-sensitive.
- Some fields are required - if they are not present, the row will not be processed. These are denoted in the tables below.
- Some fields are optional - they may be left blank. We recommend sharing additional fields when possible in order to take full advantage of reporting features in your applications and ensure compatibility with additional applications, should you choose to add them at a later time.
- All files must be present for upload to be processed. For example, a directory with only students.csv will not be processed.
- Encode your CSV files in UTF-8 format.
File Formats
USERS CSV
Column Header |
Required |
Format |
Notes |
|
Yes |
String |
The user primary email address, ideally globally unique for users, but is not actually a requirement at the moment. |
first_name |
Yes |
String |
|
last_name |
Yes |
String |
|
login_id |
No |
String |
This is the username in MC and currently must be globally unique. It would also be best for the user if the student is actually going to use it to log into MC. It is not required if authentication will happen via LTI, Google, Clever, etc. If not specified: Defaults to email |
account_id |
Yes |
String |
School SIS ID, must match Canvas |
status |
Yes |
Boolean |
active, deleted |
student_ell_status |
No |
Boolean |
Demographic Data Is this student in an English Language Learner program? Supported Values: True/False |
student_gender |
No |
Option |
Demographic Data Supported Values: M/F |
student_grade |
No |
String |
Typically PreKindergarten , Kindergarten , 1 , 2 , 3 , etc. |
student_hispanic |
No |
Boolean |
Demographic Data True/False |
student_number |
Yes |
String |
This number is used for taking assessments in MC Student and is also shown in the tracker. It should contain only numbers and should be unique to the district. |
student_race |
No |
Option |
Demographic Data Supported values: A B I M P W• A Asian B Black or African-American I American Indian or Alaska Native M Multiracial P Hawaiian or Pacific Islander W White |
student_state_number |
No |
String |
Can be anything. This field is not widely used. Mostly informational. But consistency and uniqueness are valued here. |
user_id |
Yes |
String |
Any unique ID for the user record. Should be globally unique across all districts. |
user_role |
Yes |
String |
student/teacher |
COURSES CSV
Column Header |
Required |
Format |
Notes |
account_id |
Yes |
String |
account SIS ID |
course_id |
Yes |
String |
course SIS ID |
long_name |
Yes |
String |
A long name for the course. (This can be the same as the short name, but if both are available, it will provide a better user experience to provide both.) |
short_name |
Yes |
String |
A short name for the course |
status |
Yes |
String |
active, deleted |
SECTIONS CSV
Column Header |
Required |
Format |
Notes |
section_id |
Yes |
String |
Any globally unique value to consistently identify this section. This value should not change. If using Canvas, this must match the Canvas section_id.
|
name |
Yes |
String |
Unique name for section and time offered, e.g. ”Algebra -101 - Period 1A”. If a section does not have a name, We will create a name in the format of Course name - Teacher last name - Period. |
course_id |
Yes |
String |
Identifier of the course associated with the section from the courses.csv file. |
course_number |
No |
String |
Identifier for the course associated with the section (e.g. 100). Frequently used in combination with the Course name to identify classes. Currently, this is only for information purposes. |
status |
Yes |
String |
active, deleted |
ENROLLMENTS CSV
Column Header |
Required |
Format |
Notes |
role |
Yes |
String |
student, teacher |
user_id |
Yes |
String |
Identifier associated in the users.csv |
section_id |
Yes |
String |
Section_id must match a Section_id provided in sections.csv upload. |
status |
Yes |
String |
active, deleted |
ACCOUNTS CSV
Column Header |
Required |
Format |
Notes |
account_id |
Yes |
String |
SIS ID for the school |
name |
Yes |
String |
School name |
status |
Yes |
String |
Supported values: active, deleted. |
Uploading Your CSV Files:
- Verify Data: Before uploading, ensure all data is accurate and in the proper format.
- Place Files in Directory: Whether using your own SFTP or an Instructure Hosted SFTP, make sure the files are going into the correct directory shared with your Project Consultant.
- Review & Validate: Your files will be uploaded and your Project Consultant will send an email with details on confirming the upload was successful and that your data objects have been validated.
If you have any further questions please contact your Customer Success Manager, or Project Consultant if you are currently implementing Mastery Connect.