API docs
A scoped API for your own tools. Create assignments and pull grades programmatically.
Authentication
Create a key on your account page, then send it as a bearer token on every request. Keys are scoped to your own account, so every endpoint only ever sees classes, exams and decks you own.
Authorization: Bearer ork_live_...List your classes
GET /api/v1/classes
curl https://www.orpheusengine.com/api/v1/classes \
-H "Authorization: Bearer ork_live_..."Pull a class's grades
GET /api/v1/classes/{id}/grades
Returns every student × assignment, with a 0-100 percent (auto-graded for exams; 100 or null, meaning done or not done, for deck/writing assignments, the same convention the in-app gradebook uses).
curl https://www.orpheusengine.com/api/v1/classes/cls_123/grades \
-H "Authorization: Bearer ork_live_..."Create an assignment
POST /api/v1/classes/{id}/assignments
Body shape depends on type (exam is the default):
# Assign one of your saved exams
curl -X POST https://www.orpheusengine.com/api/v1/classes/cls_123/assignments \
-H "Authorization: Bearer ork_live_..." \
-H "Content-Type: application/json" \
-d '{"type": "exam", "examId": "exam_456", "dueAt": "2026-08-01"}'
# Assign one of your saved flashcard decks
curl -X POST https://www.orpheusengine.com/api/v1/classes/cls_123/assignments \
-H "Authorization: Bearer ork_live_..." \
-H "Content-Type: application/json" \
-d '{"type": "deck", "deckId": "deck_789"}'
# Assign a writing prompt
curl -X POST https://www.orpheusengine.com/api/v1/classes/cls_123/assignments \
-H "Authorization: Bearer ork_live_..." \
-H "Content-Type: application/json" \
-d '{"type": "writing", "title": "Essay: renewable energy", "writingPrompt": "..."}'Limits
Up to 60 requests per minute per key. Every write is scoped to resources your account owns, so you cannot read or modify another user's classes, exams or decks.