Serveur MCP

Fiveable for AP Teachers

io.github.thinkfiveable/fiveable-ap-teachers
Éducation Productivité Public et accessible MCP 2025-11-25

Ce que fait ce MCP

Helps AP teachers create assignments and classes, grade essays, review class performance, manage approvals, and export results to Google Classroom or Sheets.

add_students
Add students
Adds students to a class roster from individual entries with names in First Last order and optional emails. Existing roster students are matched rather than duplicated. Emails support assignment notifications and are never returned. Roster additions can be removed.
Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['classId', 'students'], 'properties': {'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Class id from list_classes.'}, 'students': {'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'First Last.'}, 'email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'maxLength': 254}}, 'additionalProperties': False}, 'maxItems': 200, 'minItems': 1}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
approve_essays
Approve essays
Marks scored essays approved (the teacher stands behind the score), or unapproves them with approve: false. Accepts essay handles, or all: true for every scored essay not yet approved. Only approved essays go to Google Classroom. The same handles with approve: false reverse approval.
Destructif Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId', 'all', 'approve'], 'properties': {'all': {'type': 'boolean', 'default': False}, 'approve': {'type': 'boolean', 'default': True}, 'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}, 'essayHandles': {'type': 'array', 'items': {'type': 'string', 'pattern': '^E-[a-f0-9]{6}$', 'description': 'Essay handle from get_grading_results, e.g. E-3b91c0.'}, 'maxItems': 200}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
archive_assignment
Archive or restore draft
Archives an unpublished draft (it leaves the coursework list; nothing is deleted) or restores an archived draft with archived: false. Published assignments are archived on the website.
Destructif Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId', 'archived'], 'properties': {'archived': {'type': 'boolean', 'default': True, 'description': 'false restores an archived draft.'}, 'assignmentId': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Assignment id from list_coursework.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
archive_class
Archive or restore class
Archives a class the teacher created (it leaves the class list; nothing is deleted), or restores an archived one with archived: false. Co-taught classes can only be archived by their owner.
Destructif Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['classId', 'archived'], 'properties': {'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Class id from list_classes.'}, 'archived': {'type': 'boolean', 'default': True, 'description': 'false restores an archived class.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
confirm_correct_answer_key
Correct an answer key
Applies the owner-bound answer-key correction preview identified by previewId and rescores affected attempts in the background, subject to explicit teacher approval. Rejects scores changed since the preview.
Destructif Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['previewId'], 'properties': {'previewId': {'type': 'string', 'maxLength': 200, 'minLength': 20, 'description': 'The previewId from the matching prepare_ tool, after the teacher said yes to that preview.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
confirm_publish_assignment
Publish assignment
Publishes exactly the owner-bound preview identified by previewId, subject to explicit teacher approval of that specific preview. Returns each class's student link and a message to post.
Destructif Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['previewId'], 'properties': {'previewId': {'type': 'string', 'maxLength': 200, 'minLength': 20, 'description': 'The previewId from the matching prepare_ tool, after the teacher said yes to that preview.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
confirm_push_grades_to_google_classroom
Send grades to Google Classroom
Exports exactly the grades in the owner-bound previewId, subject to explicit teacher approval of that preview. Rejects session scores changed since the preview.
Destructif Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['previewId'], 'properties': {'previewId': {'type': 'string', 'maxLength': 200, 'minLength': 20, 'description': 'The previewId from the matching prepare_ tool, after the teacher said yes to that preview.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
confirm_release_results
Hand results back
Releases results exactly as specified by the owner-bound previewId, subject to explicit teacher approval of that specific preview. Release cannot be reversed.
Destructif Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['previewId'], 'properties': {'previewId': {'type': 'string', 'maxLength': 200, 'minLength': 20, 'description': 'The previewId from the matching prepare_ tool, after the teacher said yes to that preview.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
confirm_update_publication
Change a published assignment
Applies the owner-bound publication preview identified by previewId, subject to explicit teacher approval of that specific preview.
Destructif Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['previewId'], 'properties': {'previewId': {'type': 'string', 'maxLength': 200, 'minLength': 20, 'description': 'The previewId from the matching prepare_ tool, after the teacher said yes to that preview.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
create_assignment_draft
Create assignment draft
Builds an assignment draft from multiple-choice units and topics (skipping already assigned questions), Fiveable FRQ or SAQ ids, readings with optional checks, or a diagnostic. Settings start from the first class's defaults. AP Calculus drafts require courseVariant or target classes sharing one course. Returns the draft id and review link. Drafts never use an included assignment slot.
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['title', 'subjectSlug', 'sections', 'requestId'], 'properties': {'dueAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'Default due time for every class.'}, 'title': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'classes': {'type': 'array', 'items': {'type': 'object', 'required': ['classId'], 'properties': {'dueAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'ISO date-time with timezone offset.'}, 'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Class id from list_classes.'}}, 'additionalProperties': False}, 'maxItems': 12, 'description': 'Classes to target, each with an optional due date.'}, 'sections': {'type': 'array', 'items': {'oneOf': [{'type': 'object', 'required': ['type', 'questionCount', 'style', 'units', 'avoidRepeats'], 'properties': {'type': {'type': 'string', 'const': 'multiple_choice'}, 'style': {'enum': ['exam', 'comprehension', 'vocabulary'], 'type': 'string', 'default': 'exam', 'description': 'exam = AP-style (with stimulus sets where the exam has them); comprehension or vocabulary checks.'}, 'units': {'type': 'array', 'items': {'type': 'object', 'required': ['unitId'], 'properties': {'unitId': {'anyOf': [{'type': 'string', 'maxLength': 200, 'minLength': 1}, {'type': 'null'}], 'description': 'Unit id from get_subject_outline; null = whole course.'}, 'topicIds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 60, 'description': 'Topic ids to narrow to.'}, 'questionCount': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Omit to split the total evenly.'}}, 'additionalProperties': False}, 'maxItems': 20, 'minItems': 1}, 'skillId': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}], 'description': 'Optional CED skill id to narrow to.'}, 'avoidRepeats': {'type': 'boolean', 'default': True, 'description': 'Skip questions this teacher already published.'}, 'questionCount': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Total questions in this section.'}, 'timeLimitMinutes': {'anyOf': [{'type': 'integer', 'maximum': 300, 'minimum': 1}, {'type': 'null'}], 'description': 'Omit for untimed.'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'questionId'], 'properties': {'type': {'type': 'string', 'const': 'free_response'}, 'questionId': {'type': 'string', 'pattern': '^frq:[\\w-]+$|^saq:[\\w-]+(:[A-Za-z])?$', 'description': 'An frq: or saq: id from search_question_bank.'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'resourceId', 'readingQuestions'], 'properties': {'type': {'type': 'string', 'const': 'reading'}, 'resourceId': {'type': 'string', 'maxLength': 300, 'minLength': 1, 'description': 'A resource id from list_teaching_resources.'}, 'readingQuestions': {'type': 'boolean', 'default': False, 'description': 'Add reading-check questions (study guides and AMSCO guided notes).'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'unitIds'], 'properties': {'type': {'type': 'string', 'const': 'diagnostic'}, 'unitIds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 15, 'minItems': 1, 'description': 'Unit ids from get_subject_outline.'}, 'unitLabels': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200}, 'maxItems': 15}}, 'additionalProperties': False}]}, 'maxItems': 20, 'minItems': 1}, 'settings': {'type': 'object', 'properties': {'timerMode': {'enum': ['strict', 'flexible', 'none'], 'type': 'string'}, 'maxAttempts': {'type': 'integer', 'maximum': 1000, 'minimum': 1}, 'scoringMode': {'enum': ['ai', 'self', 'teacher'], 'type': 'string', 'description': 'Who scores free responses.'}, 'notifications': {'type': 'object', 'properties': {'onPublish': {'type': 'boolean'}, 'dueReminder': {'type': 'boolean'}, 'onResultsRelease': {'type': 'boolean'}}, 'additionalProperties': False}, 'resultRelease': {'enum': ['immediate', 'manual', 'scheduled'], 'type': 'string', 'description': 'When students see results.'}, 'durationMinutes': {'anyOf': [{'type': 'integer', 'maximum': 300, 'minimum': 1}, {'type': 'null'}]}}, 'additionalProperties': False}, 'requestId': {'type': 'string', 'pattern': '^[\\w-]{8,128}$', 'description': 'A unique id you generate for this action. Reuse it only when retrying the same action.'}, 'availableAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'When it opens, ISO with offset.'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Subject, e.g. apush or ap-bio.'}, 'instructions': {'type': 'string', 'maxLength': 5000}, 'courseVariant': {'enum': ['ap-calc-ab', 'ap-calc-bc'], 'type': 'string', 'description': 'AP Calculus only: ap-calc-ab or ap-calc-bc. Omit to use the course the target classes share.'}, 'resultRelease': {'enum': ['immediate', 'manual', 'scheduled'], 'type': 'string', 'description': 'When students see results.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
create_classes
Create classes
Creates one or more classes in the teacher's workspace. Students join through an assignment's class link or a teacher-managed roster; there are no class codes. Created classes can be archived.
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['classes', 'requestId'], 'properties': {'classes': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'subjectSlug'], 'properties': {'name': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'e.g. "Period 3 APUSH".'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Subject, e.g. apush or ap-bio.'}, 'courseVariant': {'enum': ['ap-calc-ab', 'ap-calc-bc'], 'type': 'string', 'description': 'AP Calculus only: ap-calc-ab or ap-calc-bc.'}}, 'additionalProperties': False}, 'maxItems': 8, 'minItems': 1}, 'requestId': {'type': 'string', 'pattern': '^[\\w-]{8,128}$', 'description': 'A unique id you generate for this action. Reuse it only when retrying the same action.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
create_grading_session
Create grading session
Creates a workspace grading session for finished student work, including paper, Google Docs or an AP Classroom export. Accepts a Fiveable FRQ or SAQ id, or the teacher's own question in prompt. A session uses an included assignment when grading starts unless the account has unlimited assignments. Returns the new session id.
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'requestId'], 'properties': {'title': {'type': 'string', 'maxLength': 200}, 'prompt': {'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'maxLength': 20000, 'minLength': 20, 'description': 'The question exactly as the teacher assigned it.'}, 'images': {'type': 'array', 'items': {'type': 'object', 'required': ['data', 'mediaType'], 'properties': {'data': {'type': 'string', 'maxLength': 6000000, 'minLength': 1, 'description': 'Base64 image, no data: prefix.'}, 'mediaType': {'enum': ['image/jpeg', 'image/png', 'image/webp'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 4, 'description': 'Visuals the question depends on.'}, 'frqType': {'type': 'string', 'maxLength': 120, 'description': 'Question type as Fiveable names it, e.g. "Long Essay Question (LEQ)". Omit to get the list.'}}, 'description': "The teacher's own question, when not a Fiveable one.", 'additionalProperties': False}, 'requestId': {'type': 'string', 'pattern': '^[\\w-]{8,128}$', 'description': 'A unique id you generate for this action. Reuse it only when retrying the same action.'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'e.g. apush or ap-bio.'}, 'fiveableQuestionId': {'type': 'string', 'maxLength': 120, 'description': 'frq:â\x80¦ or saq:â\x80¦ from search_question_bank, or frq: plus the FRQ id from get_frq.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
duplicate_assignment
Duplicate assignment
Copies a teacher-owned assignment, including archived or prior-year work, into a new draft with the same questions and settings. The resulting draft can be retargeted or archived.
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId', 'requestId'], 'properties': {'requestId': {'type': 'string', 'pattern': '^[\\w-]{8,128}$', 'description': 'A unique id you generate for this action. Reuse it only when retrying the same action.'}, 'assignmentId': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Assignment id from list_coursework.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
export_grading_results
Export grading results
Creates a Google Sheet of the session's results in the teacher's own Drive (one row per student, scores by part, feedback links) and returns its link. The rows never pass through chat. Needs Google connected with Sheets access; otherwise returns the link to connect it.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId'], 'properties': {'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
get_assignment
Get assignment
Returns one assignment's sections, question counts, scoring and timing settings, published classes, due dates and student links. Cheap.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId'], 'properties': {'assignmentId': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Assignment id from list_coursework.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
get_assignment_question_breakdown
Get assignment question breakdown
Per-question results for one assignment: percent correct and how many students picked each answer choice (identifying which distractors drew responses), plus FRQ part-by-part full-credit rates. Use it for 'which questions went worst?'. Moderate cost.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId'], 'properties': {'assignmentId': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Assignment id from list_coursework.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
get_assignment_status
Get assignment status
Where each student is on one assignment: in progress, submitted, scored, or waiting for review, with their score when results are available. Students appear by handle and short name. Use it for 'who hasn't finished?' or 'how did period 5 do?'. Cheap.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId'], 'properties': {'assignmentId': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Assignment id from list_coursework.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
get_cheatsheet
Read an official Fiveable cheatsheet
Reads bounded pages from a prepared official Fiveable PDF, returning page citations, extracted text and actual page images for formulas and diagrams. Image-only pages have no guessed transcription. Unavailable artifacts return the approved PDF link. This read never starts processing.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['cheatsheetId', 'page', 'limit'], 'properties': {'page': {'type': 'integer', 'default': 1, 'maximum': 32, 'minimum': 1}, 'limit': {'type': 'integer', 'default': 1, 'maximum': 3, 'minimum': 1}, 'cheatsheetId': {'type': 'string', 'pattern': '^cs_[a-f0-9]{24}$'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
get_class
Get class
One class in the teacher's workspace: subject, roster (students by handle and short name), the class's assignment defaults, and the student links of assignments currently open to it. Students join a class by opening one of those links; there are no class codes. Cheap.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['classId'], 'properties': {'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Class id from list_classes.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
get_class_insights
Get class insights
How a class (or all the teacher's classes) is doing on Fiveable assignments: accuracy and FRQ points with change over time, each assignment's turn-in rate and average, and each student's average with flags (missing work, dropping, improving), weakest first. Scope by class, subject, assignment or time window. Moderate cost.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['days'], 'properties': {'days': {'type': 'integer', 'default': 0, 'maximum': 3650, 'minimum': 0, 'description': 'Look back this many days. 0 means this school year.'}, 'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Limit to one class (id from list_classes).'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'description': 'Limit to one subject, e.g. apush or ap-bio.'}, 'assignmentId': {'type': 'string', 'maxLength': 100, 'description': 'Limit to one assignment (id from list_coursework).'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
get_content_sections
Get relevant study guide sections
Returns a small set of Fiveable study-guide passages relevant to one question. Suitable for narrow explanations, research questions and checking student notes. One call consumes one full-content preview for a caller without existing access.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'query', 'maximumSections', 'maximumTokens'], 'properties': {'query': {'type': 'string', 'minLength': 2, 'description': 'The concept or question the student needs help with.'}, 'intent': {'enum': ['explain', 'quiz', 'notes', 'frq', 'research'], 'type': 'string', 'description': "Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics."}, 'guideSlug': {'type': 'string', 'description': 'Optional exact guide reference from get_subject_outline or search_content.'}, 'subjectSlug': {'type': 'string', 'minLength': 2, 'description': 'Fiveable subject slug, e.g. "ap-bio". A course name such as "AP Biology" also resolves.'}, 'maximumTokens': {'type': 'integer', 'default': 1800, 'maximum': 4000, 'minimum': 250}, 'maximumSections': {'type': 'integer', 'default': 3, 'maximum': 5, 'minimum': 1}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
get_essay_feedback
Get essay feedback
One essay's score and feedback part by part, what the teacher changed, and whether it's approved. Set includeText only when the teacher wants to read the response itself.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId', 'essayHandle', 'includeText'], 'properties': {'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}, 'essayHandle': {'type': 'string', 'pattern': '^E-[a-f0-9]{6}$', 'description': 'Essay handle from get_grading_results, e.g. E-3b91c0.'}, 'includeText': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
get_exam_options
Find practice exams and unit tests
Find Fiveable exam formats, access requirements and website links without questions or answer keys. Choose a subject for version choices; add unitNumber to verify that unit's current bank and standard format.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'unitNumber': {'type': 'integer', 'maximum': 99, 'minimum': 1}, 'subjectSlug': {'type': 'string', 'pattern': '^[a-z0-9-]+$', 'maxLength': 100}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
get_frq
Get a free-response question
Returns one full, original Fiveable FRQ prompt: stimulus, background and every lettered part with its point value. The returned prompt is eligible for Fiveable's saved scoring workflow after the student writes a response. It consumes one full-content preview unless existing access covers this FRQ. Moderate cost — 1-4k tokens.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frqId'], 'properties': {'frqId': {'type': 'string', 'minLength': 1, 'description': 'FRQ id from list_frqs.'}, 'intent': {'enum': ['explain', 'quiz', 'notes', 'frq', 'research'], 'type': 'string', 'description': "Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics."}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
get_grading_progress
Get grading progress
Returns grading counts (scored, remaining, failed and approved) and background-job status (running, done or stopped). Cheap.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId'], 'properties': {'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
get_grading_results
Get grading results
Class results for a grading session: average, score distribution, how the class did on each rubric part, common gaps, and a table of essays (handle, short name, score, status, what to check). Filter to the ones that need review, drafts, approved or failed. Scores marked AI draft aren't approved yet.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId', 'filter', 'offset', 'limit'], 'properties': {'limit': {'type': 'integer', 'default': 50, 'maximum': 100, 'minimum': 1}, 'filter': {'enum': ['all', 'needs_review', 'draft', 'approved', 'failed'], 'type': 'string', 'default': 'all'}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0}, 'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
get_grading_rubric
Get grading rubric
Returns the session's Fiveable scoring guidelines point by point on the AP rubric for its question type. If absent, starts rubric generation and returns pending status; generation takes about a minute. Rubrics use the website's grading pipeline. Cheap once written.
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId'], 'properties': {'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
get_guided_notes
Get guided notes
AMSCO textbook guided-notes prompts with answer keys for one chapter, for subjects that have AMSCO notes (for example AP US History). Without a chapter it lists the chapters. Use for guided notes handouts and reading checks. Cheap.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug'], 'properties': {'chapterSlug': {'type': 'string', 'maxLength': 100, 'description': 'Chapter slug from the chapter list, e.g. chapter-1-1.'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'minLength': 1}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
get_guide_reading_questions
Get guide reading questions
Returns reading-check questions and keys for one Fiveable guide: the curated set when available, otherwise generated questions (slower). Accepts a guide id. Suitable for exit tickets, reading quizzes and guided reading handouts.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['guideId'], 'properties': {'guideId': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Study guide document id, or study-guide: resource id from list_teaching_resources.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
get_key_term
Get a key term
Returns the full definition, context and related terms for one AP key term. Use when a student asks "what does X mean" for AP vocabulary. Cheap — usually under 1k tokens.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'termSlug'], 'properties': {'intent': {'enum': ['explain', 'quiz', 'notes', 'frq', 'research'], 'type': 'string', 'description': "Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics."}, 'termSlug': {'type': 'string', 'minLength': 1, 'description': 'Key term slug or the term itself, e.g. "natural-selection".'}, 'subjectSlug': {'type': 'string', 'minLength': 2, 'description': 'Fiveable subject slug, e.g. "ap-bio" or "apush". The course name or a close approximation such as "ap-biology" also resolves. Use list_subjects to find it.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
get_my_teacher_workspace
Get my teacher workspace
Orientation for the signed-in teacher's Fiveable workspace: classes, coursework awaiting review or due this week, included assignments remaining, and configured Google connections. Cheap.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
get_questions_for_materials
Get questions for materials
Returns up to 40 bank questions with answer keys, explanations, complete stimuli and Fiveable attribution for classroom materials. Stimuli are required context for their questions; answer keys are teacher-only material. Counts against the content budget.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'questionIds'], 'properties': {'purpose': {'enum': ['slides', 'worksheet', 'game', 'notes', 'quiz', 'other'], 'type': 'string', 'description': 'What the teacher is making. Used only to improve Fiveable; changes nothing in the result.'}, 'questionIds': {'type': 'array', 'items': {'type': 'string', 'pattern': '^(mcq|stimulus-set|frq):[\\w-]+$|^saq:[\\w-]+:[A-Za-z]$', 'description': 'Question id from search_question_bank, e.g. mcq:64fâ\x80¦ or stimulus-set:64fâ\x80¦.'}, 'maxItems': 40, 'minItems': 1}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'minLength': 1}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
get_reteach_gaps
Get reteach gaps
Ranks topics, units, CED skills and FRQ rubric rows where a class lost the most points on Fiveable assignments. Optional filters cover class, subject, assignment and time window. Moderate cost.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['days'], 'properties': {'days': {'type': 'integer', 'default': 0, 'maximum': 3650, 'minimum': 0, 'description': 'Look back this many days. 0 means this school year.'}, 'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Limit to one class (id from list_classes).'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'description': 'Limit to one subject, e.g. apush or ap-bio.'}, 'assignmentId': {'type': 'string', 'maxLength': 100, 'description': 'Limit to one assignment (id from list_coursework).'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
get_skill_insights
Get skill insights
Class progress on AP course skills (for example causation or contextualization): each skill's verdict (solid, improving, stuck, developing, building), average, trend, the students who need support most, and the units to revisit. Says so when evidence is limited instead of guessing. Works best scoped to one subject. Moderate cost.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['days'], 'properties': {'days': {'type': 'integer', 'default': 0, 'maximum': 3650, 'minimum': 0, 'description': 'Look back this many days. 0 means this school year.'}, 'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Limit to one class (id from list_classes).'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'description': 'Limit to one subject, e.g. apush or ap-bio.'}, 'assignmentId': {'type': 'string', 'maxLength': 100, 'description': 'Limit to one assignment (id from list_coursework).'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
get_student_insights
Get student insights
Returns one student's Fiveable work: average, missing work, assignment scores, weakest units and topics, and skill progress. Accepts an anonymous student handle (S-…). Suitable for conference preparation, parent notes and individual reteaching. Moderate cost.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['handle', 'days'], 'properties': {'days': {'type': 'integer', 'default': 0, 'maximum': 3650, 'minimum': 0, 'description': 'Look back this many days. 0 means this school year.'}, 'handle': {'type': 'string', 'pattern': '^S-[a-f0-9]{6}$', 'description': "The student's handle, e.g. S-4f2a1c."}, 'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Limit to one class (id from list_classes).'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'description': 'Limit to one subject, e.g. apush or ap-bio.'}, 'assignmentId': {'type': 'string', 'maxLength': 100, 'description': 'Limit to one assignment (id from list_coursework).'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
get_study_guide
Get a study guide
Returns the full text of one Fiveable AP study guide as Markdown. Accepts the exact canonical guide reference or a close approximation of its title. Suitable when a student asks to learn or review a topic. It consumes one full-content preview for a free caller unless existing access covers this subject and feature. Expensive — a full guide can be 3-8k tokens.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'guideSlug'], 'properties': {'intent': {'enum': ['explain', 'quiz', 'notes', 'frq', 'research'], 'type': 'string', 'description': "Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics."}, 'guideSlug': {'type': 'string', 'minLength': 2, 'description': 'Canonical guide reference from get_subject_outline, content slug, document id, or title, e.g. "/ap-bio/unit-2/cell-structure/study-guide/abc123" or "cell-structure".'}, 'subjectSlug': {'type': 'string', 'minLength': 2, 'description': 'Fiveable subject slug, e.g. "ap-bio" or "apush". The course name or a close approximation such as "ap-biology" also resolves. Use list_subjects to find it.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
get_subject_outline
Get subject outline
Returns the full unit and topic outline for one AP subject, including every study guide slug in each unit. Provides the course map for study planning and individual guide retrieval. Moderate cost — roughly 2-5k tokens depending on subject size.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug'], 'properties': {'intent': {'enum': ['explain', 'quiz', 'notes', 'frq', 'research'], 'type': 'string', 'description': "Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics."}, 'subjectSlug': {'type': 'string', 'minLength': 2, 'description': 'Fiveable subject slug, e.g. "ap-bio" or "apush". The course name or a close approximation such as "ap-biology" also resolves. Use list_subjects to find it.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
get_submission
Get submission
One student's submission on a Fiveable assignment: each section's AI and teacher scores, the FRQ rubric breakdown, overrides and feedback, and whether the student can see results yet. includeText requires that the teacher wants to read the student's responses.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId', 'submissionId', 'includeText'], 'properties': {'includeText': {'type': 'boolean', 'default': False}, 'assignmentId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Assignment id from list_coursework or list_submissions_to_review.'}, 'submissionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Submission id from list_submissions_to_review.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
get_unit_overview
Get unit overview
Returns the overview page for one unit of an AP course: what it covers, how it is weighted on the exam, its topics and study plan. Suitable when a student is reviewing a whole unit. Moderate cost — roughly 1-3k tokens.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'unitSlug'], 'properties': {'intent': {'enum': ['explain', 'quiz', 'notes', 'frq', 'research'], 'type': 'string', 'description': "Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics."}, 'unitSlug': {'type': 'string', 'minLength': 1, 'description': 'Unit slug from get_subject_outline, e.g. "unit-1".'}, 'subjectSlug': {'type': 'string', 'minLength': 2, 'description': 'Fiveable subject slug, e.g. "ap-bio" or "apush". The course name or a close approximation such as "ap-biology" also resolves. Use list_subjects to find it.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
import_essays_from_files
Import essays from files
Splits teacher-supplied PDFs or Word stacks into one essay per student, including AP Classroom 'FRQ Response PDFs, By Student Page Break' exports. Photos support one essay per image and are read by Fiveable. Accepts up to three ChatGPT attached uploads of 25 MB each, or up to three base64 files totaling about 3 MB. Returns counts and warnings only. Long PDFs can take up to a minute.
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId', 'files', 'uploads'], 'properties': {'files': {'type': 'array', 'items': {'type': 'object', 'required': ['fileName', 'mediaType', 'dataBase64'], 'properties': {'fileName': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'mediaType': {'type': 'string', 'maxLength': 120, 'description': 'e.g. application/pdf, image/jpeg.'}, 'dataBase64': {'type': 'string', 'maxLength': 4200000, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 3}, 'uploads': {'type': 'array', 'items': {'type': 'object', 'required': ['download_url', 'file_id'], 'properties': {'file_id': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'file_name': {'type': 'string', 'maxLength': 200}, 'mime_type': {'type': 'string', 'maxLength': 120}, 'download_url': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 3, 'description': 'Files the teacher attached in ChatGPT, passed by reference.'}, 'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
import_essays_from_google_classroom
Import essays from Google Classroom
Adds selected Google Classroom turn-in handles to a grading session. Reads authorized Google Docs directly; optional teacher-provided text supports other files or missing Google access. Names come from the Classroom roster. Existing session submissions are skipped. Records the source Classroom assignment for subsequent approved-grade export. Returns counts only.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId', 'courseId', 'courseWorkId', 'turnIns'], 'properties': {'turnIns': {'type': 'array', 'items': {'type': 'object', 'required': ['handle'], 'properties': {'text': {'type': 'string', 'maxLength': 50000, 'minLength': 1, 'description': 'Optional teacher-provided work. Omit to read the authorized Classroom file through Fiveable.'}, 'handle': {'type': 'string', 'pattern': '^T-[a-f\\d]{6}$', 'description': 'Turn-in handle from list_google_classroom_work.'}}, 'additionalProperties': False}, 'maxItems': 150, 'minItems': 1}, 'courseId': {'type': 'string', 'pattern': '^[\\w-]{1,64}$', 'description': 'Id from list_google_classroom_work.'}, 'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}, 'courseWorkId': {'type': 'string', 'pattern': '^[\\w-]{1,64}$', 'description': 'Id from list_google_classroom_work.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
import_essays_from_text
Import essays from text
Adds individual student responses supplied as pasted, downloaded or transcribed text, with each student's name as written. Photo transcriptions require transcribedFromPhotos and explicit teacherConfirmedTranscription approval of the transcription. Returns counts only.
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId', 'essays', 'transcribedFromPhotos', 'teacherConfirmedTranscription'], 'properties': {'essays': {'type': 'array', 'items': {'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'maxLength': 60000, 'minLength': 1}, 'studentName': {'type': 'string', 'maxLength': 120, 'description': 'As written on the work. Omit if unknown.'}}, 'additionalProperties': False}, 'maxItems': 100, 'minItems': 1}, 'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}, 'transcribedFromPhotos': {'type': 'boolean', 'default': False}, 'teacherConfirmedTranscription': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
link_grading_to_class
Link grading to a class
Links a grading session to a workspace class so results feed class insights. Exact roster-name matches link automatically; explicit essay-handle to student-handle matches resolve remaining essays. Returns unmatched essays. A null classId removes the class link.
Destructif Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId', 'classId', 'matches'], 'properties': {'classId': {'anyOf': [{'type': 'string', 'pattern': '^[a-f\\d]{24}$'}, {'type': 'null'}], 'description': 'Class id from list_classes, or null to unlink.'}, 'matches': {'type': 'array', 'items': {'type': 'object', 'required': ['essayHandle', 'studentHandle'], 'properties': {'essayHandle': {'type': 'string', 'pattern': '^E-[a-f0-9]{6}$', 'description': 'Essay handle from get_grading_results, e.g. E-3b91c0.'}, 'studentHandle': {'type': 'string', 'pattern': '^S-[a-f0-9]{6}$'}}, 'additionalProperties': False}, 'default': [], 'maxItems': 200}, 'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
list_cheatsheets
List official Fiveable cheatsheets
Find approved Fiveable course and unit PDFs, including course variants, academic year when known, source links and readable-artifact readiness. Does not include user galleries or generated personal visuals.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['limit'], 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 25, 'minimum': 1}, 'cursor': {'type': 'string', 'pattern': '^cs_[a-f0-9]{24}$'}, 'unitNumber': {'type': 'integer', 'maximum': 30, 'minimum': 0}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'minLength': 2}, 'courseVariant': {'type': 'string', 'maxLength': 100, 'minLength': 2}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
list_classes
List my classes
Lists the signed-in teacher's classes with subject, student count and class id. Class names such as 'period 3' can be resolved to their ids. Cheap.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['includeArchived'], 'properties': {'includeArchived': {'type': 'boolean', 'default': False, 'description': 'List archived classes instead of active ones.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
list_coursework
List coursework
Lists the teacher's assignments and grading sessions from their workspace ledger: status, class, due date, roster-based turn-in counts, review counts and class average. The active status filter selects work currently open to students. Optional filters cover class, subject and status. Cheap.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status', 'limit'], 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}, 'cursor': {'type': 'string', 'maxLength': 200, 'description': 'Cursor from a previous page.'}, 'status': {'enum': ['all', 'draft', 'scheduled', 'active', 'needs_review', 'closed', 'handed_back', 'archived'], 'type': 'string', 'default': 'all', 'description': 'Ledger status filter. needs_review shows work waiting for the teacher.'}, 'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Class id from list_classes.'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'description': 'Limit to one subject, e.g. ap-bio or apush.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
list_frqs
List free-response questions
Lists Fiveable's free-response (FRQ) practice prompts for an AP subject, optionally filtered by FRQ type, unit, and excluded IDs. Results use stable ID order; unchanged filters continue pagination. Returns prompt ids and summaries rather than full prompts. Cheap.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'limit'], 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 25, 'minimum': 1, 'description': 'Maximum prompts to list.'}, 'cursor': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]{1,512}$'}, 'intent': {'enum': ['explain', 'quiz', 'notes', 'frq', 'research'], 'type': 'string', 'description': "Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics."}, 'unitId': {'type': 'string', 'maxLength': 100, 'description': 'Unit ID or public unit slug from get_subject_outline.'}, 'frqType': {'type': 'string', 'description': 'Optional FRQ type filter, e.g. "DBQ", "LEQ", "SAQ". Varies by subject.'}, 'excludeIds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'maxItems': 100}, 'subjectSlug': {'type': 'string', 'minLength': 2, 'description': 'Fiveable subject slug, e.g. "ap-bio". A course name such as "AP Biology" also resolves.'}, 'courseVariant': {'enum': ['ab', 'bc'], 'type': 'string', 'description': "AP Calculus only (subject ap-calc): 'ab' hides BC-only units, topics and FRQs; 'bc' includes them. Pass the course of the class or assignment draft you are building for ('ab' for ap-calc-ab, 'bc' for ap-calc-bc)."}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
list_google_classroom_work
List Google Classroom work
Walks the teacher's Google Classroom: with no ids, their courses; with a course id, its assignments; with a course and assignment id, who turned it in, each with a handle (T-…) and a link to the turned-in file. Use it to grade typed work collected in Classroom. Needs the teacher's Google Classroom connection.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'courseId': {'type': 'string', 'pattern': '^[\\w-]{1,64}$', 'description': 'Id from list_google_classroom_work.'}, 'courseWorkId': {'type': 'string', 'pattern': '^[\\w-]{1,64}$', 'description': 'Id from list_google_classroom_work.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
list_grading_sessions
List grading sessions
The teacher's grading sessions for work done outside Fiveable (stacks of essays graded in the workspace), newest first, with essay, scored and approved counts. Use to resume a stack. Cheap.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['limit'], 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
list_key_terms
List key terms
Lists the key vocabulary terms for an AP subject, paginated alphabetically. Suitable for building flashcards or checking what vocabulary a student should know; results include stable term slugs for full definitions. Cheap.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'page', 'limit', 'letter'], 'properties': {'page': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-indexed page number.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1, 'description': 'Terms per page.'}, 'intent': {'enum': ['explain', 'quiz', 'notes', 'frq', 'research'], 'type': 'string', 'description': "Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics."}, 'letter': {'type': 'string', 'default': 'ALL', 'description': 'Filter to terms starting with one letter, or "ALL" for every term.'}, 'subjectSlug': {'type': 'string', 'minLength': 2, 'description': 'Fiveable subject slug, e.g. "ap-bio" or "apush". The course name or a close approximation such as "ap-biology" also resolves. Use list_subjects to find it.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
list_subjects
List AP subjects
Lists every AP subject Fiveable covers, with its canonical subject slug and flags for which features exist for that subject (practice questions, key terms, score calculator). Suitable when a subject slug is not already known. Cheap — roughly 1-2k tokens.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'intent': {'enum': ['explain', 'quiz', 'notes', 'frq', 'research'], 'type': 'string', 'description': "Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics."}, 'search': {'type': 'string', 'description': 'Optional case-insensitive filter on subject name, e.g. "bio" or "history".'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
list_submissions_to_review
List work to review
The teacher's review queue, as on the website inbox: submissions whose free responses need a teacher score or a look at the AI score, imported essays awaiting approval, and assignments ready to hand back. Each row includes the identifiers and review operation for its item. Filter by subject or assignment. Cheap.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['filter', 'limit'], 'properties': {'limit': {'type': 'integer', 'default': 25, 'maximum': 50, 'minimum': 1}, 'cursor': {'type': 'string', 'maxLength': 500}, 'filter': {'enum': ['all', 'review', 'handback'], 'type': 'string', 'default': 'all'}, 'subjectSlug': {'type': 'string', 'maxLength': 100}, 'assignmentId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Assignment id from list_coursework or list_submissions_to_review.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
list_teaching_resources
List teaching resources
Lists assignment reading resources for one subject: study guides, unit reviews, AMSCO guided notes, key terms and cheatsheets, with resource ids suitable for reading sections. Optional filters cover kind, unit and words. Cheap.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'offset', 'limit'], 'properties': {'kind': {'enum': ['study-guide', 'unit-review', 'guided-notes', 'key-terms', 'cheatsheet', 'visual-cheatsheet'], 'type': 'string'}, 'unit': {'type': 'string', 'maxLength': 200, 'description': "Exact unit label from the result's unit list."}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 50, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 200}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'minLength': 1}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
override_essay_score
Adjust an essay score
Changes the points on one rubric part of a scored essay, with the teacher's reason. The change is logged and the total recalculated, as on the website. Reversal restores the previous part points.
Destructif Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId', 'essayHandle', 'part', 'points', 'reasonCategory', 'reason'], 'properties': {'part': {'type': 'string', 'maxLength': 20, 'minLength': 1, 'description': 'Rubric part as shown in get_essay_feedback, e.g. "A" or "Thesis".'}, 'points': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'reason': {'type': 'string', 'default': '', 'maxLength': 2000}, 'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}, 'essayHandle': {'type': 'string', 'pattern': '^E-[a-f0-9]{6}$', 'description': 'Essay handle from get_grading_results, e.g. E-3b91c0.'}, 'reasonCategory': {'enum': ['evidence', 'reasoning', 'accuracy', 'rubric', 'teacher-judgment', 'other'], 'type': 'string', 'default': 'teacher-judgment'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
override_submission_part
Adjust an FRQ part score
Changes the points on one rubric part of an AI-scored FRQ in a submission, with the teacher's reason, as on the website. The section's score is recalculated. Reversal restores the previous part points.
Destructif Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId', 'submissionId', 'itemId', 'part', 'points', 'reasonCategory', 'reason'], 'properties': {'part': {'type': 'string', 'maxLength': 20, 'minLength': 1}, 'itemId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'points': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'reason': {'type': 'string', 'default': '', 'maxLength': 2000}, 'assignmentId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Assignment id from list_coursework or list_submissions_to_review.'}, 'submissionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Submission id from list_submissions_to_review.'}, 'reasonCategory': {'enum': ['evidence', 'reasoning', 'accuracy', 'rubric', 'teacher-judgment', 'other'], 'type': 'string', 'default': 'teacher-judgment'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
prepare_correct_answer_key
Preview correcting an answer key
Creates an owner-bound confirmation preview for correcting a published multiple-choice key, including how many students gain or lose points. Accepts assignment section and question numbers. Keys and scores remain unchanged until approved preview execution.
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId', 'sectionNumber', 'questionNumber', 'correctAnswers', 'shareCorrection'], 'properties': {'note': {'type': 'string', 'maxLength': 2000, 'description': 'A note for Fiveable with the shared fix.'}, 'explanation': {'type': 'string', 'maxLength': 5000, 'description': "Why this answer is right, in the teacher's words; defaults to the current explanation."}, 'assignmentId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Assignment id from list_coursework.'}, 'sectionNumber': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': "1 for the assignment's first section."}, 'correctAnswers': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[A-Ha-h]$'}, 'maxItems': 8, 'minItems': 1, 'description': 'The right answer letters, e.g. ["C"].'}, 'questionNumber': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Question number within that section.'}, 'shareCorrection': {'type': 'boolean', 'default': False, 'description': 'Also send the fix to Fiveable so the question is corrected for everyone.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
prepare_publish_assignment
Preview publishing an assignment
Creates an owner-bound confirmation preview for publishing a draft or republishing with new dates: classes, openings, due dates in the teacher's time zone, result visibility and student-facing changes. Publication remains unchanged. Execution requires approval of this specific preview. With no classes, anyoneWithLink must be true for a public link.
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId', 'classes', 'anyoneWithLink', 'timeZone'], 'properties': {'dueAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'Due time for the anyone-with-link publish.'}, 'classes': {'type': 'array', 'items': {'type': 'object', 'required': ['classId'], 'properties': {'dueAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Class id from list_classes.'}, 'opensAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'When students can start; omit for now.'}, 'resultsReleaseAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'Only for scheduled release.'}}, 'additionalProperties': False}, 'default': [], 'maxItems': 12}, 'timeZone': {'type': 'string', 'default': 'America/New_York', 'maxLength': 64, 'description': "The teacher's IANA time zone, e.g. America/Chicago, so the preview shows their local times."}, 'assignmentId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Assignment id from list_coursework.'}, 'resultRelease': {'enum': ['immediate', 'manual', 'scheduled'], 'type': 'string', 'description': "Defaults to the draft's setting."}, 'anyoneWithLink': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
prepare_push_grades_to_google_classroom
Preview sending grades to Google Classroom
Creates an owner-bound confirmation preview for exporting approved grading-session scores to the source Google Classroom assignment. Includes included/excluded counts and the point scale. No grades are sent until approved preview execution.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId'], 'properties': {'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
prepare_release_results
Preview handing results back
Creates an owner-bound confirmation preview for releasing assignment scores and feedback to every class, including counts of unscored responses. Release status remains unchanged until approved preview execution. A release cannot be taken back.
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId'], 'properties': {'assignmentId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Assignment id from list_coursework.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
prepare_update_publication
Preview changing a published assignment
Creates an owner-bound confirmation preview for closing or reopening a published assignment, or changing class open/due dates. Links and submissions remain intact. Publication remains unchanged until approved preview execution.
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId', 'action', 'changes', 'timeZone'], 'properties': {'action': {'enum': ['close', 'reopen', 'change_dates'], 'type': 'string'}, 'changes': {'type': 'array', 'items': {'type': 'object', 'required': ['classId'], 'properties': {'dueAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'classId': {'anyOf': [{'type': 'string', 'pattern': '^[a-f\\d]{24}$'}, {'type': 'null'}], 'description': 'Class id, or null for the anyone-with-the-link publication.'}, 'opensAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}}, 'additionalProperties': False}, 'default': [], 'maxItems': 12, 'description': 'For change_dates only.'}, 'timeZone': {'type': 'string', 'default': 'America/New_York', 'maxLength': 64, 'description': "The teacher's IANA time zone, e.g. America/Chicago, so the preview shows their local times."}, 'assignmentId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
preview_assignment_as_student
Preview assignment as a student
What a student will see when they open the assignment: instructions and each section in order. Answers are hidden, as they are for students. Diagnostics can't be previewed. Cheap.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId'], 'properties': {'assignmentId': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Assignment id from list_coursework.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
preview_question
Preview question
Returns one bank question with its stimulus, choices, marked correct answer and explanation. Stimulus sets include all linked questions and keys. Answer keys are teacher-only material. Cheap.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'questionId'], 'properties': {'questionId': {'type': 'string', 'pattern': '^(mcq|stimulus-set|frq):[\\w-]+$|^saq:[\\w-]+:[A-Za-z]$', 'description': 'Question id from search_question_bank, e.g. mcq:64fâ\x80¦ or stimulus-set:64fâ\x80¦.'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'minLength': 1}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
remove_students
Remove students
Removes students by handle from a class roster while preserving their past work in the teacher's results. Returns an undoId valid for exact restoration within seven days.
Destructif
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['classId', 'handles'], 'properties': {'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Class id from list_classes.'}, 'handles': {'type': 'array', 'items': {'type': 'string', 'pattern': '^S-[a-f0-9]{6}$', 'description': 'Student handle from get_class, e.g. S-4f2a1c.'}, 'maxItems': 200, 'minItems': 1}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
report_content_issue
Report a content issue to Fiveable
Submits a caller-requested content issue to Fiveable support, which may lead to support follow-up. Requires explicit confirmReport approval. The description contains the reported issue only, excluding conversation history, unrelated notes and personal information. Fiveable resolves content and reporter identity. Matching requestId retries are idempotent.
Accès externe Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['contentType', 'contentId', 'description', 'requestId', 'confirmReport'], 'properties': {'contentId': {'type': 'string', 'maxLength': 250, 'minLength': 2, 'description': 'Exact guide/question/FRQ ID, or the exact canonical key-term path from Fiveable.'}, 'requestId': {'type': 'string', 'pattern': '^[\\w-]{8,128}$'}, 'contentType': {'enum': ['studyGuide', 'keyTerm', 'practiceQuestion', 'frq'], 'type': 'string'}, 'description': {'type': 'string', 'maxLength': 2000, 'minLength': 10, 'description': 'Only the issue the student wants reported; no conversation transcript or unrelated personal notes.'}, 'confirmReport': {'type': 'boolean', 'const': True, 'description': 'True only after the student explicitly requests sending this issue to Fiveable.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
rescore_essay
Retry a failed essay
Retries background AI grading for one essay whose scoring failed. Existing successful scores cannot be changed by this operation.
Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId', 'essayHandle', 'requestId'], 'properties': {'requestId': {'type': 'string', 'pattern': '^[\\w-]{8,128}$', 'description': 'A unique id you generate for this action. Reuse it only when retrying the same action.'}, 'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}, 'essayHandle': {'type': 'string', 'pattern': '^E-[a-f0-9]{6}$', 'description': 'Essay handle from get_grading_results, e.g. E-3b91c0.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
restore_assignment_draft
Restore assignment draft
Restores an assignment draft to its previous state using an undoId from a draft update.
Destructif
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['undoId'], 'properties': {'undoId': {'type': 'string', 'pattern': '^undo_[\\w-]{8,40}$', 'description': 'undoId from update_assignment_draft.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
restore_students
Restore removed students
Restores removed roster students using a valid undoId, preserving their original roster entries.
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['undoId'], 'properties': {'undoId': {'type': 'string', 'pattern': '^undo_[\\w-]{8,40}$', 'description': 'undoId from remove_students.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
save_submission_feedback
Save submission feedback
Saves teacher-reviewed written feedback on one submission, overall or per section, without changing scores. Students see it once results are released, including immediately if already released. Returns previous text for restoration.
Destructif Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId', 'submissionId'], 'properties': {'assignmentId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Assignment id from list_coursework or list_submissions_to_review.'}, 'itemFeedback': {'type': 'array', 'items': {'type': 'object', 'required': ['itemId', 'text'], 'properties': {'text': {'type': 'string', 'maxLength': 10000}, 'itemId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}, 'maxItems': 20}, 'submissionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Submission id from list_submissions_to_review.'}, 'overallFeedback': {'type': 'string', 'maxLength': 10000}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
score_submission
Score submission
Sets the teacher's score on sections of one submission (submission item ids), optionally with written feedback. Works in any scoring mode. Says whether the student sees it yet; to undo, set the sections back to the previous scores this returns.
Destructif Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId', 'submissionId', 'itemScores'], 'properties': {'itemScores': {'type': 'array', 'items': {'type': 'object', 'required': ['itemId', 'points'], 'properties': {'itemId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'points': {'type': 'number', 'maximum': 500, 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 20, 'minItems': 1}, 'assignmentId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Assignment id from list_coursework or list_submissions_to_review.'}, 'itemFeedback': {'type': 'array', 'items': {'type': 'object', 'required': ['itemId', 'text'], 'properties': {'text': {'type': 'string', 'maxLength': 10000}, 'itemId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}, 'maxItems': 20}, 'submissionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Submission id from list_submissions_to_review.'}, 'overallFeedback': {'type': 'string', 'maxLength': 10000}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
search_content
Search Fiveable content
Keyword search across every Fiveable study guide, unit, subject hub and key term. Suitable when the relevant subject or guide is not known. Returns titles and canonical references rather than full content, so it is cheap.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query', 'limit'], 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 50, 'minimum': 1, 'description': 'Maximum results to return.'}, 'query': {'type': 'string', 'minLength': 2, 'description': 'What to search for, e.g. "photosynthesis light reactions".'}, 'intent': {'enum': ['explain', 'quiz', 'notes', 'frq', 'research'], 'type': 'string', 'description': "Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics."}, 'subjectSlug': {'type': 'string', 'description': 'Optional: restrict the search to one subject.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
search_question_bank
Search question bank
Searches Fiveable's question bank for one subject (the same bank as the assignment builder): multiple choice, stimulus sets, SAQs and FRQs, filtered by unit, topic, skill, format and stimulus, optionally hiding questions this teacher already published. For AP Calculus, courseVariant scopes AB to exclude BC-only units, topics and FRQs. Returns ids, short stems and alignment, never answers. Filters accept exact unit/topic/skill labels from the filter lists in the result. Cheap.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'excludeAssigned', 'offset', 'limit'], 'properties': {'type': {'enum': ['mcq', 'question-set', 'saq', 'frq'], 'type': 'string', 'description': 'mcq = single question, question-set = stimulus set, saq, or frq (LEQ, DBQ and other FRQs).'}, 'unit': {'type': 'string', 'maxLength': 200, 'description': 'Exact unit label from filters.units.'}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 200, 'description': 'Words to match in the question.'}, 'skill': {'type': 'string', 'maxLength': 200, 'description': 'Exact skill label from filters.skills.'}, 'topic': {'type': 'string', 'maxLength': 200, 'description': 'Exact topic label from filters.topics.'}, 'format': {'enum': ['multiple-choice', 'free-response'], 'type': 'string'}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0}, 'stimulus': {'enum': ['includes-stimulus', 'no-stimulus'], 'type': 'string'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Subject, e.g. ap-bio or apush.'}, 'courseVariant': {'enum': ['ap-calc-ab', 'ap-calc-bc'], 'type': 'string', 'description': 'AP Calculus only: ap-calc-ab or ap-calc-bc, the course of the class or draft you are building for.'}, 'excludeAssigned': {'type': 'boolean', 'default': False, 'description': 'Hide questions this teacher already published.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
set_class_assignment_defaults
Set class assignment defaults
Sets a class's assignment defaults (scoring mode, timer, attempts, result release, notifications) so new assignments for that class start with them. Replaces the previous defaults and returns them for undo.
Destructif Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['classId', 'defaults'], 'properties': {'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Class id from list_classes.'}, 'defaults': {'type': 'object', 'properties': {'timerMode': {'enum': ['strict', 'flexible', 'none'], 'type': 'string'}, 'maxAttempts': {'type': 'integer', 'maximum': 1000, 'minimum': 1}, 'scoringMode': {'enum': ['ai', 'self', 'teacher'], 'type': 'string', 'description': 'Who scores free responses.'}, 'notifications': {'type': 'object', 'properties': {'onPublish': {'type': 'boolean'}, 'dueReminder': {'type': 'boolean'}, 'onResultsRelease': {'type': 'boolean'}}, 'additionalProperties': False}, 'resultRelease': {'enum': ['immediate', 'manual', 'scheduled'], 'type': 'string', 'description': 'When students see results.'}, 'durationMinutes': {'anyOf': [{'type': 'integer', 'maximum': 300, 'minimum': 1}, {'type': 'null'}]}}, 'description': "The class's new defaults; unset fields fall back to Fiveable's.", 'additionalProperties': False}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
start_grading
Start grading
Starts background AI grading for unscored essays on the session's Fiveable rubric, generating that rubric first if needed. Returns immediately with job status. retryFailed includes previously failed essays. Scores remain drafts until teacher approval.
Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId', 'retryFailed', 'requestId'], 'properties': {'requestId': {'type': 'string', 'pattern': '^[\\w-]{8,128}$', 'description': 'A unique id you generate for this action. Reuse it only when retrying the same action.'}, 'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}, 'retryFailed': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
update_assignment_draft
Update assignment draft
Changes a draft's title, instructions, AP Calculus course, classes, dates, settings or sections. Existing section ids identify sections to remove. Published assignments cannot be changed here. Returns an undoId for restoring the previous draft.
Destructif
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId'], 'properties': {'dueAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'Default due time for every class.'}, 'title': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'classes': {'type': 'array', 'items': {'type': 'object', 'required': ['classId'], 'properties': {'dueAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'ISO date-time with timezone offset.'}, 'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Class id from list_classes.'}}, 'additionalProperties': False}, 'maxItems': 12, 'minItems': 1, 'description': 'Replaces the class targets.'}, 'settings': {'type': 'object', 'properties': {'timerMode': {'enum': ['strict', 'flexible', 'none'], 'type': 'string'}, 'maxAttempts': {'type': 'integer', 'maximum': 1000, 'minimum': 1}, 'scoringMode': {'enum': ['ai', 'self', 'teacher'], 'type': 'string', 'description': 'Who scores free responses.'}, 'notifications': {'type': 'object', 'properties': {'onPublish': {'type': 'boolean'}, 'dueReminder': {'type': 'boolean'}, 'onResultsRelease': {'type': 'boolean'}}, 'additionalProperties': False}, 'resultRelease': {'enum': ['immediate', 'manual', 'scheduled'], 'type': 'string', 'description': 'When students see results.'}, 'durationMinutes': {'anyOf': [{'type': 'integer', 'maximum': 300, 'minimum': 1}, {'type': 'null'}]}}, 'description': 'Merged into the current settings.', 'additionalProperties': False}, 'addSections': {'type': 'array', 'items': {'oneOf': [{'type': 'object', 'required': ['type', 'questionCount', 'style', 'units', 'avoidRepeats'], 'properties': {'type': {'type': 'string', 'const': 'multiple_choice'}, 'style': {'enum': ['exam', 'comprehension', 'vocabulary'], 'type': 'string', 'default': 'exam', 'description': 'exam = AP-style (with stimulus sets where the exam has them); comprehension or vocabulary checks.'}, 'units': {'type': 'array', 'items': {'type': 'object', 'required': ['unitId'], 'properties': {'unitId': {'anyOf': [{'type': 'string', 'maxLength': 200, 'minLength': 1}, {'type': 'null'}], 'description': 'Unit id from get_subject_outline; null = whole course.'}, 'topicIds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 60, 'description': 'Topic ids to narrow to.'}, 'questionCount': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Omit to split the total evenly.'}}, 'additionalProperties': False}, 'maxItems': 20, 'minItems': 1}, 'skillId': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}], 'description': 'Optional CED skill id to narrow to.'}, 'avoidRepeats': {'type': 'boolean', 'default': True, 'description': 'Skip questions this teacher already published.'}, 'questionCount': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Total questions in this section.'}, 'timeLimitMinutes': {'anyOf': [{'type': 'integer', 'maximum': 300, 'minimum': 1}, {'type': 'null'}], 'description': 'Omit for untimed.'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'questionId'], 'properties': {'type': {'type': 'string', 'const': 'free_response'}, 'questionId': {'type': 'string', 'pattern': '^frq:[\\w-]+$|^saq:[\\w-]+(:[A-Za-z])?$', 'description': 'An frq: or saq: id from search_question_bank.'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'resourceId', 'readingQuestions'], 'properties': {'type': {'type': 'string', 'const': 'reading'}, 'resourceId': {'type': 'string', 'maxLength': 300, 'minLength': 1, 'description': 'A resource id from list_teaching_resources.'}, 'readingQuestions': {'type': 'boolean', 'default': False, 'description': 'Add reading-check questions (study guides and AMSCO guided notes).'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'unitIds'], 'properties': {'type': {'type': 'string', 'const': 'diagnostic'}, 'unitIds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 15, 'minItems': 1, 'description': 'Unit ids from get_subject_outline.'}, 'unitLabels': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200}, 'maxItems': 15}}, 'additionalProperties': False}]}, 'maxItems': 20}, 'availableAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'When it opens, ISO with offset.'}, 'assignmentId': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'instructions': {'type': 'string', 'maxLength': 5000}, 'courseVariant': {'enum': ['ap-calc-ab', 'ap-calc-bc'], 'type': 'string', 'description': 'AP Calculus only: switch the draft to ap-calc-ab or ap-calc-bc. Its multiple choice, free-response and diagnostic sections must be removed in the same call (add new ones there too); readings stay.'}, 'resultRelease': {'enum': ['immediate', 'manual', 'scheduled'], 'type': 'string', 'description': 'When students see results.'}, 'removeSectionIds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100}, 'maxItems': 20}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
update_class
Update class
Renames a class, changes its subject, or sets an AP Calculus class's course (AB or BC). Returns the previous values for reversal through a subsequent class update.
Destructif Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['classId'], 'properties': {'name': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Class id from list_classes.'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'courseVariant': {'enum': ['ap-calc-ab', 'ap-calc-bc'], 'type': 'string', 'description': 'AP Calculus only: ap-calc-ab or ap-calc-bc.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
update_grading_rubric
Change grading prompt
Changes a session's Fiveable question or teacher-provided prompt and AP question type before any essay is scored. Regenerates the rubric using that type's AP rubric and point total. Returns the previous prompt for restoration.
Destructif Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId'], 'properties': {'prompt': {'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'maxLength': 20000, 'minLength': 20, 'description': 'The question exactly as the teacher assigned it.'}, 'images': {'type': 'array', 'items': {'type': 'object', 'required': ['data', 'mediaType'], 'properties': {'data': {'type': 'string', 'maxLength': 6000000, 'minLength': 1, 'description': 'Base64 image, no data: prefix.'}, 'mediaType': {'enum': ['image/jpeg', 'image/png', 'image/webp'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 4, 'description': 'Visuals the question depends on.'}, 'frqType': {'type': 'string', 'maxLength': 120, 'description': 'Question type as Fiveable names it, e.g. "Long Essay Question (LEQ)". Omit to get the list.'}}, 'additionalProperties': False}, 'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}, 'fiveableQuestionId': {'type': 'string', 'maxLength': 120}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
update_student
Update student
Fixes a student's name on a class roster (the old name is kept as an alias so past work still matches), or sets the email used for assignment notifications. Students with Fiveable accounts can be renamed but their email comes from their account.
Destructif Idempotent
Schéma d’entrée
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['classId', 'handle'], 'properties': {'name': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Full name as the teacher wants it shown.'}, 'email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'maxLength': 254}, 'handle': {'type': 'string', 'pattern': '^S-[a-f0-9]{6}$', 'description': 'Student handle from get_class, e.g. S-4f2a1c.'}, 'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Class id from list_classes.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
Ajouté
confirm_push_grades_to_google_classroom
3 October 2026 02:40
Ajouté
prepare_push_grades_to_google_classroom
3 October 2026 02:40
Ajouté
confirm_correct_answer_key
3 October 2026 02:40
Ajouté
prepare_correct_answer_key
3 October 2026 02:40
Ajouté
confirm_release_results
3 October 2026 02:40
Ajouté
prepare_release_results
3 October 2026 02:40
Ajouté
confirm_update_publication
3 October 2026 02:40
Ajouté
prepare_update_publication
3 October 2026 02:40
Ajouté
confirm_publish_assignment
3 October 2026 02:40
Ajouté
prepare_publish_assignment
3 October 2026 02:40
Ajouté
override_submission_part
3 October 2026 02:40
Ajouté
save_submission_feedback
3 October 2026 02:40
Ajouté
score_submission
3 October 2026 02:40
Ajouté
get_submission
3 October 2026 02:40
Ajouté
list_submissions_to_review
3 October 2026 02:40
Ajouté
export_grading_results
3 October 2026 02:40
Ajouté
link_grading_to_class
3 October 2026 02:40
Ajouté
approve_essays
3 October 2026 02:40
Ajouté
override_essay_score
3 October 2026 02:40
Ajouté
get_essay_feedback
3 October 2026 02:40
Ajouté
rescore_essay
3 October 2026 02:40
Ajouté
get_grading_results
3 October 2026 02:40
Ajouté
get_grading_progress
3 October 2026 02:40
Ajouté
start_grading
3 October 2026 02:40
Ajouté
import_essays_from_google_classroom
3 October 2026 02:40
Ajouté
list_google_classroom_work
3 October 2026 02:40
Ajouté
import_essays_from_files
3 October 2026 02:40
Ajouté
import_essays_from_text
3 October 2026 02:40
Ajouté
update_grading_rubric
3 October 2026 02:40
Ajouté
get_grading_rubric
3 October 2026 02:40