Releases: FlatIO/api-reference
Releases · FlatIO/api-reference
v2.22.0
-
Score Import & Export - 15+ import formats documented, new
.flatexport:POST /scores: Expanded the list of supported import formats with detailed documentation. MusicXML and MIDI are the preferred formats; also supported via conversion: Guitar Pro, MuseScore, ABC notation, PowerTab, Capella, MEI, Overture, TablEdit, Band-in-a-Box, Karaoke MIDI, MuseData, Score Writer, Bagpipe Music Writer, and Encore.GET /scores/{score}/revisions/{revision}/{format}: Addedflatexport format for native Flat compressed files (.flat).ScoreDetails: Addedmeproperty with information about the authenticated user's relationship to the score.
-
Collections - Simplified library navigation with virtual collections replacing the legacy folder hierarchy (blog: Library Design Revamp):
- New virtual collections:
allScores,collaborations, andlikesreplace the deprecatedrootandsharedWithMecollection types. GET /collections(listCollections): New defaultparent=userreturns all user collections including virtual ones. AddedmodificationDatesort option.Collection: AddedisPinned,labelKey, andmodificationDateproperties.POST /collections/{collection}/untrash: Deprecated. Collections untrashing is no longer supported.- Updated collection parameter descriptions across all endpoints to document the new virtual collections and deprecate
root/sharedWithMe.
- New virtual collections:
-
Flat for Education:
- Assignments & Rubrics - Rubric grading, video/audio performance recordings, and group submissions (blog: Performance Assignments upgrade, Grading Composition Assignments):
- Performance assignments: Added
recordingType(audio/video),allowBackingTrack,allowMetronome, andallowSpeedChangeoptions. - Group submissions: Added
submissionStudentsMode(single/group) for shared writing assignments, withassignedGroupsonClassAssignment. See blog: Introducing Shared Writing. - Rich text: Added
descriptionHtmlandteacherInstructionsHtmlon assignments,sharingDescriptionHtmlon education resources. ClassAttachmentCreation: AddedpartUuid,revision, andteacherOnlyproperties.
- Performance assignments: Added
- Student Groups - Manage student sub-groups for shared writing and group submissions (blog: Back to School updates):
- New CRUD endpoints for student sub-groups:
GET /groups(listGroups),POST /groups(createGroup),PUT /groups/{group}(renameGroup),DELETE /groups/{group}(deleteGroup). - New membership endpoints:
POST /groups/{group}/users(addGroupUser),DELETE /groups/{group}/users/{user}(removeGroupUser). - Groups can be filtered by classroom or assignment, and support test student tagging (
edu:testing-students). - New group types:
classStudentsSubGroupandassignmentStudentsSubGroup.
- New CRUD endpoints for student sub-groups:
- LTI Configuration - Unified LTI 1.1 and 1.3 configuration management, replacing the previous credentials-only API (blog: LTI 1.3 Integration):
- New CRUD endpoints under
/organizations/lti/configurations. - Supports LTI 1.1 manual, LTI 1.3 manual, LTI 1.3 dynamic registration, and LTI 1.3 deployment-based configurations.
- Added
enableEmailMatchingoption to control email-based user matching during LTI authentication. - Previous LTI 1.1 credentials endpoints (
/organizations/lti/credentials) are now deprecated. LTI 1.1 configurations can now be managed through the new unified endpoints.
- New CRUD endpoints under
- Score Tracks:
GET /scores/{score}/tracks(listScoreTracks): Added documentation for access control on performance submission tracks (student vs. teacher visibility).
- Organization & Users - Test account management, email verification, and improved class metadata:
GET /organizations/usersandGET /organizations/users/count: AddedtestAccountsfilter to include/exclude test student accounts.UserDetailsAdmin: AddedisEduTestingStudentproperty.UserDetails: AddedisEmailVerifiedproperty.OrganizationInvitation: AddedhtmlUrlwith a direct join URL.ClassDetails: AddedmodificationDate, and now requirescreationDate,name,state. Updatedltiproperty to cover LTI 1.1 and 1.3 context withhasNrpsService.
- Resource Library - Rich text descriptions and assignment type selection on resource creation:
EduResourceandEduResourceCreation: AddedsharingDescriptionHtmlfor rich text sharing descriptions.EduResourceCreation: Addedresourceproperty for assignment-specific creation options (e.g., assignment type).EduLibrary: Renamed library type fromflatEduSamplestoflatEduContent.
- Microsoft Teams Integration - Scheduled assignments and individual student targeting:
MicrosoftGraphAssignment: AddedassignDateTimefor scheduled assignments,assignToType(class/individual) andassignedStudentsMsIdsfor individual assignment targeting. Expandedstateenum withscheduledandinactivestatuses.
- Assignments & Rubrics - Rubric grading, video/audio performance recordings, and group submissions (blog: Performance Assignments upgrade, Grading Composition Assignments):
-
Accounts & Profiles:
UserPublic: AddedallPublicScoresCountproperty. Removed deprecatedinstrumentsproperty.UserCreation: Locale is now a free-form string (auto-normalized) instead of a strict enum.- Improved
TutteoProductdescriptions with links to each product.
-
Statistics:
- Added
yearlycounts toScoreCommentsCounts,ScoreLikesCounts,ScorePlaysCounts, andScoreViewsCounts.
- Added
-
Deprecations & Removals:
- Removed
FlatLocalesenum schema, replaced byFlatLocalesStringwith auto-normalization. - Removed unused
billingrole fromOrganizationRoles. - Deprecated
POST /collections/{collection}/untrash(untrashCollection). - Deprecated LTI credentials endpoints in favor of the new unified configuration API.
- Deprecated
rootandsharedWithMecollection parent aliases (useuserinstead). - Deprecated
staffIdxonScoreCommentContext.
- Removed
v2.21.0
-
Scores & Library:
GET /users/{user}/scores: As planned in 2020, this endpoint has been updated to only return public scores for user community profiles. The endpoint has also a new pagination system and sorting options.ScoreDetails: AddededitHtmlUrl,instrumentsNamesandscheduledDeletionDateproperties.Collection: Addedcontents.scoresCountproperty.
-
Flat Community profiles:
UserPublicnow includeslikesCountandplaysCountproperties.
-
Flat for Education:
GET /eduResources:- Added options
withoutSubfoldersResources,assignmentTypes,subjects, andgradesto filter content. - Added new response headers
X-Total-Assignments-CountandX-Total-Folders-Count.
- Added options
EduResource: AddedsharingDescription,subjects,gradesandcapabilities.canChangePrivacyproperties.EduResourceFolder: AddedassignmentsTypesandresourcesCountproperties.Assignment: AddedrestrictPlayNoteandrestrictToAudioTracksproperties.AssignmentSubmission: Updated LTI to support LTI 1.1 and 1.3 (lti.gradeServiceproperty).ScoreTrack: Addedpurposeproperty.
v2.20.1
v2.20.0
- Accounts:
- feat(account): Added pagination to
GET /users/{user}/likesand fixed typo in operationId. - feat(account): Added
productonUserDetailsto know the product the user is using.
- feat(account): Added pagination to
- Score Library:
- feat(library): Added
collaboratorTypetoResourceRightsto know if the user accessing a resource is the owner, user or group collaborator. Adjusted non-optional properties onResourceRights. - feat(library): Added
datetoResourceCollaboratorwith the date the collaborator was added. - feat(score): Added new
mainKeySignature,highlightedDateandorganizationproperties toScoreDetails. Adjusted non-optional properties onScoreDetails. - feat(score): Added new
purposeproperty toScoreTrack. Adjusted non-optional properties onScoreTrack. - feat(score): Added new
googleDriveDisabledoption when copying score (POST /scores/{score}/fork).
- feat(library): Added
- Flat for Education:
- feat(edu): Some Flat for Education invitatons can be re-used multiple times.
- fix(edu): Flat for Education invitatons can only be used to create
adminorteacheraccounts, fixedorganizationRoleenum. - feat(edu): Added new
verifyIfNotAlreadyInResourceLibraryoption toPOST /classes/{class}/assignments/{assignment}/copyto avoid copying to the Resource Library if the assignment is already in it. - fix(edu): Fixed
ClassAttachmentCreationenum values to reflect the current state of our product. - feat(edu): Added
playbackandltiproperties toAssignmentSubmission. - fix(edu):
commentsobject has never been available inAssignmentSubmissionUpdate, only inAssignmentSubmission. - feat(edu): Added
gradedstate for submissions. - feat(edu): Added
organizationResourceslibrary type toGET /eduResources/libraries, and addedorganizationPublicenum value toEduResourcePrivacy. - feat(edu): Added new
privacyproperty toPUT /eduResources/{resource} - fix(edu): Removed unused property
alternateLinkfromMicrosoftGraphSubmission.
- fix(schema): missing
required: trueon some POST/PUT bodies.
v2.19.0
- feat(edu): added new
POST /eduResources/{resource}/createLtiLinkendpoint to create LTI links from Flat for Education resources. - feat(edu): maximum graded has been increased from 100 to 10000.
- feat(score): new nullable properties in
PUT /scores/{score}to unset properties (subtitle,composer,lyricist,arranger,description,creationType,license,licenseText). - fix(score): wrong user object in
ScoreSummary, returned object has more properties than the specification (UserPublic). - fix(spec): various properties marked as required as they will always be returned.
v2.18.0
- feat(edu): Released Resource Library API in beta (
/eduResources) with new OAuth 2 scopesedu.resourcesandedu.resources.readonly. - feat(edu): Updated
POST /classes/{class}/assignments/{assignment}/copyto allow to copy to Resource Library. - feat(edu): Updated
DELETE /classes/{class}/assignments/{assignment}/submissions/{submission}behavior, now only resets the submission instead of deleting it. - feat(edu): Added
POST /classes/{class}/testStudentto create testing student accounts. - feat(edu): Operation
POST /classes/{class}/assignmentshas been renamed fromcreateAssignment->createClassAssignmentin schema. - feat(edu):
Assignmentmodels now include a newcapabilitiesproperty returning which actions are possible with a specific resource (canEdit,canPublishInClass,canPublishInClassError,canArchive,canUnarchive). - feat(edu):
Assignmentmodels now include a newuseDedicatedAttachmentsproperty to know if the underlying resources are dedicated and stored inside the assignment (new behavior with the resource library). - feat(edu):
ClassAssignmentnow includes a newissueproperty to return any issues encountered with the assignment. - feat(edu):
toolsetid provided when creating or updated assignments will now make a copy of the toolset to have a dedicated object for the assignment. - feat(edu):
AssignmentSubmissionHistorynow includes thesourceof the change, when this one comes from a third party (Google Classroom, Microsoft Teams, LTI). It also includes the following new properties:dueDate,commentandattachment.title. - feat(edu):
UserDetailsnow contains Microsoft Sign in details (azureDetails) and list of groups the user is part of (groups). - feat(edu): Added optional metadata on class objects (
level,skillsFocused,size). - fix(edu): Fixed
ClassAttachmentCreationenum values to reflect the current state of our product. - feat(scores): Updated
GET /scores/{score}/revisions/{revision}now returns thestartDateandendDatefor the score revisions. - feat(scores): Updated
POST /scoresto addhasQuarterToneon score builders to enable quarter tones on score parts. - feat(scores): Updated
POST /scores/{score}/forkto add option to keep original title during a file copy (keepOriginalTitle). - fix(schema): Added missing required properties on models
ScoreSummary,MediaAttachmentandFlatErrorResponse.
v2.17.0
- feat(collections): Add new dedicated App Collections. When creating new scores, by default Flat will add the scores to a dedicated collection for the 3rd party app. This collection is automatically created in the user account and has a new alias
appthat can be used in the URLs paths.
v2.16.0
v2.15.0
- feat(edu): added
POST /organizations/users/{user}/signinLinkto allow admins to create sign in links for their organization's users. - feat(edu): added
POST /organizations/users/{user}/accessTokento allow admins to create delegated access tokens for their organization's users. - feat(locale): added
ja-HIRA - feat(comments): added
moderationobject on public comments - feat(scores): added
defaultTrackoption toGET /scores/{score}/revisions/{revision}/{format}to return mp3 tracks when a mp3 is set as default track. - DEPRECATED: removed
onlyCachedoption fromGET /scores/{score}/revisions/{revision}/{format}since only cached files are now returned for audio exports.
v2.14.0
- feat(scores):
POST /v2/scoreshas a new score builder to easily create blank scores without the need of importing a MusicXML file. Provide a list of instruments to use, and optionally customize the time signature, key signature, enable TABs, Chord grids as well as the page layout. - feat(edu):
POST /v2/organizations/usershas support for roles. - feat(edu): added new
shuffleExercisesoption for worksheets. - feat(edu): added new
exercisesIdsin students submissions.