action flat_create_class { label: "Create a new class" description: "Classrooms on Flat allow you to create activities with assignments and post content to a specific group.\n\nWhen creating a class, Flat automatically creates two groups: one for the teachers of the course, one for the students. The creator of this class is automatically added to the teachers group.\n\nIf the classsroom is synchronized with another application like Google Classroom, some of the meta information will automatically be updated.\n\nYou can add users to this class using `PUT /classes/{class}/users/{user}`, they will automatically added to the group based on their role on Flat. Users can also enroll themselves to this class using `POST /classes/enroll/{enrollmentCode}` and the `enrollmentCode` returned in the `ClassDetails` response.\n" provider: flat method: POST path: "/classes" encoding: json input: { type: "object" description: "Creation of a classroom" required: ["name"] properties: { name: { type: "string" description: "The name of the new class" } section: { type: "string" description: "The section of the new class" } } } output: { type: "object" description: "A classroom" properties: { assignmentsCount: { type: "number" description: "The number of assignments created in the class" } canvas: { type: "object" description: "Meta information provided by Canvs LMS" properties: { domain: { type: "string" description: "Canvas instance domain (e.g. \"canvas.instructure.com\")" } id: { type: "string" description: "Unique identifier of the course on Canvas" } } } clever: { type: "object" description: "Clever.com section-related information" properties: { creationDate: { type: "string" format: "date-time" description: "The creation date of the section on clever" } id: { type: "string" description: "Clever section unique identifier" } modificationDate: { type: "string" format: "date-time" description: "The last modification date of the section on clever" } subject: { type: "string" description: "Normalized subject of the course" enum: ["english/language arts", "math", "science", "social studies", "language", "homeroom/advisory", "interventions/online learning", "technology and engineering", "PE and health", "arts and music", "other"] } termEndDate: { type: "string" format: "date-time" description: "End date of the term" } termName: { type: "string" description: "Name of the term when this course happens" } termStartDate: { type: "string" format: "date-time" description: "Beginning date of the term" } } } creationDate: { type: "string" format: "date-time" description: "The date when the class was create" } description: { type: "string" description: "An optionnal description for this class" } enrollmentCode: { type: "string" description: "[Teachers only] The enrollment code that can be used by the students to join the class\n" } googleClassroom: { type: "object" description: "Google Classroom course-related information" properties: { alternateLink: { type: "string" description: "Absolute link to this course in the Classroom web UI" } id: { type: "string" description: "The course identifier on Google Classroom" } } } googleDrive: { type: "object" description: "Google Drive course-related information provided by Google Classroom" properties: { teacherFolderAlternateLink: { type: "string" description: "[Teachers only] The Drive URL of the teachers' folder\n" } teacherFolderId: { type: "string" description: "[Teachers only] The Drive directory identifier of the teachers' folder\n" } } } id: { type: "string" description: "The unique identifier of the class" } issues: { type: "object" description: "Detected issues for this class" properties: { sync: { type: "array" description: "Synchronization issues for the class" items: { type: "object" description: "A sync issue" properties: { email: { type: "string" description: "The email address of the user concerned by this sync issue" } id: { type: "string" description: "The account user identifier" } reason: { type: "string" description: "The reason why the account cannot be synced" enum: ["otherOrgnanization", "personalSubscription"] } } } } } } lti: { type: "object" description: "Meta information provided by the LTI consumer" properties: { contextId: { type: "string" description: "Unique context identifier provided" } contextLabel: { type: "string" description: "Context label" } contextTitle: { type: "string" description: "Context title" } } } mfc: { type: "object" description: "Meta information provided by Canvs LMS" properties: { alternateLink: { type: "string" description: "Link to MusicFirst Classroom class" } id: { type: "string" description: "Unique identifier of the course on MusicFirst Classroom" } } } microsoftGraph: { type: "object" properties: { id: { type: "string" description: "The course identifier on Microsoft Graph" } } } name: { type: "string" description: "The name of the class" } organization: { type: "string" description: "The unique identifier of the Organization owning this class" } owner: { type: "string" description: "The unique identifier of the User owning this class" } section: { type: "string" description: "The section of the class" } state: { type: "string" description: "The state of a classroom" enum: ["active", "inactive", "archived"] } studentsGroup: { type: "object" description: "The details of a group" properties: { creationDate: { type: "string" format: "date-time" description: "The date when the group was create" } id: { type: "string" description: "The unique identifier of the group" } name: { type: "string" description: "The displayable name of the group" } organization: { type: "string" description: "The unique identifier of the Organization owning the group" } readOnly: { type: "boolean" description: "`true` if the properties and members of this group are in in read-only\n" } type: { type: "string" description: "The type of the group" enum: ["generic", "classTeachers", "classStudents"] } usersCount: { type: "number" description: "The number of students in this group" } } } teachersGroup: { type: "object" additionalProperties: true } theme: { type: "string" description: "The theme identifier using in Flat User Interface" } } } }