api-reference

📖 OpenAPI specification for the public Flat REST API

Stars
15
Committers
5

Bot releases are visible (Hide)

api-reference - v2.20.1 Latest Release

Published by gierschv 7 months ago

  • Keep rights property optional on ScoreDetails
api-reference - v2.20.0

Published by gierschv 8 months ago

  • Accounts:
    • feat(account): Added pagination to GET /users/{user}/likes and fixed typo in operationId.
    • feat(account): Added product on UserDetails to know the product the user is using.
  • Score Library:
    • feat(library): Added collaboratorType to ResourceRights to know if the user accessing a resource is the owner, user or group collaborator. Adjusted non-optional properties on ResourceRights.
    • feat(library): Added date to ResourceCollaborator with the date the collaborator was added.
    • feat(score): Added new mainKeySignature, highlightedDate and organization properties to ScoreDetails. Adjusted non-optional properties on ScoreDetails.
    • feat(score): Added new purpose property to ScoreTrack. Adjusted non-optional properties on ScoreTrack.
    • feat(score): Added new googleDriveDisabled option when copying score (POST /scores/{score}/fork).
  • 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 admin or teacher accounts, fixed organizationRole enum.
    • feat(edu): Added new verifyIfNotAlreadyInResourceLibrary option to POST /classes/{class}/assignments/{assignment}/copy to avoid copying to the Resource Library if the assignment is already in it.
    • fix(edu): Fixed ClassAttachmentCreation enum values to reflect the current state of our product.
    • feat(edu): Added playback and lti properties to AssignmentSubmission.
    • fix(edu): comments object has never been available in AssignmentSubmissionUpdate, only in AssignmentSubmission.
    • feat(edu): Added graded state for submissions.
    • feat(edu): Added organizationResources library type to GET /eduResources/libraries, and added organizationPublic enum value to EduResourcePrivacy.
    • feat(edu): Added new privacy property to PUT /eduResources/{resource}
    • fix(edu): Removed unused property alternateLink from MicrosoftGraphSubmission.
  • fix(schema): missing required: true on some POST/PUT bodies.
api-reference - v2.19.0

Published by gierschv about 1 year ago

  • feat(edu): added new POST /eduResources/{resource}/createLtiLink endpoint 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.
api-reference - v2.18.0

Published by gierschv over 1 year ago

  • feat(edu): Released Resource Library API in beta (/eduResources) with new OAuth 2 scopes edu.resources and edu.resources.readonly.
  • feat(edu): Updated POST /classes/{class}/assignments/{assignment}/copy to 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}/testStudent to create testing student accounts.
  • feat(edu): Operation POST /classes/{class}/assignments has been renamed from createAssignment -> createClassAssignment in schema.
  • feat(edu): Assignment models now include a new capabilities property returning which actions are possible with a specific resource (canEdit, canPublishInClass, canPublishInClassError, canArchive, canUnarchive).
  • feat(edu): Assignment models now include a new useDedicatedAttachments property to know if the underlying resources are dedicated and stored inside the assignment (new behavior with the resource library).
  • feat(edu): ClassAssignment now includes a new issue property to return any issues encountered with the assignment.
  • feat(edu): toolset id provided when creating or updated assignments will now make a copy of the toolset to have a dedicated object for the assignment.
  • feat(edu): AssignmentSubmissionHistory now includes the source of the change, when this one comes from a third party (Google Classroom, Microsoft Teams, LTI). It also includes the following new properties: dueDate, comment and attachment.title.
  • feat(edu): UserDetails now 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 ClassAttachmentCreation enum values to reflect the current state of our product.
  • feat(scores): Updated GET /scores/{score}/revisions/{revision} now returns the startDate and endDate for the score revisions.
  • feat(scores): Updated POST /scores to add hasQuarterTone on score builders to enable quarter tones on score parts.
  • feat(scores): Updated POST /scores/{score}/fork to add option to keep original title during a file copy (keepOriginalTitle).
  • fix(schema): Added missing required properties on models ScoreSummary, MediaAttachment and FlatErrorResponse.
