Skip to content

iamdeepakram/api-client-python

 
 

Repository files navigation

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 (GP3, GP4, GP5, GPX, GP), PowerTab, TuxGuitar and MuseScore files * 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 is available on Github. Getting Started and learn more: * API Overview and interoduction * Authentication (Personal Access Tokens or OAuth2) * SDKs * Rate Limits * Changelog

This Python package is automatically generated by the OpenAPI Generator project:

  • API version: 2.9.0
  • Package version: 0.6.0
  • Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit https://flat.io/developers/docs/api/

Requirements.

Python 2.7 and 3.4+

Installation & Usage

pip install

If the python package is hosted on a repository, you can install directly using:

pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git

(you may need to run pip with root permission: sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git)

Then import the package:

import flat_api

Setuptools

Install via Setuptools.

python setup.py install --user

(or sudo python setup.py install to install the package for all users)

Then import the package:

import flat_api

Getting Started

Please follow the installation procedure and then run the following:

from __future__ import print_function
import time
import flat_api
from flat_api.rest import ApiException
from pprint import pprint

configuration = flat_api.Configuration()
# Configure OAuth2 access token for authorization: OAuth2
configuration.access_token = 'YOUR_ACCESS_TOKEN'

# Defining host is optional and default to https://api.flat.io/v2
configuration.host = "https://api.flat.io/v2"
# Create an instance of the API class
api_instance = flat_api.AccountApi(flat_api.ApiClient(configuration))

try:
    # Get current user profile
    api_response = api_instance.get_authenticated_user()
    pprint(api_response)
except ApiException as e:
    print("Exception when calling AccountApi->get_authenticated_user: %s\n" % e)

Documentation for API Endpoints

All URIs are relative to https://api.flat.io/v2

