Skip to content

Commit b5d11b8

Browse files
committed
feat(api): API specification v2.22.0
* Score Import & Export - 15+ import formats documented, new `.flat` export: * `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}`: Added `flat` export format for native Flat compressed files (`.flat`). * `ScoreDetails`: Added `me` property 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](https://blog.flat.io/library-design-revamp-elevating-your-music-composition-experience/)): * New virtual collections: `allScores`, `collaborations`, and `likes` replace the deprecated `root` and `sharedWithMe` collection types. * `GET /collections` (`listCollections`): New default `parent=user` returns all user collections including virtual ones. Added `modificationDate` sort option. * `Collection`: Added `isPinned`, `labelKey`, and `modificationDate` properties. * `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`. * Flat for Education: * Assignments & Rubrics - Rubric grading, video/audio performance recordings, and group submissions ([blog: Performance Assignments upgrade](https://blog.flat.io/performance-assignments-just-got-an-upgrade-more-tools-flexibility/), [Grading Composition Assignments](https://blog.flat.io/how-to-grade-music-composition-assignments-without-losing-your-weekends/)): * Performance assignments: Added `recordingType` (`audio`/`video`), `allowBackingTrack`, `allowMetronome`, and `allowSpeedChange` options. * Group submissions: Added `submissionStudentsMode` (`single`/`group`) for shared writing assignments, with `assignedGroups` on `ClassAssignment`. See [blog: Introducing Shared Writing](https://blog.flat.io/collaborative-composition-flat-for-education-music-education/). * Rich text: Added `descriptionHtml` and `teacherInstructionsHtml` on assignments, `sharingDescriptionHtml` on education resources. * `ClassAttachmentCreation`: Added `partUuid`, `revision`, and `teacherOnly` properties. * Student Groups - Manage student sub-groups for shared writing and group submissions ([blog: Back to School updates](https://blog.flat.io/back-to-school-flat-for-education-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: `classStudentsSubGroup` and `assignmentStudentsSubGroup`. * LTI Configuration - Unified LTI 1.1 and 1.3 configuration management, replacing the previous credentials-only API ([blog: LTI 1.3 Integration](https://blog.flat.io/flat-for-education-upgrades-to-lti-1-3-for-canvas-schoology-moodle-and-blackboard/)): * 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 `enableEmailMatching` option 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. * 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/users` and `GET /organizations/users/count`: Added `testAccounts` filter to include/exclude test student accounts. * `UserDetailsAdmin`: Added `isEduTestingStudent` property. * `UserDetails`: Added `isEmailVerified` property. * `OrganizationInvitation`: Added `htmlUrl` with a direct join URL. * `ClassDetails`: Added `modificationDate`, and now requires `creationDate`, `name`, `state`. Updated `lti` property to cover LTI 1.1 and 1.3 context with `hasNrpsService`. * Resource Library - Rich text descriptions and assignment type selection on resource creation: * `EduResource` and `EduResourceCreation`: Added `sharingDescriptionHtml` for rich text sharing descriptions. * `EduResourceCreation`: Added `resource` property for assignment-specific creation options (e.g., assignment type). * `EduLibrary`: Renamed library type from `flatEduSamples` to `flatEduContent`. * Microsoft Teams Integration - Scheduled assignments and individual student targeting: * `MicrosoftGraphAssignment`: Added `assignDateTime` for scheduled assignments, `assignToType` (`class`/`individual`) and `assignedStudentsMsIds` for individual assignment targeting. Expanded `state` enum with `scheduled` and `inactive` statuses. * Accounts & Profiles: * `UserPublic`: Added `allPublicScoresCount` property. Removed deprecated `instruments` property. * `UserCreation`: Locale is now a free-form string (auto-normalized) instead of a strict enum. * Improved `TutteoProduct` descriptions with links to each product. * Statistics: * Added `yearly` counts to `ScoreCommentsCounts`, `ScoreLikesCounts`, `ScorePlaysCounts`, and `ScoreViewsCounts`. * Deprecations & Removals: * **Removed** `FlatLocales` enum schema, replaced by `FlatLocalesString` with auto-normalization. * **Removed** unused `billing` role from `OrganizationRoles`. * **Deprecated** `POST /collections/{collection}/untrash` (`untrashCollection`). * **Deprecated** LTI credentials endpoints in favor of the new unified configuration API. * **Deprecated** `root` and `sharedWithMe` collection parent aliases (use `user` instead). * **Deprecated** `staffIdx` on `ScoreCommentContext`.
1 parent 418f6ba commit b5d11b8

2 files changed

Lines changed: 14411 additions & 11054 deletions

File tree

0 commit comments

Comments
 (0)