api-reference - v2.17.0

Published by gierschv over 2 years ago

  • 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 app that can be used in the URLs paths.
api-reference - v2.16.0

Published by gierschv almost 3 years ago

  • feat(scores): added POST /scores/{score}/revisions/{revision}/{format}/task to create a new export task for a score and GET /tasks/{task} to fetch the progress of an export task.
api-reference - v2.15.0

Published by gierschv almost 3 years ago

  • feat(edu): added POST /organizations/users/{user}/signinLink to allow admins to create sign in links for their organization's users.
  • feat(edu): added POST /organizations/users/{user}/accessToken to allow admins to create delegated access tokens for their organization's users.
  • feat(locale): added ja-HIRA
  • feat(comments): added moderation object on public comments
  • feat(scores): added defaultTrack option to GET /scores/{score}/revisions/{revision}/{format} to return mp3 tracks when a mp3 is set as default track.
  • DEPRECATED: removed onlyCached option from GET /scores/{score}/revisions/{revision}/{format} since only cached files are now returned for audio exports.
api-reference - v2.14.0

Published by gierschv about 3 years ago

  • feat(scores): POST /v2/scores has 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/users has support for roles.
  • feat(edu): added new shuffleExercises option for worksheets.
  • feat(edu): added new exercisesIds in students submissions.
api-reference - v2.13.0

Published by gierschv over 3 years ago

  • feat(scores): GET /scores/{score}/tracks has new query strings:
    • listAutoTrack to fetch tracks automatically generated & synced (playback available as a MP3 file).
    • assignment to filter tracks related to a Flat for Education assignment.
  • feat(scores): added GET /scores/{score}/revisions/{revision}/synchronizationPoints to fetch synchronization points automatically generated from latest MP3 playback file.
  • feat(scores): GET /scores/{score}/revisions/{revision}/{format} has a new query string url to fetch the CDN URL of the exported file in the JSON body.
  • feat(edu): added DELETE /classes/{class}/assignments/{assignment}/submissions/{submission} to let teachers reset students' submissions.
  • feat(edu): added detected issues on classes with the list fo accounts that couldn't be added to the classes during synchronizations.
  • feat(edu): added microsoftGraph property on assignments with the Microsoft Teams assignments state, URLs (alternateLink) and categories.
  • feat(edu): added microsoftGraph property on submissions with the Microsoft Teams submissions state and URLs (alternateLink).
  • feat(edu): POST /classes/{class}/assignments/{assignment}/copy has a new property scheduledDate to schedule assignments copies.
  • feat(edu): added track property to submissions for performance assigments saved audio tracks.
  • feat(account): added a coverPicture property with the URL of the profile cover picture, and pictureFile and coverPictureFile containing the ID of the corresponding files.
  • feat(account): GET /me has a new onlyId query string to quickly fetch current user id.
api-reference - v2.12.0