Class Method HTTP request Description
AccountApi get_authenticated_user GET /me Get current user profile
ClassApi activate_class POST /classes/{class}/activate Activate the class
ClassApi add_class_user PUT /classes/{class}/users/{user} Add a user to the class
ClassApi archive_class POST /classes/{class}/archive Archive the class
ClassApi copy_assignment POST /classes/{class}/assignments/{assignment}/copy Copy an assignment
ClassApi create_assignment POST /classes/{class}/assignments Assignment creation
ClassApi create_class POST /classes Create a new class
ClassApi create_submission PUT /classes/{class}/assignments/{assignment}/submissions Create or edit a submission
ClassApi delete_class_user DELETE /classes/{class}/users/{user} Remove a user from the class
ClassApi edit_submission PUT /classes/{class}/assignments/{assignment}/submissions/{submission} Edit a submission
ClassApi enroll_class POST /classes/enroll/{enrollmentCode} Join a class
ClassApi get_class GET /classes/{class} Get the details of a single class
ClassApi get_score_submissions GET /scores/{score}/submissions List submissions related to the score
ClassApi get_submission GET /classes/{class}/assignments/{assignment}/submissions/{submission} Get a student submission
ClassApi get_submissions GET /classes/{class}/assignments/{assignment}/submissions List the students' submissions
ClassApi list_assignments GET /classes/{class}/assignments Assignments listing
ClassApi list_class_student_submissions GET /classes/{class}/students/{user}/submissions List the submissions for a student
ClassApi list_classes GET /classes List the classes available for the current user
ClassApi unarchive_class DELETE /classes/{class}/archive Unarchive the class
ClassApi update_class PUT /classes/{class} Update the class
CollectionApi add_score_to_collection PUT /collections/{collection}/scores/{score} Add a score to the collection
CollectionApi create_collection POST /collections Create a new collection
CollectionApi delete_collection DELETE /collections/{collection} Delete the collection
CollectionApi delete_score_from_collection DELETE /collections/{collection}/scores/{score} Delete a score from the collection
CollectionApi edit_collection PUT /collections/{collection} Update a collection's metadata
CollectionApi get_collection GET /collections/{collection} Get collection details
CollectionApi list_collection_scores GET /collections/{collection}/scores List the scores contained in a collection
CollectionApi list_collections GET /collections List the collections
CollectionApi untrash_collection POST /collections/{collection}/untrash Untrash a collection
GroupApi get_group_details GET /groups/{group} Get group information
GroupApi get_group_scores GET /groups/{group}/scores List group's scores
GroupApi list_group_users GET /groups/{group}/users List group's users
OrganizationApi create_lti_credentials POST /organizations/lti/credentials Create a new couple of LTI 1.x credentials
OrganizationApi create_organization_invitation POST /organizations/invitations Create a new invitation to join the organization
OrganizationApi create_organization_user POST /organizations/users Create a new user account
OrganizationApi list_lti_credentials GET /organizations/lti/credentials List LTI 1.x credentials
OrganizationApi list_organization_invitations GET /organizations/invitations List the organization invitations
OrganizationApi list_organization_users GET /organizations/users List the organization users
OrganizationApi remove_organization_invitation DELETE /organizations/invitations/{invitation} Remove an organization invitation
OrganizationApi remove_organization_user DELETE /organizations/users/{user} Remove an account from Flat
OrganizationApi revoke_lti_credentials DELETE /organizations/lti/credentials/{credentials} Revoke LTI 1.x credentials
OrganizationApi update_organization_user PUT /organizations/users/{user} Update account information
ScoreApi add_score_collaborator POST /scores/{score}/collaborators Add a new collaborator
ScoreApi add_score_track POST /scores/{score}/tracks Add a new video or audio track to the score
ScoreApi create_score POST /scores Create a new score
ScoreApi create_score_revision POST /scores/{score}/revisions Create a new revision
ScoreApi delete_score DELETE /scores/{score} Delete a score
ScoreApi delete_score_comment DELETE /scores/{score}/comments/{comment} Delete a comment
ScoreApi delete_score_track DELETE /scores/{score}/tracks/{track} Remove an audio or video track linked to the score
ScoreApi edit_score PUT /scores/{score} Edit a score's metadata
ScoreApi fork_score POST /scores/{score}/fork Fork a score
ScoreApi ger_user_likes GET /users/{user}/likes List liked scores
ScoreApi get_group_scores GET /groups/{group}/scores List group's scores
ScoreApi get_score GET /scores/{score} Get a score's metadata
ScoreApi get_score_collaborator GET /scores/{score}/collaborators/{collaborator} Get a collaborator
ScoreApi get_score_collaborators GET /scores/{score}/collaborators List the collaborators
ScoreApi get_score_comments GET /scores/{score}/comments List comments
ScoreApi get_score_revision GET /scores/{score}/revisions/{revision} Get a score revision
ScoreApi get_score_revision_data GET /scores/{score}/revisions/{revision}/{format} Get a score revision data
ScoreApi get_score_revisions GET /scores/{score}/revisions List the revisions
ScoreApi get_score_submissions GET /scores/{score}/submissions List submissions related to the score
ScoreApi get_score_track GET /scores/{score}/tracks/{track} Retrieve the details of an audio or video track linked to a score
ScoreApi get_user_scores GET /users/{user}/scores List user's scores
ScoreApi list_score_tracks GET /scores/{score}/tracks List the audio or video tracks linked to a score
ScoreApi mark_score_comment_resolved PUT /scores/{score}/comments/{comment}/resolved Mark the comment as resolved
ScoreApi mark_score_comment_unresolved DELETE /scores/{score}/comments/{comment}/resolved Mark the comment as unresolved
ScoreApi post_score_comment POST /scores/{score}/comments Post a new comment
ScoreApi remove_score_collaborator DELETE /scores/{score}/collaborators/{collaborator} Delete a collaborator
ScoreApi untrash_score POST /scores/{score}/untrash Untrash a score
ScoreApi update_score_comment PUT /scores/{score}/comments/{comment} Update an existing comment
ScoreApi update_score_track PUT /scores/{score}/tracks/{track} Update an audio or video track linked to a score
UserApi ger_user_likes GET /users/{user}/likes List liked scores
UserApi get_user GET /users/{user} Get a public user profile
UserApi get_user_scores GET /users/{user}/scores List user's scores

Documentation For Models

Documentation For Authorization

OAuth2

  • Type: OAuth
  • Flow: accessCode
  • Authorization URL: https://flat.io/auth/oauth
  • Scopes:
  • account.public_profile: Provides access to the basic person's public profile. Education profiles may be anonymized with this scope, you can request the scope education_profile to access to the a basic education account profile.
  • account.email: Provices access to the person's email.
  • account.education_profile: Provides access to the basic person's education profile and public organization information.
  • scores.readonly: Allows read-only access to all a user's scores. You won't need this scope to read public scores.
  • scores.social: Allow to post comments and like scores
  • scores: Full, permissive scope to access all of a user's scores.
  • 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.
  • edu.classes: Full, permissive scope to manage the classes.
  • edu.classes.readonly: Read-only access to the classes.
  • edu.assignments: Read-write access to the assignments and submissions.
  • edu.assignments.readonly: Read-only access to the assignments and submissions.
  • edu.admin: Full, permissive scope to manage all the admin of an organization.
  • edu.admin.lti: Access and manage the LTI Credentials for an organization.
  • edu.admin.lti.readonly: Read-only access to the LTI Credentials of an organization.
  • edu.admin.users: Access and manage the users and invitations of the organization.
  • edu.admin.users.readonly: Read-only access to the users and invitations of the organization.

Author

[email protected]

About

🐍 Python client for the Flat REST API

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Python 100.0%