API Endpoints
The API 2.1 consists of the following resources, listed as individual endpoints:
Account and user management
Content
Endpoint | Function |
---|---|
GET /api/2.1/course/{course} |
Retrieve course details |
PUT /api/2.1/course/{course} |
Update course |
PUT /api/2.1/course/{course}/{drill} |
Add a drill to a course |
DELETE /api/2.1/course/{course}/{drill} |
Remove a drill from a course |
POST /api/2.1/courses |
Create a course |
POST /api/2.1/drill/{drill}/duplicate |
Duplicate a drill |
POST /api/2.1/drill/{drill}/merge |
Merge two or more drills |
PUT /api/2.1/drill/{drill} |
Update drill name, subject or description |
GET /api/2.1/drill/{drill}/tags |
Retrieve drill tags |
DELETE /api/2.1/drillable/{drillable} |
Delete drillable |
POST /api/2.1/drills |
Create a new drill |
POST /api/2.1/drills/upload |
Upload drill from file |
GET /api/2.1/oeuvre |
Retrieve authored playables |
GET /api/2.1/playable/{playable} |
Retrieve playable details |
PUT /api/2.1/playable/{playable}/publish |
Publish playable to Drill Store or catalog |
GET /api/2.1/test/{test} |
Retrieve test details |
Practice and test
Endpoint | Function |
---|---|
PUT /api/2.1/answer/{reference} |
Submit practice answer |
GET /api/2.1/drillable/{drillable}/easy-and-difficult-entries |
Retrieve a drillable's easy and difficult entries |
GET /api/2.1/drillable/{drillable}/reviews |
Retrieve drillable reviews |
GET /api/2.1/drillable/{drillable}/review |
Retrieve drillable review |
GET /api/2.1/drillable/{drillable}/proficiency-chart |
Retrieve data for drillable proficiency chart |
PUT /api/2.1/drillable/{drillable}/review |
Post a drillable review |
GET /api/2.1/drillable/{drillable}/reception |
Retrieve drillable reception |
PUT /api/2.1/group-invitation/{token} |
Accept or decline group invitation |
GET /api/2.1/playable/{playable}/appreciation |
Retrieve playable appreciation |
PUT /api/2.1/playable/{playable}/appreciation/{appreciation} |
Store playable appreciation |
POST /api/2.1/playable/{playable}/contact-author |
Contact playable author |
PUT /api/2.1/playable/{playable}/forwarded |
Accept forwarded playable |
DELETE /api/2.1/playable/{playable}/forwarded |
Decline forwarded playable |
GET /api/2.1/playables/forwarded |
Retrieve list of drills forwarded to user |
PUT /api/2.1/playables/forward |
Forward drills to others |
GET /api/2.1/rendition/{drillable} |
Retrieve practice status |
GET /api/2.1/rendition/{drillable}/preferences |
Retrieve practice preferences for rendition |
PUT /api/2.1/rendition/{drillable}/preferences |
Store practice preferences for rendition |
GET /api/2.1/rendition/{drillable}/projected-proficiency/{duration} |
Retrieve projected proficiency |
PUT [/api/2.1/test/{test}/{type}/{id} ] |
|
GET /api/2.1/tests |
Retrieve a user's tests |
POST /api/2.1/tests |
Define a new test |
GET /api/2.1/test-result/{test} |
Retrieve test results |
PUT /api/2.1/test-result/{test} |
Complete a test |
GET /api/2.1/question/{drill} |
Retrieve practice question |
GET /api/2.1/test-question/{test} |
Retrieve test question |
GET /api/2.1/test-score-transformers |
Retrieve test score transformers |
GET /api/2.1/objectives |
Retrieve list of objectives including evaluations |
GET /api/2.1/objective/{objective_id} |
Retrieve a specific objective including evaluation |
GET /api/2.1/repertoire |
Search in repertoire |
PUT /api/2.1/repertoire/{drillable} |
Add drill to repertoire |
DELETE /api/2.1/repertoire/{drillable} |
Remove a drill or course from the user's repertoire |
Drill store
Endpoint | Function |
---|---|
GET /api/2.1/store |
Search in Drill store |
GET /api/2.1/store/categories |
Retrieve Drill Store categories |
GET /api/2.1/store/highlights |
Request list of Drill Store highlights |
GET /api/2.1/store/popular |
Requests list of most practiced public drills |
GET /api/2.1/store/random |
Retrieve random Drill Store item |
GET /api/2.1/store/recent |
Requests list of recently published Drill Store entries |
GET /api/2.1/store/related/{drill} |
Requests list of public drills related to given drill |
Group management and analysis
Endpoint | Function |
---|---|
GET /api/2.1/group/{group} |
Retrieve group details |
PUT /api/2.1/group/{group} |
Update group details |
GET /api/2.1/group/{group}/drillables |
Retrieve group drillables |
DELETE /api/2.1/group/{group}/drills/{drill} |
Remove drill from group |
PUT /api/2.1/group/{group}/drills/{drill} |
Adds a drill to a group |
DELETE /api/2.1/group/{group}/members |
Retrieve or search list of members for group |
GET /api/2.1/group/{group}/members |
Retrieve or search list of members for group |
PUT /api/2.1/group/{group}/members/{user} |
Add user to group |
GET /api/2.1/group/{group}/objectives |
Retrieve group objectives |
DELETE /api/2.1/group/{group}/objective/{objective} |
Removes an objective from a group |
GET /api/2.1/group/{group}/objective/{objective}/evaluations |
Retrieve a group objective evaluations |
PUT /api/2.1/group/{group}/objective/{objective} |
Update group objective |
POST /api/2.1/group/{group}/objectives |
Define practice objective |
GET /api/2.1/group/{group}/staff |
Retrieve group staff permissions |
PUT /api/2.1/group/{group}/staff/{user}/permission |
Update group staff permissions |
DELETE /api/2.1/group/{group}/staff/{user}/{permission} |
Revoke group staff permissions |
GET /api/2.1/group/{group}/tests |
Retrieve group tests |
DELETE /api/2.1/group/{group}/tests/{test} |
Remove test from group |
POST /api/2.1/group/{group}/tests |
Add test to group |
GET /api/2.1/group/{group}/results |
Retrieve group drill results |
GET /api/2.1/groups |
Search in list of groups |
POST /api/2.1/groups |
Create new group |
DELETE /api/2.1/groups/{group} |
Delete group |
Beacons
Endpoint | Function |
---|---|
GET /api/2.1/beacon/{beacon} |
Retrieve beacon details |
PUT /api/2.1/beacon/{beacon} |
Store or update beacon definition |
DELETE /api/2.1/beacon/{beacon} |
Delete a beacon definition |
GET /api/2.1/beacons |
List beacon definitions |
Developer related
Endpoint | Function |
---|---|
GET /api/2.1/client-app/{client} |
Retrieve client app details |
PUT /api/2.1/client-app/{client} |
Update client app details |
DELETE /api/2.1/client-app/{client} |
Delete a client app |
GET /api/2.1/client-apps/{user}? |
Retrieve all client apps |
POST /api/2.1/client-apps |
Create a new client app |
PUT /api/2.1/mobile-push-notification-subscription/{platform}/{address} |
Register mobile device for push notifications |
DELETE /api/2.1/mobile-push-notification-subscription/{platform}/{address} |
Deregister mobile device for push notifications |
GET /api/2.1/version |
Retrieve backend API version |
Please see the list of objects for the message content for these endpoints.