Published by gierschv over 3 years ago

  • update(scores): ResourceCollaborator now includes a invited boolean property to know if the collaborator is still a pending invite.
  • feat(assignments): Export grades as CSV and Excel files (GET /classes/{class}/assignments/{assignment}/submissions/csv and /classes/{class}/assignments/{assignment}/submissions/excel)
  • update(assignments): Assignment creation (POST /classes/{class}/assignments) and assignments objects now include a type (AssignmentType).
  • update(assignments): Assignments objects (Assignment) now include a cover URL (cover) and the corresponding file identifier (`coverFile).
  • update(assignments): Assignment copy (POST /classes/{class}/assignments/{assignment}/copy) now accepts an optional assigment identifier. This can be used to override a draft assignment with the content from another assignment.
  • style: Lint OpenAPI v3 specification
api-reference - v2.11.0

Published by gierschv almost 4 years ago

  • feat(edu): PUT /organizations/users/{user} has new parameters to edit accounts: username, firstname, lastname, email.
  • feat(edu): POST /classes/{class}/assignments has new parameters:
    • toolset id to enable a toolset for the assignment.
    • nbPlaybackAuthorized to limit the number of time the playback can be used
    • maxPoints for grading purpose
    • googleClassroom.topicId to add the assignment under a specific Google Classroom course topic
    • assigneeMode and assignedStudents to assign specific students
    • lockScoreTemplate to lock assigned templates
    • dueDate and scheduledDate are nullable to unset properties
    • returns new information about LTI assigments, Canvas assignments and MusicFirst assignments
  • feat(edu): PUT /classes/{class}/assignments/{assignment}/submissions has:
    • New parameters for grading (draftGrade, grade)
    • A new parameter for teacher to return a submission (return) and
    • Computed comments counters (comments)
    • Returned object AssignmentSubmission now includes maxPoints for the maximum number of points when the grade was set.
  • feat(edu): New endpoints under /classes/{class}/assignments/{assignment}/submissions/{submission}/comments to create, list, update and delete comments for the submission.
  • update(scores): GET /scores/{score}/revisions/{revision}/{format} query string parts now only accepts parts UUIDs.
  • update(edu): GET /organizations/users query string licenseExpirationDate now also accepts active and notActive values, and has a new query option onlyIds
  • DEPRECATED: PUT /classes/{class}/assignments/{assignment}/submissions parameters studentComment and returnFeedback have been removed. returnFeedback has been replace by a boolean return to return a submission as a teacher.
api-reference - v2.10.0

Published by gierschv over 4 years ago

  • feat(edu): POST /v2/organizations/users now accepts optional firstname and lastname
  • update(edu): GET /v2/organizations/users now accepts sort options and filters
  • feat(edu): added GET /v2/organizations/users/count to count users matching specified filters
  • feat(edu): removed deprecated role property from POST /organizations/invitations (previously renamed to organizationRole)
  • feat(assignments): added POST/DELETE /v2/classes/{class}/assignments/{assignment}/archive to archive/unarchive assignments
  • feat(assignments): returned assignments object from GET /v2/classes/{class}/assignments/{assignment} now includes the main type of the assignment: newScore, scoreTemplare or sharedWriting.
  • feat(edu): users returned by GET /v2/groups/{group}/users can now be filtered by the sync source: googleClassroom, microsoftGraph or clever.
  • feat(scores): scores details returned by GET /v2/scores/{score} (and similar) now includes the audio samples list used by our playback. The instruments property now includes a normalized list of instruments that is not dependent from the samples used.
api-reference - v2.9.0

Published by gierschv almost 5 years ago

  • Schema is now using OpenAPI 3.0.2 (previous schemas were using OpenAPI 2)
  • feat(scores): New metadata and update of GET/PUT /v2/scores/{score}:
    • arranger property has been added
    • plays statistics are now returned (ScorePlaysCounts)
  • feat(scores): New now proprty on the DELETE method to schedule a deletion to be executed shortly (avoid keeping in trash)
  • feat(edu): Attachments (MediaAttachment and ClassAttachmentCreation) have new type googleDrive for attached Drive file, and a new googleDriveFileId property. If the attachment is a googleDrive item, the iconUrl and mimeType properties are also returned
  • feat(edu): Add microsoftGraph info to ClassDetails (e.g. GET /v2/classes and GET /v2/classes/{class})
  • feat(account): Add firstname and lastname properties for education accounts
api-reference - v2.8.0

Published by gierschv over 5 years ago

  • feat(scores): New metadata and update of PUT /v2/scores/{score}:
    • subtitle, composer, lyricist and licenseText properties has been added
    • when updating title, subtitle, composer, lyricist and licenseText via the API, the modifications events will be pushed to our real-time engine, and a new version will be scheduled (asynchronous)
    • description can now be up to 2000 characters (was previously 1000)
  • feat(submissions): Added education submissions states (created, turnedIn, returned)
  • feat(revisions): Return the last modification event when fetching a revision metadata (UUID)
  • feat(locale): added Turkish (tr)
  • feat(licenses): added new license source appStore
  • feat(user): added isFlatTeam property to public profiles
  • chore(specs): Inline schemas UserInstruments, ResourceSharingKey, ScoreData, ScoreDataEncoding, CollectionTitle
api-reference - v2.7.0

Published by gierschv about 6 years ago

  • update(spec): specify produces and consumes on endpoints instead of globally
  • feat(scores): now support Guitar Pro (GP3, GP4, GP5, GPX, GP), PowerTab, TuxGuitar and MuseScore files in POST /scores
  • feat(scores): add support for filename when importing scores
  • feat(collections): parent collection can now be a collection id when listing collections
  • feat(collections): includes parent collections when listing scores
  • feat(collections): add creationDate property in collection details
  • feat(comments): add staffUuid for contextualized comments, which will completely replace staffIdx in the future
  • feat(rights): now return a isCollaborator boolean property with the Score or Collection rights
  • update(account): added new locales supported
api-reference - v2.6.0

Published by gierschv over 6 years ago

  • feat(collections): Add new Collections API endpoints
    • POST /collections: Create new collection
    • GET /collections: List collections
    • GET /collections/{collection}: Get collection details
    • PUT /collections/{collection}: Update collection details
    • DELETE /collections/{collection}: Delete collection
    • POST /collections/{collection}/untrash: Untrash collection
    • GET /collections/{collection}/scores: List scores contained in a collection
    • PUT /collections/{collection}/scores/{score}: Add a score to a collection
    • DELETE /collections/{collection}/scores/{score}: Remove a score from a collection
  • feat(collections): Add new OAuth2 scopes for new features:
    • collections.readonly: Allow read-only access to a user's collections.
    • collections.add_scores: Allow to add scores to a user's collections.
    • collections: Full, permissive scope to access all of a user's collections.
  • feat(score): Added new method to untrash a score (POST /v2/scores/{score}/untrash)
  • feat(score): DELETE /v2/scores/{score} can now be used without admin rights. This new behavior will unshare the score from the current account.
  • feat(score): POST /scores/{score}/fork now accepts a collection identifier to copy a score to a specific collection.
  • feat(comments): Comments can now be filtered by type with the new query string type (document or inline).
  • update(openapi): Some schema definitions have been renamed, they are now used for Scores and Collections
    • ScoreRights -> ResourceRights
    • ScoreCollaborator -> ResourceCollaborator
    • ScoreCollaboratorCreation -> ResourceCollaboratorCreation
    • existing score sharing key -> ResourceSharingKey
  • DEPRECATED: GET /scores/{score}/revisions/{revision}/{format} no longer support part indexes for single/set of parts exports, but our own part UUIDs.
  • DEPRECATED on 2019-01-01: GET /users/{user}/scores will no longer list private and shared scores, but only public scores of a Flat account.
api-reference - v2.5.2

Published by gierschv over 6 years ago

  • fix(score): missing ScoreRights.aclRead type
api-reference - v2.5.1

Published by gierschv over 6 years ago

  • fix(user): Add missing escape in pattern (UserCreation.username).
api-reference - v2.5.0

Published by gierschv over 6 years ago

  • feat(scores): Add video & audio tracks support for scores: /v2/scores/{score}/tracks.
api-reference - v2.4.0

Published by gierschv about 7 years ago

  • feat(scores): New metadata and update of PUT /v2/scores/{score}:
    • Added metadata in API subtitle, lyricist, composer, description, tags, creationType, license, licenseText, durationTime, numberMeasures, mainTempoQpm, publicationDate.
    • PUT /v2/scores/{score}: Remove title property, this one can be updated by saving a new revision of the score data.
    • PUT /v2/scores/{score}: New settable properties: description, tags, creationType, license.