Flat
Flat is an online music notation and composition platform with an API for creating, managing, and sharing musical scores.
- Base URL:
https://api.flat.io/v2 - Auth: OAuth 2.0 (user-delegated) — attach an InTouch
oauthcredential. Mint one withitcli.py /oauth <provider>(device-code) or/google-auth(Google); the server auto-refreshes the access token before each run, so the connector never handles or stores tokens.
Operations
listclasses— GET /classes — List the classes available for the current usergetclass— GET /classes/{class} — Get the details of a single classlistassignments— GET /classes/{class}/assignments — Assignments listinggetsubmissions— GET /classes/{class}/assignments/{assignment}/submissions — List the students' submissionsexportsubmissionsreviewsascsv— GET /classes/{class}/assignments/{assignment}/submissions/csv — CSV Grades exportsexportsubmissionsreviewsasexcel— GET /classes/{class}/assignments/{assignment}/submissions/excel — Excel Grades exports
Inputs
- a linked
oauthcredential (no key inputs) — the server injects a freshAuthorization: Bearerfrom it operation— one of the operations above- path parameters when an operation's path contains
{...} query— optional JSON object of query paramsbody— JSON object for create/update ops
Example
operation: listclasses
# (attach an 'oauth' credential to the task — no inline secrets)
Publishes
The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.
erroroperationresultstatus
Input Properties
Every property this tool accepts, from its own tool.iml.
| Property | Type | Required | Default | Description |
|---|---|---|---|---|
operation |
string | yes | — | One of: listclasses, getclass, listassignments, getsubmissions, exportsubmissionsreviewsascsv, exportsubmissionsreviewsasexcel |
assignment |
string | no | — | Path parameter assignment (required by some operations). |
class |
string | no | — | Path parameter class (required by some operations). |
query |
string | no | — | Optional query params as a JSON object string, e.g. {"limit": 10}. |