Module: FlatApi
- Defined in:
- lib/flat_api/oauth.rb,
lib/flat_api.rb,
lib/flat_api/retry.rb,
lib/flat_api/client.rb,
lib/flat_api/errors.rb,
lib/flat_api/version.rb,
lib/flat_api/api_error.rb,
lib/flat_api/api_client.rb,
lib/flat_api/pagination.rb,
lib/flat_api/api/omr_api.rb,
lib/flat_api/models/task.rb,
lib/flat_api/api/task_api.rb,
lib/flat_api/api/user_api.rb,
lib/flat_api/models/grade.rb,
lib/flat_api/models/group.rb,
lib/flat_api/api/class_api.rb,
lib/flat_api/api/group_api.rb,
lib/flat_api/api/score_api.rb,
lib/flat_api/configuration.rb,
lib/flat_api/api_model_base.rb,
lib/flat_api/models/omr_job.rb,
lib/flat_api/api/account_api.rb,
lib/flat_api/models/lms_name.rb,
lib/flat_api/models/app_scopes.rb,
lib/flat_api/models/assignment.rb,
lib/flat_api/models/collection.rb,
lib/flat_api/models/group_type.rb,
lib/flat_api/models/score_fork.rb,
lib/flat_api/api/collection_api.rb,
lib/flat_api/models/class_roles.rb,
lib/flat_api/models/class_state.rb,
lib/flat_api/models/edu_library.rb,
lib/flat_api/models/score_track.rb,
lib/flat_api/models/task_result.rb,
lib/flat_api/models/user_basics.rb,
lib/flat_api/models/user_public.rb,
lib/flat_api/models/class_update.rb,
lib/flat_api/models/edu_resource.rb,
lib/flat_api/models/license_mode.rb,
lib/flat_api/models/score_source.rb,
lib/flat_api/models/user_details.rb,
lib/flat_api/api/organization_api.rb,
lib/flat_api/models/class_details.rb,
lib/flat_api/models/group_details.rb,
lib/flat_api/models/omr_step_name.rb,
lib/flat_api/models/score_comment.rb,
lib/flat_api/models/score_details.rb,
lib/flat_api/models/score_license.rb,
lib/flat_api/models/score_privacy.rb,
lib/flat_api/models/score_summary.rb,
lib/flat_api/models/task_progress.rb,
lib/flat_api/models/user_creation.rb,
lib/flat_api/api/edu_resources_api.rb,
lib/flat_api/models/class_creation.rb,
lib/flat_api/models/collection_app.rb,
lib/flat_api/models/group_creation.rb,
lib/flat_api/models/omr_job_output.rb,
lib/flat_api/models/omr_job_result.rb,
lib/flat_api/models/omr_job_status.rb,
lib/flat_api/models/score_creation.rb,
lib/flat_api/models/score_revision.rb,
lib/flat_api/models/teaching_theme.rb,
lib/flat_api/models/tutteo_product.rb,
lib/flat_api/models/assignment_copy.rb,
lib/flat_api/models/assignment_type.rb,
lib/flat_api/models/collection_type.rb,
lib/flat_api/models/license_sources.rb,
lib/flat_api/models/lti_credentials.rb,
lib/flat_api/models/resource_rights.rb,
lib/flat_api/models/api_access_token.rb,
lib/flat_api/models/assignment_group.rb,
lib/flat_api/models/class_assignment.rb,
lib/flat_api/models/media_attachment.rb,
lib/flat_api/models/omr_capabilities.rb,
lib/flat_api/models/omr_job_creation.rb,
lib/flat_api/models/omr_job_progress.rb,
lib/flat_api/models/omr_pending_step.rb,
lib/flat_api/models/score_track_type.rb,
lib/flat_api/models/user_signin_link.rb,
lib/flat_api/models/assignment_update.rb,
lib/flat_api/models/class_details_lti.rb,
lib/flat_api/models/class_details_mfc.rb,
lib/flat_api/models/class_grade_level.rb,
lib/flat_api/models/edu_resource_copy.rb,
lib/flat_api/models/edu_resource_move.rb,
lib/flat_api/models/edu_resource_type.rb,
lib/flat_api/models/lti_configuration.rb,
lib/flat_api/models/omr_job_retention.rb,
lib/flat_api/models/score_track_point.rb,
lib/flat_api/models/score_track_state.rb,
lib/flat_api/models/user_admin_update.rb,
lib/flat_api/models/collection_privacy.rb,
lib/flat_api/models/credit_transaction.rb,
lib/flat_api/models/omr_job_input_file.rb,
lib/flat_api/models/omr_locale_details.rb,
lib/flat_api/models/organization_roles.rb,
lib/flat_api/models/score_likes_counts.rb,
lib/flat_api/models/score_modification.rb,
lib/flat_api/models/score_plays_counts.rb,
lib/flat_api/models/score_track_update.rb,
lib/flat_api/models/score_views_counts.rb,
lib/flat_api/models/user_azure_details.rb,
lib/flat_api/models/user_details_admin.rb,
lib/flat_api/models/collection_contents.rb,
lib/flat_api/models/collection_creation.rb,
lib/flat_api/models/edu_resource_folder.rb,
lib/flat_api/models/edu_resource_update.rb,
lib/flat_api/models/flat_error_response.rb,
lib/flat_api/models/omr_job_file_upload.rb,
lib/flat_api/models/score_creation_type.rb,
lib/flat_api/models/score_track_purpose.rb,
lib/flat_api/models/task_export_options.rb,
lib/flat_api/models/user_public_summary.rb,
lib/flat_api/models/class_details_canvas.rb,
lib/flat_api/models/class_details_clever.rb,
lib/flat_api/models/class_details_issues.rb,
lib/flat_api/models/edu_resource_privacy.rb,
lib/flat_api/models/lti_configuration1p1.rb,
lib/flat_api/models/lti_configuration1p3.rb,
lib/flat_api/models/rename_group_request.rb,
lib/flat_api/models/score_comment_update.rb,
lib/flat_api/models/score_track_creation.rb,
lib/flat_api/models/assignment_submission.rb,
lib/flat_api/models/edu_resource_creation.rb,
lib/flat_api/models/edu_resource_lti_link.rb,
lib/flat_api/models/edu_resource_resource.rb,
lib/flat_api/models/omr_details_step_data.rb,
lib/flat_api/models/omr_imported_metadata.rb,
lib/flat_api/models/omr_job_file_metadata.rb,
lib/flat_api/models/resource_collaborator.rb,
lib/flat_api/models/score_comment_context.rb,
lib/flat_api/models/score_comments_counts.rb,
lib/flat_api/models/score_creation_common.rb,
lib/flat_api/models/add_group_user_request.rb,
lib/flat_api/models/lti_configuration_base.rb,
lib/flat_api/models/omr_details_submission.rb,
lib/flat_api/models/score_comment_creation.rb,
lib/flat_api/models/assignment_capabilities.rb,
lib/flat_api/models/class_assignment_update.rb,
lib/flat_api/models/collection_capabilities.rb,
lib/flat_api/models/collection_modification.rb,
lib/flat_api/models/omr_detected_instrument.rb,
lib/flat_api/models/omr_instrument_override.rb,
lib/flat_api/models/organization_invitation.rb,
lib/flat_api/models/score_details_all_of_me.rb,
lib/flat_api/models/score_revision_creation.rb,
lib/flat_api/models/assignment_copy_response.rb,
lib/flat_api/models/assignment_copy_to_class.rb,
lib/flat_api/models/lti_configuration_create.rb,
lib/flat_api/models/lti_configuration_update.rb,
lib/flat_api/models/lti_credentials_creation.rb,
lib/flat_api/models/media_score_sharing_mode.rb,
lib/flat_api/models/score_comment_moderation.rb,
lib/flat_api/models/assignment_submission_lti.rb,
lib/flat_api/models/class_attachment_creation.rb,
lib/flat_api/models/edu_resource_capabilities.rb,
lib/flat_api/models/edu_resource_use_in_class.rb,
lib/flat_api/models/lti_configuration1p3_base.rb,
lib/flat_api/models/score_revision_statistics.rb,
lib/flat_api/models/user_signin_link_creation.rb,
lib/flat_api/models/add_group_user200_response.rb,
lib/flat_api/models/class_details_google_drive.rb,
lib/flat_api/models/microsoft_graph_assignment.rb,
lib/flat_api/models/microsoft_graph_submission.rb,
lib/flat_api/models/omr_job_file_upload_result.rb,
lib/flat_api/models/score_creation_file_import.rb,
lib/flat_api/models/assignment_submission_state.rb,
lib/flat_api/models/class_assignment_all_of_lti.rb,
lib/flat_api/models/class_assignment_all_of_mfc.rb,
lib/flat_api/models/google_classroom_coursework.rb,
lib/flat_api/models/google_classroom_submission.rb,
lib/flat_api/models/lti_configuration1p3_manual.rb,
lib/flat_api/models/lti_configuration_create1p1.rb,
lib/flat_api/models/score_creation_builder_data.rb,
lib/flat_api/models/assignment_submission_update.rb,
lib/flat_api/models/lti_configuration1p3_dynamic.rb,
lib/flat_api/models/user_community_profile_links.rb,
lib/flat_api/models/assignment_submission_comment.rb,
lib/flat_api/models/assignment_submission_history.rb,
lib/flat_api/models/class_details_microsoft_graph.rb,
lib/flat_api/models/score_track_creation_response.rb,
lib/flat_api/models/assignment_submission_comments.rb,
lib/flat_api/models/assignment_submission_playback.rb,
lib/flat_api/models/class_assignment_all_of_canvas.rb,
lib/flat_api/models/class_details_google_classroom.rb,
lib/flat_api/models/lti_configuration1p3_base_tool.rb,
lib/flat_api/models/resource_collaborator_creation.rb,
lib/flat_api/models/class_details_issues_sync_inner.rb,
lib/flat_api/models/lti_configuration1p3_deployment.rb,
lib/flat_api/models/edu_resource_assignment_creation.rb,
lib/flat_api/models/lti_configuration1p1_all_of_tool.rb,
lib/flat_api/models/organization_invitation_creation.rb,
lib/flat_api/models/user_details_admin_all_of_license.rb,
lib/flat_api/models/lti_configuration_create1p3_manual.rb,
lib/flat_api/models/score_creation_google_drive_import.rb,
lib/flat_api/models/assignment_copy_to_resource_library.rb,
lib/flat_api/models/assignment_submission_history_state.rb,
lib/flat_api/models/assignment_submission_students_mode.rb,
lib/flat_api/models/lti_configuration_create1p3_dynamic.rb,
lib/flat_api/models/lti_configuration_update_deployment.rb,
lib/flat_api/models/lti_configuration_update_standalone.rb,
lib/flat_api/models/assignment_submission_comment_creation.rb,
lib/flat_api/models/lti_configuration_create1p3_deployment.rb,
lib/flat_api/models/organization_user_access_token_creation.rb,
lib/flat_api/models/assignment_submission_history_attachment.rb,
lib/flat_api/models/lti_configuration1p3_base_supported_services.rb,
lib/flat_api/models/class_assignment_update_all_of_microsoft_graph.rb,
lib/flat_api/models/class_assignment_update_all_of_google_classroom.rb,
lib/flat_api/models/score_creation_builder_data_all_of_builder_data.rb,
lib/flat_api/models/lti_configuration1p3_base_supported_services_ags.rb,
lib/flat_api/models/lti_configuration1p3_base_supported_services_nrps.rb,
lib/flat_api/models/lti_configuration_create1p3_dynamic_platform_info.rb,
lib/flat_api/models/assignment_capabilities_can_publish_in_class_error.rb,
lib/flat_api/models/lti_configuration1p3_base_supported_services_deep_linking.rb,
lib/flat_api/models/score_creation_builder_data_all_of_builder_data_score_data.rb,
lib/flat_api/models/score_creation_builder_data_all_of_builder_data_layout_data.rb,
lib/flat_api/models/score_creation_builder_data_all_of_builder_data_score_data_instruments.rb
Overview
#Flat API
#The Flat API allows you to easily extend the abilities of the Flat Platform, with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML, MIDI, Guitar Pro, MuseScore, ABC notation, and many other formats * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful: it has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The schema of this API follows the OpenAPI Initiative (OAI) specification, you can use and work with compatible Swagger tools. This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with W3C spec. You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference are available on GitHub. Getting Started and learn more: * API Overview and introduction * Authentication (Personal Access Tokens or OAuth2) * SDKs * Rate Limits * Changelog
The version of the OpenAPI document: 2.26.2 Contact: [email protected] Generated by: https://openapi-generator.tech Generator version: 7.24.0
Defined Under Namespace
Modules: AssignmentCopy, EduResourceResource, LtiConfiguration, LtiConfiguration1p3, LtiConfigurationCreate, LtiConfigurationUpdate, Pagination, ScoreCreation Classes: AccountApi, AddGroupUser200Response, AddGroupUserRequest, ApiAccessToken, ApiClient, ApiError, ApiModelBase, AppScopes, Assignment, AssignmentCapabilities, AssignmentCapabilitiesCanPublishInClassError, AssignmentCopyResponse, AssignmentCopyToClass, AssignmentCopyToResourceLibrary, AssignmentGroup, AssignmentSubmission, AssignmentSubmissionComment, AssignmentSubmissionCommentCreation, AssignmentSubmissionComments, AssignmentSubmissionHistory, AssignmentSubmissionHistoryAttachment, AssignmentSubmissionHistoryState, AssignmentSubmissionLti, AssignmentSubmissionPlayback, AssignmentSubmissionState, AssignmentSubmissionStudentsMode, AssignmentSubmissionUpdate, AssignmentType, AssignmentUpdate, ClassApi, ClassAssignment, ClassAssignmentAllOfCanvas, ClassAssignmentAllOfLti, ClassAssignmentAllOfMfc, ClassAssignmentUpdate, ClassAssignmentUpdateAllOfGoogleClassroom, ClassAssignmentUpdateAllOfMicrosoftGraph, ClassAttachmentCreation, ClassCreation, ClassDetails, ClassDetailsCanvas, ClassDetailsClever, ClassDetailsGoogleClassroom, ClassDetailsGoogleDrive, ClassDetailsIssues, ClassDetailsIssuesSyncInner, ClassDetailsLti, ClassDetailsMfc, ClassDetailsMicrosoftGraph, ClassGradeLevel, ClassRoles, ClassState, ClassUpdate, Collection, CollectionApi, CollectionApp, CollectionCapabilities, CollectionContents, CollectionCreation, CollectionModification, CollectionPrivacy, CollectionType, Configuration, CreditTransaction, EduLibrary, EduResource, EduResourceAssignmentCreation, EduResourceCapabilities, EduResourceCopy, EduResourceCreation, EduResourceFolder, EduResourceLtiLink, EduResourceMove, EduResourcePrivacy, EduResourceType, EduResourceUpdate, EduResourceUseInClass, EduResourcesApi, FlatAuthenticationError, FlatAuthorizationError, FlatClient, FlatError, FlatErrorResponse, FlatNotFoundError, FlatQuotaError, FlatRateLimitError, FlatServerError, FlatValidationError, GoogleClassroomCoursework, GoogleClassroomSubmission, Grade, Group, GroupApi, GroupCreation, GroupDetails, GroupType, LicenseMode, LicenseSources, LmsName, LtiConfiguration1p1, LtiConfiguration1p1AllOfTool, LtiConfiguration1p3Base, LtiConfiguration1p3BaseSupportedServices, LtiConfiguration1p3BaseSupportedServicesAgs, LtiConfiguration1p3BaseSupportedServicesDeepLinking, LtiConfiguration1p3BaseSupportedServicesNrps, LtiConfiguration1p3BaseTool, LtiConfiguration1p3Deployment, LtiConfiguration1p3Dynamic, LtiConfiguration1p3Manual, LtiConfigurationBase, LtiConfigurationCreate1p1, LtiConfigurationCreate1p3Deployment, LtiConfigurationCreate1p3Dynamic, LtiConfigurationCreate1p3DynamicPlatformInfo, LtiConfigurationCreate1p3Manual, LtiConfigurationUpdateDeployment, LtiConfigurationUpdateStandalone, LtiCredentials, LtiCredentialsCreation, MediaAttachment, MediaScoreSharingMode, MicrosoftGraphAssignment, MicrosoftGraphSubmission, OAuth2Helper, OMRApi, OmrCapabilities, OmrDetailsStepData, OmrDetailsSubmission, OmrDetectedInstrument, OmrImportedMetadata, OmrInstrumentOverride, OmrJob, OmrJobCreation, OmrJobFileMetadata, OmrJobFileUpload, OmrJobFileUploadResult, OmrJobInputFile, OmrJobOutput, OmrJobProgress, OmrJobResult, OmrJobRetention, OmrJobStatus, OmrLocaleDetails, OmrPendingStep, OmrStepName, OrganizationApi, OrganizationInvitation, OrganizationInvitationCreation, OrganizationRoles, OrganizationUserAccessTokenCreation, RenameGroupRequest, ResourceCollaborator, ResourceCollaboratorCreation, ResourceRights, RetryPolicy, ScoreApi, ScoreComment, ScoreCommentContext, ScoreCommentCreation, ScoreCommentModeration, ScoreCommentUpdate, ScoreCommentsCounts, ScoreCreationBuilderData, ScoreCreationBuilderDataAllOfBuilderData, ScoreCreationBuilderDataAllOfBuilderDataLayoutData, ScoreCreationBuilderDataAllOfBuilderDataScoreData, ScoreCreationBuilderDataAllOfBuilderDataScoreDataInstruments, ScoreCreationCommon, ScoreCreationFileImport, ScoreCreationGoogleDriveImport, ScoreCreationType, ScoreDetails, ScoreDetailsAllOfMe, ScoreFork, ScoreLicense, ScoreLikesCounts, ScoreModification, ScorePlaysCounts, ScorePrivacy, ScoreRevision, ScoreRevisionCreation, ScoreRevisionStatistics, ScoreSource, ScoreSummary, ScoreTrack, ScoreTrackCreation, ScoreTrackCreationResponse, ScoreTrackPoint, ScoreTrackPurpose, ScoreTrackState, ScoreTrackType, ScoreTrackUpdate, ScoreViewsCounts, Task, TaskApi, TaskExportOptions, TaskProgress, TaskResult, TeachingTheme, TokenManager, Tokens, TutteoProduct, UserAdminUpdate, UserApi, UserAzureDetails, UserBasics, UserCommunityProfileLinks, UserCreation, UserDetails, UserDetailsAdmin, UserDetailsAdminAllOfLicense, UserPublic, UserPublicSummary, UserSigninLink, UserSigninLinkCreation
Constant Summary collapse
- AUTHORIZE_URL =
'https://flat.io/auth/oauth'- TOKEN_URL =
'https://api.flat.io/oauth/access_token'- EXPIRY_SKEW =
Refresh slightly before nominal expiry, to avoid racing the server clock.
30- IDEMPOTENT_METHODS =
Methods safe to replay. A non-idempotent request that may already have been applied is not.
%w[GET HEAD OPTIONS PUT DELETE].freeze
- MAX_RATE_LIMIT_WAIT =
300.0- RATE_LIMIT_CODE =
'API_RATE_LIMIT_EXCEEDED'- QUOTA_CODES =
%w[QUOTA_EXCEEDED CREDITS_EXHAUSTED OMR_CREDITS_EXHAUSTED].freeze
- VERSION =
'1.0.1'
Class Method Summary collapse
-
.configure ⇒ Object
Customize default settings for the SDK using block.
-
.error_from_response(status, body, headers = {}) ⇒ Object
Build the right error for a non-2xx response.
Class Method Details
.configure ⇒ Object
Customize default settings for the SDK using block. FlatApi.configure do |config| config.username = "xxx" config.password = "xxx" end If no block given, return the default Configuration object.
246 247 248 249 250 251 252 |
# File 'lib/flat_api.rb', line 246 def configure if block_given? yield(Configuration.default) else Configuration.default end end |
.error_from_response(status, body, headers = {}) ⇒ Object
Build the right error for a non-2xx response.
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/flat_api/errors.rb', line 67 def self.error_from_response(status, body, headers = {}) payload = body.is_a?(Hash) ? body : {} code = payload['code'] || payload[:code] = payload['message'] || payload[:message] || "HTTP #{status}" opts = { status: status, code: code, request_id: payload['id'] || payload[:id], headers: headers, body: body } return FlatRateLimitError.new(, **opts) if status == 403 && code == RATE_LIMIT_CODE return FlatQuotaError.new(, **opts) if QUOTA_CODES.include?(code) return FlatAuthenticationError.new(, **opts) if status == 401 return FlatAuthorizationError.new(, **opts) if status == 403 return FlatNotFoundError.new(, **opts) if status == 404 return FlatValidationError.new(, **opts) if [400, 422].include?(status) return FlatServerError.new(, **opts) if status >= 500 FlatError.new(, **opts) end |