Skip to main content
Glama

Save Study Item to Project

write-artifact

Save a quiz, mock exam, note, or flashcard set you have already written into a project. To have Studocu generate a quiz or mock exam instead, use request-creation.

Input Schema

NameRequiredDescriptionDefault
artifactYesThe creation to save. type is quiz, mockExam, note, or flashcard. Each type has its own content shape. kind must be creation.
project_idYesUUID of the project that will own the creation. Example: 11111111-1111-4111-8111-111111111111. From create-project or get-context.

Output Schema

NameRequiredDescriptionDefault
kindYesArtifact kind returned by the write operation.
typeYesCreation type that was written.
titleYesHuman-readable title of the created artifact.
statusYesStable write status for successful creation writes.
projectIdYesUUID of the Studocu project that owns the created artifact.
artifactIdYesCanonical Studocu artifact URI for the created creation.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / artifact / description
      Previous value: -"The artifact to create. Pick type; each type defines its own content shape."New value: +"The creation to save. type is quiz, mockExam, note, or flashcard. Each type has its own content shape. kind must be creation."
    • changedInput schema / properties / artifact / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "content": {
      -        "additionalProperties": false,
      -        "description": "Quiz content.",
      -        "properties": {
      -          "course_id": {
      -            "exclusiveMinimum": 0,
      -            "maximum": 9007199254740991,
      -            "type": "integer"
      -          },
      -          "questions": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "answers": {
      -                  "items": {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "answer": {
      -                        "description": "Answer option text.",
      -                        "minLength": 1,
      -                        "type": "string"
      -                      },
      -                      "is_correct": {
      -                        "description": "True for the correct option or options.",
      -                        "type": "boolean"
      -                      }
      -                    },
      -                    "required": [
      -                      "answer",
      -                      "is_correct"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "minItems": 2,
      -                  "type": "array"
      -                },
      -                "difficulty": {
      -                  "enum": [
      -                    "EASY",
      -                    "MEDIUM",
      -                    "HARD"
      -                  ],
      -                  "type": "string"
      -                },
      -                "explanation": {
      -                  "description": "Required explanation for the correct answer (Core quiz API requires it, max 255 characters).",
      -                  "maxLength": 255,
      -                  "minLength": 1,
      -                  "type": "string"
      -                },
      -                "question": {
      -                  "description": "Question prompt shown to the learner.",
      -                  "minLength": 1,
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "question",
      -                "answers",
      -                "explanation"
      -              ],
      -              "type": "object"
      -            },
      -            "minItems": 1,
      -            "type": "array"
      -          }
      -        },
      -        "required": [
      -          "questions"
      -        ],
      -        "type": "object"
      -      },
      -      "description": {
      -        "description": "Optional description stored on the creation record.",
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "creation",
      -        "description": "Artifact kind. Only creation is writable in this MVP.",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Human-readable quiz title (Core Labs API requires 20-255 characters).",
      -        "maxLength": 255,
      -        "minLength": 20,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "quiz",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "title",
      -      "type",
      -      "content"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "content": {
      -        "additionalProperties": false,
      -        "description": "Mock exam content.",
      -        "properties": {
      -          "exam_json": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "content": {
      -                "items": {
      -                  "oneOf": [
      -                    {
      -                      "additionalProperties": false,
      -                      "properties": {
      -                        "id": {
      -                          "minLength": 1,
      -                          "type": "string"
      -                        },
      -                        "instructions": {
      -                          "minLength": 1,
      -                          "type": "string"
      -                        },
      -                        "kind": {
      -                          "const": "section",
      -                          "type": "string"
      -                        },
      -                        "question_type": {
      -                          "description": "Frontend-supported KnowledgeTest question type. Use mcq, not multiple_choice.",
      -                          "enum": [
      -                            "mcq",
      -                            "multi_select",
      -                            "true_false",
      -                            "fill_in_blank",
      -                            "text_answer_short",
      -                            "text_answer_long"
      -                          ],
      -                          "type": "string"
      -                        },
      -                        "title": {
      -                          "minLength": 1,
      -                          "type": "string"
      -                        }
      -                      },
      -                      "required": [
      -                        "kind",
      -                        "id",
      -                        "question_type"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    {
      -                      "additionalProperties": false,
      -                      "properties": {
      -                        "id": {
      -                          "minLength": 1,
      -                          "type": "string"
      -                        },
      -                        "kind": {
      -                          "const": "stimulus",
      -                          "type": "string"
      -                        },
      -                        "stimulus_markdown": {
      -                          "minLength": 1,
      -                          "type": "string"
      -                        },
      -                        "title": {
      -                          "minLength": 1,
      -                          "type": "string"
      -                        }
      -                      },
      -                      "required": [
      -                        "kind",
      -                        "id",
      -                        "stimulus_markdown"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    {
      -                      "oneOf": [
      -                        {
      -                          "additionalProperties": false,
      -                          "properties": {
      -                            "grading": {
      -                              "additionalProperties": false,
      -                              "properties": {
      -                                "correct_answer": {
      -                                  "type": "string"
      -                                },
      -                                "correct_answer_ids": {
      -                                  "items": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "type": "array"
      -                                },
      -                                "key_points": {
      -                                  "items": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "type": "array"
      -                                },
      -                                "model_answer": {
      -                                  "minLength": 1,
      -                                  "type": "string"
      -                                }
      -                              },
      -                              "required": [
      -                                "model_answer"
      -                              ],
      -                              "type": "object"
      -                            },
      -                            "id": {
      -                              "minLength": 1,
      -                              "type": "string"
      -                            },
      -                            "kind": {
      -                              "const": "question",
      -                              "type": "string"
      -                            },
      -                            "marks": {
      -                              "minimum": 0,
      -                              "type": "number"
      -                            },
      -                            "options": {
      -                              "items": {
      -                                "additionalProperties": false,
      -                                "properties": {
      -                                  "id": {
      -                                    "description": "Stable option id.",
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "text": {
      -                                    "description": "Option text.",
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "id",
      -                                  "text"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              "minItems": 2,
      -                              "type": "array"
      -                            },
      -                            "question_markdown": {
      -                              "minLength": 1,
      -                              "type": "string"
      -                            },
      -                            "section_id": {
      -                              "minLength": 1,
      -                              "type": "string"
      -                            },
      -                            "stimulus_id_refs": {
      -                              "anyOf": [
      -                                {
      -                                  "items": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "type": "array"
      -                                },
      -                                {
      -                                  "type": "null"
      -                                }
      -                              ]
      -                            },
      -                            "topics": {
      -                              "anyOf": [
      -                                {
      -                                  "items": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "type": "array"
      -                                },
      -                                {
      -                                  "type": "null"
      -                                }
      -                              ]
      -                            },
      -                            "type": {
      -                              "enum": [
      -                                "mcq",
      -                                "multi_select",
      -                                "true_false"
      -                              ],
      -                              "type": "string"
      -                            }
      -                          },
      -                          "required": [
      -                            "kind",
      -                            "id",
      -                            "section_id",
      -                            "type",
      -                            "marks",
      -                            "question_markdown",
      -                            "options"
      -                          ],
      -                          "type": "object"
      -                        },
      -                        {
      -                          "additionalProperties": false,
      -                          "properties": {
      -                            "blanks": {
      -                              "items": {
      -                                "additionalProperties": false,
      -                                "properties": {
      -                                  "id": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "label": {
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "id"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              "type": "array"
      -                            },
      -                            "grading": {
      -                              "additionalProperties": false,
      -                              "properties": {
      -                                "correct_answer": {
      -                                  "type": "string"
      -                                },
      -                                "correct_answer_ids": {
      -                                  "items": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "type": "array"
      -                                },
      -                                "key_points": {
      -                                  "items": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "type": "array"
      -                                },
      -                                "model_answer": {
      -                                  "minLength": 1,
      -                                  "type": "string"
      -                                }
      -                              },
      -                              "required": [
      -                                "model_answer"
      -                              ],
      -                              "type": "object"
      -                            },
      -                            "id": {
      -                              "minLength": 1,
      -                              "type": "string"
      -                            },
      -                            "kind": {
      -                              "const": "question",
      -                              "type": "string"
      -                            },
      -                            "marks": {
      -                              "minimum": 0,
      -                              "type": "number"
      -                            },
      -                            "question_markdown": {
      -                              "minLength": 1,
      -                              "type": "string"
      -                            },
      -                            "section_id": {
      -                              "minLength": 1,
      -                              "type": "string"
      -                            },
      -                            "stimulus_id_refs": {
      -                              "anyOf": [
      -                                {
      -                                  "items": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "type": "array"
      -                                },
      -                                {
      -                                  "type": "null"
      -                                }
      -                              ]
      -                            },
      -                            "template_markdown": {
      -                              "anyOf": [
      -                                {
      -                                  "type": "string"
      -                                },
      -                                {
      -                                  "type": "null"
      -                                }
      -                              ]
      -                            },
      -                            "topics": {
      -                              "anyOf": [
      -                                {
      -                                  "items": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "type": "array"
      -                                },
      -                                {
      -                                  "type": "null"
      -                                }
      -                              ]
      -                            },
      -                            "type": {
      -                              "const": "fill_in_blank",
      -                              "type": "string"
      -                            }
      -                          },
      -                          "required": [
      -                            "kind",
      -                            "id",
      -                            "section_id",
      -                            "type",
      -                            "marks",
      -                            "question_markdown"
      -                          ],
      -                          "type": "object"
      -                        },
      -                        {
      -                          "additionalProperties": false,
      -                          "properties": {
      -                            "grading": {
      -                              "additionalProperties": false,
      -                              "properties": {
      -                                "correct_answer": {
      -                                  "type": "string"
      -                                },
      -                                "correct_answer_ids": {
      -                                  "items": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "type": "array"
      -                                },
      -                                "key_points": {
      -                                  "items": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "type": "array"
      -                                },
      -                                "model_answer": {
      -                                  "minLength": 1,
      -                                  "type": "string"
      -                                }
      -                              },
      -                              "required": [
      -                                "model_answer"
      -                              ],
      -                              "type": "object"
      -                            },
      -                            "id": {
      -                              "minLength": 1,
      -                              "type": "string"
      -                            },
      -                            "kind": {
      -                              "const": "question",
      -                              "type": "string"
      -                            },
      -                            "marks": {
      -                              "minimum": 0,
      -                              "type": "number"
      -                            },
      -                            "question_markdown": {
      -                              "minLength": 1,
      -                              "type": "string"
      -                            },
      -                            "section_id": {
      -                              "minLength": 1,
      -                              "type": "string"
      -                            },
      -                            "stimulus_id_refs": {
      -                              "anyOf": [
      -                                {
      -                                  "items": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "type": "array"
      -                                },
      -                                {
      -                                  "type": "null"
      -                                }
      -                              ]
      -                            },
      -                            "topics": {
      -                              "anyOf": [
      -                                {
      -                                  "items": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "type": "array"
      -                                },
      -                                {
      -                                  "type": "null"
      -                                }
      -                              ]
      -                            },
      -                            "type": {
      -                              "enum": [
      -                                "text_answer_short",
      -                                "text_answer_long"
      -                              ],
      -                              "type": "string"
      -                            }
      -                          },
      -                          "required": [
      -                            "kind",
      -                            "id",
      -                            "section_id",
      -                            "type",
      -                            "marks",
      -                            "question_markdown"
      -                          ],
      -                          "type": "object"
      -                        }
      -                      ]
      -                    }
      -                  ]
      -                },
      -                "minItems": 1,
      -                "type": "array"
      -              },
      -              "front_matter": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "instructions_markdown": {
      -                    "type": "string"
      -                  }
      -                },
      -                "type": "object"
      -              },
      -              "schema_version": {
      -                "const": "0.8",
      -                "type": "string"
      -              },
      -              "title": {
      -                "minLength": 1,
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "schema_version",
      -              "title",
      -              "content"
      -            ],
      -            "type": "object"
      -          }
      -        },
      -        "required": [
      -          "exam_json"
      -        ],
      -        "type": "object"
      -      },
      -      "description": {
      -        "description": "Optional description stored on the creation record.",
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "creation",
      -        "description": "Artifact kind. Only creation is writable in this MVP.",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Human-readable title for the created artifact.",
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "mockExam",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "title",
      -      "type",
      -      "content"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "content": {
      -        "additionalProperties": false,
      -        "description": "Note content.",
      -        "properties": {
      -          "html": {
      -            "description": "Complete HTML document for the note body (max 1 MiB UTF-8).",
      -            "minLength": 1,
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "html"
      -        ],
      -        "type": "object"
      -      },
      -      "kind": {
      -        "const": "creation",
      -        "description": "Artifact kind. Only creation is writable in this MVP.",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Human-readable note title (Alpha creation store max 255 characters).",
      -        "maxLength": 255,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "note",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "title",
      -      "type",
      -      "content"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "content": {
      -        "additionalProperties": false,
      -        "description": "Flashcard set content.",
      -        "properties": {
      -          "flashcards_json": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "description": {
      -                "type": "string"
      -              },
      -              "flashcards": {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "back": {
      -                      "minLength": 1,
      -                      "type": "string"
      -                    },
      -                    "front": {
      -                      "minLength": 1,
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "front",
      -                    "back"
      -                  ],
      -                  "type": "object"
      -                },
      -                "maxItems": 200,
      -                "minItems": 1,
      -                "type": "array"
      -              },
      -              "title": {
      -                "minLength": 1,
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "title",
      -              "description",
      -              "flashcards"
      -            ],
      -            "type": "object"
      -          }
      -        },
      -        "required": [
      -          "flashcards_json"
      -        ],
      -        "type": "object"
      -      },
      -      "description": {
      -        "description": "Optional description stored on the creation record.",
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "creation",
      -        "description": "Artifact kind. Only creation is writable in this MVP.",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Human-readable title for the created artifact.",
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "flashcard",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "title",
      -      "type",
      -      "content"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "content": {
      +        "additionalProperties": false,
      +        "description": "Quiz content.",
      +        "properties": {
      +          "course_id": {
      +            "exclusiveMinimum": 0,
      +            "maximum": 9007199254740991,
      +            "type": "integer"
      +          },
      +          "questions": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "answers": {
      +                  "items": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "answer": {
      +                        "description": "Answer option text.",
      +                        "minLength": 1,
      +                        "type": "string"
      +                      },
      +                      "is_correct": {
      +                        "description": "True for the correct option or options.",
      +                        "type": "boolean"
      +                      }
      +                    },
      +                    "required": [
      +                      "answer",
      +                      "is_correct"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "minItems": 2,
      +                  "type": "array"
      +                },
      +                "difficulty": {
      +                  "enum": [
      +                    "EASY",
      +                    "MEDIUM",
      +                    "HARD"
      +                  ],
      +                  "type": "string"
      +                },
      +                "explanation": {
      +                  "description": "Why the correct answer is right. Required. 1-255 characters.",
      +                  "maxLength": 255,
      +                  "minLength": 1,
      +                  "type": "string"
      +                },
      +                "question": {
      +                  "description": "Question prompt shown to the learner.",
      +                  "minLength": 1,
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "question",
      +                "answers",
      +                "explanation"
      +              ],
      +              "type": "object"
      +            },
      +            "minItems": 1,
      +            "type": "array"
      +          }
      +        },
      +        "required": [
      +          "questions"
      +        ],
      +        "type": "object"
      +      },
      +      "description": {
      +        "description": "Optional short description of the creation (quiz, mock exam, or flashcard set). The note type does not have this field.",
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "creation",
      +        "description": "Must be the string creation. A project source cannot be written with this tool.",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Quiz title shown to the learner. 20-255 characters.",
      +        "maxLength": 255,
      +        "minLength": 20,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "quiz",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "title",
      +      "type",
      +      "content"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "content": {
      +        "additionalProperties": false,
      +        "description": "Mock exam content.",
      +        "properties": {
      +          "exam_json": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "content": {
      +                "items": {
      +                  "oneOf": [
      +                    {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "id": {
      +                          "minLength": 1,
      +                          "type": "string"
      +                        },
      +                        "instructions": {
      +                          "minLength": 1,
      +                          "type": "string"
      +                        },
      +                        "kind": {
      +                          "const": "section",
      +                          "type": "string"
      +                        },
      +                        "question_type": {
      +                          "description": "Question type: mcq, multi_select, true_false, fill_in_blank, text_answer_short, or text_answer_long. Use mcq, not multiple_choice.",
      +                          "enum": [
      +                            "mcq",
      +                            "multi_select",
      +                            "true_false",
      +                            "fill_in_blank",
      +                            "text_answer_short",
      +                            "text_answer_long"
      +                          ],
      +                          "type": "string"
      +                        },
      +                        "title": {
      +                          "minLength": 1,
      +                          "type": "string"
      +                        }
      +                      },
      +                      "required": [
      +                        "kind",
      +                        "id",
      +                        "question_type"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "id": {
      +                          "minLength": 1,
      +                          "type": "string"
      +                        },
      +                        "kind": {
      +                          "const": "stimulus",
      +                          "type": "string"
      +                        },
      +                        "stimulus_markdown": {
      +                          "minLength": 1,
      +                          "type": "string"
      +                        },
      +                        "title": {
      +                          "minLength": 1,
      +                          "type": "string"
      +                        }
      +                      },
      +                      "required": [
      +                        "kind",
      +                        "id",
      +                        "stimulus_markdown"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    {
      +                      "oneOf": [
      +                        {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "grading": {
      +                              "additionalProperties": false,
      +                              "properties": {
      +                                "correct_answer": {
      +                                  "type": "string"
      +                                },
      +                                "correct_answer_ids": {
      +                                  "items": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "type": "array"
      +                                },
      +                                "key_points": {
      +                                  "items": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "type": "array"
      +                                },
      +                                "model_answer": {
      +                                  "minLength": 1,
      +                                  "type": "string"
      +                                }
      +                              },
      +                              "required": [
      +                                "model_answer"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            "id": {
      +                              "minLength": 1,
      +                              "type": "string"
      +                            },
      +                            "kind": {
      +                              "const": "question",
      +                              "type": "string"
      +                            },
      +                            "marks": {
      +                              "minimum": 0,
      +                              "type": "number"
      +                            },
      +                            "options": {
      +                              "items": {
      +                                "additionalProperties": false,
      +                                "properties": {
      +                                  "id": {
      +                                    "description": "Stable option id.",
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "text": {
      +                                    "description": "Option text.",
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "id",
      +                                  "text"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              "minItems": 2,
      +                              "type": "array"
      +                            },
      +                            "question_markdown": {
      +                              "minLength": 1,
      +                              "type": "string"
      +                            },
      +                            "section_id": {
      +                              "minLength": 1,
      +                              "type": "string"
      +                            },
      +                            "stimulus_id_refs": {
      +                              "anyOf": [
      +                                {
      +                                  "items": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "type": "array"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            },
      +                            "topics": {
      +                              "anyOf": [
      +                                {
      +                                  "items": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "type": "array"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            },
      +                            "type": {
      +                              "enum": [
      +                                "mcq",
      +                                "multi_select",
      +                                "true_false"
      +                              ],
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "id",
      +                            "section_id",
      +                            "type",
      +                            "marks",
      +                            "question_markdown",
      +                            "options"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "blanks": {
      +                              "items": {
      +                                "additionalProperties": false,
      +                                "properties": {
      +                                  "id": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "label": {
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "id"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              "type": "array"
      +                            },
      +                            "grading": {
      +                              "additionalProperties": false,
      +                              "properties": {
      +                                "correct_answer": {
      +                                  "type": "string"
      +                                },
      +                                "correct_answer_ids": {
      +                                  "items": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "type": "array"
      +                                },
      +                                "key_points": {
      +                                  "items": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "type": "array"
      +                                },
      +                                "model_answer": {
      +                                  "minLength": 1,
      +                                  "type": "string"
      +                                }
      +                              },
      +                              "required": [
      +                                "model_answer"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            "id": {
      +                              "minLength": 1,
      +                              "type": "string"
      +                            },
      +                            "kind": {
      +                              "const": "question",
      +                              "type": "string"
      +                            },
      +                            "marks": {
      +                              "minimum": 0,
      +                              "type": "number"
      +                            },
      +                            "question_markdown": {
      +                              "minLength": 1,
      +                              "type": "string"
      +                            },
      +                            "section_id": {
      +                              "minLength": 1,
      +                              "type": "string"
      +                            },
      +                            "stimulus_id_refs": {
      +                              "anyOf": [
      +                                {
      +                                  "items": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "type": "array"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            },
      +                            "template_markdown": {
      +                              "anyOf": [
      +                                {
      +                                  "type": "string"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            },
      +                            "topics": {
      +                              "anyOf": [
      +                                {
      +                                  "items": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "type": "array"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            },
      +                            "type": {
      +                              "const": "fill_in_blank",
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "id",
      +                            "section_id",
      +                            "type",
      +                            "marks",
      +                            "question_markdown"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "grading": {
      +                              "additionalProperties": false,
      +                              "properties": {
      +                                "correct_answer": {
      +                                  "type": "string"
      +                                },
      +                                "correct_answer_ids": {
      +                                  "items": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "type": "array"
      +                                },
      +                                "key_points": {
      +                                  "items": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "type": "array"
      +                                },
      +                                "model_answer": {
      +                                  "minLength": 1,
      +                                  "type": "string"
      +                                }
      +                              },
      +                              "required": [
      +                                "model_answer"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            "id": {
      +                              "minLength": 1,
      +                              "type": "string"
      +                            },
      +                            "kind": {
      +                              "const": "question",
      +                              "type": "string"
      +                            },
      +                            "marks": {
      +                              "minimum": 0,
      +                              "type": "number"
      +                            },
      +                            "question_markdown": {
      +                              "minLength": 1,
      +                              "type": "string"
      +                            },
      +                            "section_id": {
      +                              "minLength": 1,
      +                              "type": "string"
      +                            },
      +                            "stimulus_id_refs": {
      +                              "anyOf": [
      +                                {
      +                                  "items": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "type": "array"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            },
      +                            "topics": {
      +                              "anyOf": [
      +                                {
      +                                  "items": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "type": "array"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            },
      +                            "type": {
      +                              "enum": [
      +                                "text_answer_short",
      +                                "text_answer_long"
      +                              ],
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "id",
      +                            "section_id",
      +                            "type",
      +                            "marks",
      +                            "question_markdown"
      +                          ],
      +                          "type": "object"
      +                        }
      +                      ]
      +                    }
      +                  ]
      +                },
      +                "minItems": 1,
      +                "type": "array"
      +              },
      +              "front_matter": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "instructions_markdown": {
      +                    "type": "string"
      +                  }
      +                },
      +                "type": "object"
      +              },
      +              "schema_version": {
      +                "const": "0.8",
      +                "type": "string"
      +              },
      +              "title": {
      +                "minLength": 1,
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "schema_version",
      +              "title",
      +              "content"
      +            ],
      +            "type": "object"
      +          }
      +        },
      +        "required": [
      +          "exam_json"
      +        ],
      +        "type": "object"
      +      },
      +      "description": {
      +        "description": "Optional short description of the creation (quiz, mock exam, or flashcard set). The note type does not have this field.",
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "creation",
      +        "description": "Must be the string creation. A project source cannot be written with this tool.",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Title shown to the learner. At least 1 character.",
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "mockExam",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "title",
      +      "type",
      +      "content"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "content": {
      +        "additionalProperties": false,
      +        "description": "Note content.",
      +        "properties": {
      +          "html": {
      +            "description": "Complete HTML document for the note body (max 1 MiB UTF-8).",
      +            "minLength": 1,
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "html"
      +        ],
      +        "type": "object"
      +      },
      +      "kind": {
      +        "const": "creation",
      +        "description": "Must be the string creation. A project source cannot be written with this tool.",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Note title. 1-255 characters.",
      +        "maxLength": 255,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "note",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "title",
      +      "type",
      +      "content"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "content": {
      +        "additionalProperties": false,
      +        "description": "Flashcard set content.",
      +        "properties": {
      +          "flashcards_json": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "description": {
      +                "type": "string"
      +              },
      +              "flashcards": {
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "back": {
      +                      "minLength": 1,
      +                      "type": "string"
      +                    },
      +                    "front": {
      +                      "minLength": 1,
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "front",
      +                    "back"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 200,
      +                "minItems": 1,
      +                "type": "array"
      +              },
      +              "title": {
      +                "minLength": 1,
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "title",
      +              "description",
      +              "flashcards"
      +            ],
      +            "type": "object"
      +          }
      +        },
      +        "required": [
      +          "flashcards_json"
      +        ],
      +        "type": "object"
      +      },
      +      "description": {
      +        "description": "Optional short description of the creation (quiz, mock exam, or flashcard set). The note type does not have this field.",
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "creation",
      +        "description": "Must be the string creation. A project source cannot be written with this tool.",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Title shown to the learner. At least 1 character.",
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "flashcard",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "title",
      +      "type",
      +      "content"
      +    ],
      +    "type": "object"
      +  }
      +]
    • changedInput schema / properties / project_id / description
      Previous value: -"UUID of the Studocu project that will own the artifact."New value: +"UUID of the project that will own the creation. Example: 11111111-1111-4111-8111-111111111111. From create-project or get-context."
  2. Changed2 schema fields changed
    • changedInput schema / properties / artifact / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "content": {
      -        "additionalProperties": false,
      -        "description": "Quiz content.",
      -        "properties": {
      -          "course_id": {
      -            "exclusiveMinimum": 0,
      -            "maximum": 9007199254740991,
      -            "type": "integer"
      -          },
      -          "questions": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "answers": {
      -                  "items": {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "answer": {
      -                        "description": "Answer option text.",
      -                        "minLength": 1,
      -                        "type": "string"
      -                      },
      -                      "is_correct": {
      -                        "description": "True for the correct option or options.",
      -                        "type": "boolean"
      -                      }
      -                    },
      -                    "required": [
      -                      "answer",
      -                      "is_correct"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "minItems": 2,
      -                  "type": "array"
      -                },
      -                "difficulty": {
      -                  "enum": [
      -                    "EASY",
      -                    "MEDIUM",
      -                    "HARD"
      -                  ],
      -                  "type": "string"
      -                },
      -                "explanation": {
      -                  "description": "Required explanation for the correct answer (Core quiz API requires it, max 255 characters).",
      -                  "maxLength": 255,
      -                  "minLength": 1,
      -                  "type": "string"
      -                },
      -                "question": {
      -                  "description": "Question prompt shown to the learner.",
      -                  "minLength": 1,
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "question",
      -                "answers",
      -                "explanation"
      -              ],
      -              "type": "object"
      -            },
      -            "minItems": 1,
      -            "type": "array"
      -          }
      -        },
      -        "required": [
      -          "questions"
      -        ],
      -        "type": "object"
      -      },
      -      "description": {
      -        "description": "Optional description stored on the creation record.",
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "creation",
      -        "description": "Artifact kind. Only creation is writable in this MVP.",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Human-readable quiz title (Core Labs API requires 20-255 characters).",
      -        "maxLength": 255,
      -        "minLength": 20,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "quiz",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "title",
      -      "type",
      -      "content"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "content": {
      -        "additionalProperties": false,
      -        "description": "Lesson content.",
      -        "properties": {
      -          "lesson_json": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "description": {
      -                "type": "string"
      -              },
      -              "exercises": {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "concept_explanation": {
      -                      "additionalProperties": false,
      -                      "properties": {
      -                        "paragraph1": {
      -                          "minLength": 1,
      -                          "type": "string"
      -                        },
      -                        "paragraph2": {
      -                          "minLength": 1,
      -                          "type": "string"
      -                        }
      -                      },
      -                      "required": [
      -                        "paragraph1",
      -                        "paragraph2"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    "id": {
      -                      "minLength": 1,
      -                      "type": "string"
      -                    },
      -                    "mcq": {
      -                      "items": {
      -                        "additionalProperties": false,
      -                        "properties": {
      -                          "correct_option_id": {
      -                            "enum": [
      -                              "A",
      -                              "B",
      -                              "C",
      -                              "D"
      -                            ],
      -                            "type": "string"
      -                          },
      -                          "options": {
      -                            "items": {
      -                              "additionalProperties": false,
      -                              "properties": {
      -                                "id": {
      -                                  "description": "Frontend-supported answer option id.",
      -                                  "enum": [
      -                                    "A",
      -                                    "B",
      -                                    "C",
      -                                    "D"
      -                                  ],
      -                                  "type": "string"
      -                                },
      -                                "rationale": {
      -                                  "description": "Rationale shown for this option.",
      -                                  "minLength": 1,
      -                                  "type": "string"
      -                                },
      -                                "text": {
      -                                  "description": "Option text.",
      -                                  "minLength": 1,
      -                                  "type": "string"
      -                                }
      -                              },
      -                              "required": [
      -                                "id",
      -                                "text",
      -                                "rationale"
      -                              ],
      -                              "type": "object"
      -                            },
      -                            "minItems": 2,
      -                            "type": "array"
      -                          },
      -                          "question": {
      -                            "minLength": 1,
      -                            "type": "string"
      -                          },
      -                          "rationale": {
      -                            "minLength": 1,
      -                            "type": "string"
      -                          }
      -                        },
      -                        "required": [
      -                          "question",
      -                          "options",
      -                          "correct_option_id",
      -                          "rationale"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      "type": "array"
      -                    },
      -                    "open_ended": {
      -                      "additionalProperties": false,
      -                      "properties": {
      -                        "expected_points": {
      -                          "items": {
      -                            "minLength": 1,
      -                            "type": "string"
      -                          },
      -                          "minItems": 1,
      -                          "type": "array"
      -                        },
      -                        "model_answer": {
      -                          "minLength": 1,
      -                          "type": "string"
      -                        },
      -                        "question": {
      -                          "minLength": 1,
      -                          "type": "string"
      -                        },
      -                        "rubric": {
      -                          "minLength": 1,
      -                          "type": "string"
      -                        }
      -                      },
      -                      "required": [
      -                        "question",
      -                        "expected_points",
      -                        "model_answer",
      -                        "rubric"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    "position": {
      -                      "maximum": 9007199254740991,
      -                      "minimum": 1,
      -                      "type": "integer"
      -                    },
      -                    "title": {
      -                      "minLength": 1,
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "id",
      -                    "position",
      -                    "title",
      -                    "concept_explanation",
      -                    "mcq",
      -                    "open_ended"
      -                  ],
      -                  "type": "object"
      -                },
      -                "minItems": 1,
      -                "type": "array"
      -              },
      -              "outline": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "exercises": {
      -                    "items": {
      -                      "additionalProperties": false,
      -                      "properties": {
      -                        "exercise_id": {
      -                          "minLength": 1,
      -                          "type": "string"
      -                        },
      -                        "title": {
      -                          "minLength": 1,
      -                          "type": "string"
      -                        },
      -                        "topic_id": {
      -                          "minLength": 1,
      -                          "type": "string"
      -                        }
      -                      },
      -                      "required": [
      -                        "exercise_id",
      -                        "topic_id",
      -                        "title"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    "minItems": 1,
      -                    "type": "array"
      -                  },
      -                  "learning_goal": {
      -                    "minLength": 1,
      -                    "type": "string"
      -                  },
      -                  "title": {
      -                    "minLength": 1,
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "learning_goal",
      -                  "title",
      -                  "exercises"
      -                ],
      -                "type": "object"
      -              },
      -              "title": {
      -                "minLength": 1,
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "title",
      -              "outline",
      -              "exercises"
      -            ],
      -            "type": "object"
      -          }
      -        },
      -        "required": [
      -          "lesson_json"
      -        ],
      -        "type": "object"
      -      },
      -      "description": {
      -        "description": "Optional description stored on the creation record.",
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "creation",
      -        "description": "Artifact kind. Only creation is writable in this MVP.",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Human-readable title for the created artifact.",
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "lesson",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "title",
      -      "type",
      -      "content"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "content": {
      -        "additionalProperties": false,
      -        "description": "Mock exam content.",
      -        "properties": {
      -          "exam_json": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "content": {
      -                "items": {
      -                  "oneOf": [
      -                    {
      -                      "additionalProperties": false,
      -                      "properties": {
      -                        "id": {
      -                          "minLength": 1,
      -                          "type": "string"
      -                        },
      -                        "instructions": {
      -                          "minLength": 1,
      -                          "type": "string"
      -                        },
      -                        "kind": {
      -                          "const": "section",
      -                          "type": "string"
      -                        },
      -                        "question_type": {
      -                          "description": "Frontend-supported KnowledgeTest question type. Use mcq, not multiple_choice.",
      -                          "enum": [
      -                            "mcq",
      -                            "multi_select",
      -                            "true_false",
      -                            "fill_in_blank",
      -                            "text_answer_short",
      -                            "text_answer_long"
      -                          ],
      -                          "type": "string"
      -                        },
      -                        "title": {
      -                          "minLength": 1,
      -                          "type": "string"
      -                        }
      -                      },
      -                      "required": [
      -                        "kind",
      -                        "id",
      -                        "question_type"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    {
      -                      "additionalProperties": false,
      -                      "properties": {
      -                        "id": {
      -                          "minLength": 1,
      -                          "type": "string"
      -                        },
      -                        "kind": {
      -                          "const": "stimulus",
      -                          "type": "string"
      -                        },
      -                        "stimulus_markdown": {
      -                          "minLength": 1,
      -                          "type": "string"
      -                        },
      -                        "title": {
      -                          "minLength": 1,
      -                          "type": "string"
      -                        }
      -                      },
      -                      "required": [
      -                        "kind",
      -                        "id",
      -                        "stimulus_markdown"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    {
      -                      "oneOf": [
      -                        {
      -                          "additionalProperties": false,
      -                          "properties": {
      -                            "grading": {
      -                              "additionalProperties": false,
      -                              "properties": {
      -                                "correct_answer": {
      -                                  "type": "string"
      -                                },
      -                                "correct_answer_ids": {
      -                                  "items": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "type": "array"
      -                                },
      -                                "key_points": {
      -                                  "items": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "type": "array"
      -                                },
      -                                "model_answer": {
      -                                  "minLength": 1,
      -                                  "type": "string"
      -                                }
      -                              },
      -                              "required": [
      -                                "model_answer"
      -                              ],
      -                              "type": "object"
      -                            },
      -                            "id": {
      -                              "minLength": 1,
      -                              "type": "string"
      -                            },
      -                            "kind": {
      -                              "const": "question",
      -                              "type": "string"
      -                            },
      -                            "marks": {
      -                              "minimum": 0,
      -                              "type": "number"
      -                            },
      -                            "options": {
      -                              "items": {
      -                                "additionalProperties": false,
      -                                "properties": {
      -                                  "id": {
      -                                    "description": "Stable option id.",
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "text": {
      -                                    "description": "Option text.",
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "id",
      -                                  "text"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              "minItems": 2,
      -                              "type": "array"
      -                            },
      -                            "question_markdown": {
      -                              "minLength": 1,
      -                              "type": "string"
      -                            },
      -                            "section_id": {
      -                              "minLength": 1,
      -                              "type": "string"
      -                            },
      -                            "stimulus_id_refs": {
      -                              "anyOf": [
      -                                {
      -                                  "items": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "type": "array"
      -                                },
      -                                {
      -                                  "type": "null"
      -                                }
      -                              ]
      -                            },
      -                            "topics": {
      -                              "anyOf": [
      -                                {
      -                                  "items": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "type": "array"
      -                                },
      -                                {
      -                                  "type": "null"
      -                                }
      -                              ]
      -                            },
      -                            "type": {
      -                              "enum": [
      -                                "mcq",
      -                                "multi_select",
      -                                "true_false"
      -                              ],
      -                              "type": "string"
      -                            }
      -                          },
      -                          "required": [
      -                            "kind",
      -                            "id",
      -                            "section_id",
      -                            "type",
      -                            "marks",
      -                            "question_markdown",
      -                            "options"
      -                          ],
      -                          "type": "object"
      -                        },
      -                        {
      -                          "additionalProperties": false,
      -                          "properties": {
      -                            "blanks": {
      -                              "items": {
      -                                "additionalProperties": false,
      -                                "properties": {
      -                                  "id": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "label": {
      -                                    "type": "string"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "id"
      -                                ],
      -                                "type": "object"
      -                              },
      -                              "type": "array"
      -                            },
      -                            "grading": {
      -                              "additionalProperties": false,
      -                              "properties": {
      -                                "correct_answer": {
      -                                  "type": "string"
      -                                },
      -                                "correct_answer_ids": {
      -                                  "items": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "type": "array"
      -                                },
      -                                "key_points": {
      -                                  "items": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "type": "array"
      -                                },
      -                                "model_answer": {
      -                                  "minLength": 1,
      -                                  "type": "string"
      -                                }
      -                              },
      -                              "required": [
      -                                "model_answer"
      -                              ],
      -                              "type": "object"
      -                            },
      -                            "id": {
      -                              "minLength": 1,
      -                              "type": "string"
      -                            },
      -                            "kind": {
      -                              "const": "question",
      -                              "type": "string"
      -                            },
      -                            "marks": {
      -                              "minimum": 0,
      -                              "type": "number"
      -                            },
      -                            "question_markdown": {
      -                              "minLength": 1,
      -                              "type": "string"
      -                            },
      -                            "section_id": {
      -                              "minLength": 1,
      -                              "type": "string"
      -                            },
      -                            "stimulus_id_refs": {
      -                              "anyOf": [
      -                                {
      -                                  "items": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "type": "array"
      -                                },
      -                                {
      -                                  "type": "null"
      -                                }
      -                              ]
      -                            },
      -                            "template_markdown": {
      -                              "anyOf": [
      -                                {
      -                                  "type": "string"
      -                                },
      -                                {
      -                                  "type": "null"
      -                                }
      -                              ]
      -                            },
      -                            "topics": {
      -                              "anyOf": [
      -                                {
      -                                  "items": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "type": "array"
      -                                },
      -                                {
      -                                  "type": "null"
      -                                }
      -                              ]
      -                            },
      -                            "type": {
      -                              "const": "fill_in_blank",
      -                              "type": "string"
      -                            }
      -                          },
      -                          "required": [
      -                            "kind",
      -                            "id",
      -                            "section_id",
      -                            "type",
      -                            "marks",
      -                            "question_markdown"
      -                          ],
      -                          "type": "object"
      -                        },
      -                        {
      -                          "additionalProperties": false,
      -                          "properties": {
      -                            "grading": {
      -                              "additionalProperties": false,
      -                              "properties": {
      -                                "correct_answer": {
      -                                  "type": "string"
      -                                },
      -                                "correct_answer_ids": {
      -                                  "items": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "type": "array"
      -                                },
      -                                "key_points": {
      -                                  "items": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "type": "array"
      -                                },
      -                                "model_answer": {
      -                                  "minLength": 1,
      -                                  "type": "string"
      -                                }
      -                              },
      -                              "required": [
      -                                "model_answer"
      -                              ],
      -                              "type": "object"
      -                            },
      -                            "id": {
      -                              "minLength": 1,
      -                              "type": "string"
      -                            },
      -                            "kind": {
      -                              "const": "question",
      -                              "type": "string"
      -                            },
      -                            "marks": {
      -                              "minimum": 0,
      -                              "type": "number"
      -                            },
      -                            "question_markdown": {
      -                              "minLength": 1,
      -                              "type": "string"
      -                            },
      -                            "section_id": {
      -                              "minLength": 1,
      -                              "type": "string"
      -                            },
      -                            "stimulus_id_refs": {
      -                              "anyOf": [
      -                                {
      -                                  "items": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "type": "array"
      -                                },
      -                                {
      -                                  "type": "null"
      -                                }
      -                              ]
      -                            },
      -                            "topics": {
      -                              "anyOf": [
      -                                {
      -                                  "items": {
      -                                    "minLength": 1,
      -                                    "type": "string"
      -                                  },
      -                                  "type": "array"
      -                                },
      -                                {
      -                                  "type": "null"
      -                                }
      -                              ]
      -                            },
      -                            "type": {
      -                              "enum": [
      -                                "text_answer_short",
      -                                "text_answer_long"
      -                              ],
      -                              "type": "string"
      -                            }
      -                          },
      -                          "required": [
      -                            "kind",
      -                            "id",
      -                            "section_id",
      -                            "type",
      -                            "marks",
      -                            "question_markdown"
      -                          ],
      -                          "type": "object"
      -                        }
      -                      ]
      -                    }
      -                  ]
      -                },
      -                "minItems": 1,
      -                "type": "array"
      -              },
      -              "front_matter": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "instructions_markdown": {
      -                    "type": "string"
      -                  }
      -                },
      -                "type": "object"
      -              },
      -              "schema_version": {
      -                "const": "0.8",
      -                "type": "string"
      -              },
      -              "title": {
      -                "minLength": 1,
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "schema_version",
      -              "title",
      -              "content"
      -            ],
      -            "type": "object"
      -          }
      -        },
      -        "required": [
      -          "exam_json"
      -        ],
      -        "type": "object"
      -      },
      -      "description": {
      -        "description": "Optional description stored on the creation record.",
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "creation",
      -        "description": "Artifact kind. Only creation is writable in this MVP.",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Human-readable title for the created artifact.",
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "mockExam",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "title",
      -      "type",
      -      "content"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "content": {
      -        "additionalProperties": false,
      -        "description": "Note content.",
      -        "properties": {
      -          "html": {
      -            "description": "Complete HTML document for the note body (max 1 MiB UTF-8).",
      -            "minLength": 1,
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "html"
      -        ],
      -        "type": "object"
      -      },
      -      "kind": {
      -        "const": "creation",
      -        "description": "Artifact kind. Only creation is writable in this MVP.",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Human-readable note title (Alpha creation store max 255 characters).",
      -        "maxLength": 255,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "note",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "title",
      -      "type",
      -      "content"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "content": {
      -        "additionalProperties": false,
      -        "description": "Flashcard set content.",
      -        "properties": {
      -          "flashcards_json": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "description": {
      -                "type": "string"
      -              },
      -              "flashcards": {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "back": {
      -                      "minLength": 1,
      -                      "type": "string"
      -                    },
      -                    "front": {
      -                      "minLength": 1,
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "front",
      -                    "back"
      -                  ],
      -                  "type": "object"
      -                },
      -                "maxItems": 200,
      -                "minItems": 1,
      -                "type": "array"
      -              },
      -              "title": {
      -                "minLength": 1,
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "title",
      -              "description",
      -              "flashcards"
      -            ],
      -            "type": "object"
      -          }
      -        },
      -        "required": [
      -          "flashcards_json"
      -        ],
      -        "type": "object"
      -      },
      -      "description": {
      -        "description": "Optional description stored on the creation record.",
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "creation",
      -        "description": "Artifact kind. Only creation is writable in this MVP.",
      -        "type": "string"
      -      },
      -      "title": {
      -        "description": "Human-readable title for the created artifact.",
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "flashcard",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "title",
      -      "type",
      -      "content"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "content": {
      +        "additionalProperties": false,
      +        "description": "Quiz content.",
      +        "properties": {
      +          "course_id": {
      +            "exclusiveMinimum": 0,
      +            "maximum": 9007199254740991,
      +            "type": "integer"
      +          },
      +          "questions": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "answers": {
      +                  "items": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "answer": {
      +                        "description": "Answer option text.",
      +                        "minLength": 1,
      +                        "type": "string"
      +                      },
      +                      "is_correct": {
      +                        "description": "True for the correct option or options.",
      +                        "type": "boolean"
      +                      }
      +                    },
      +                    "required": [
      +                      "answer",
      +                      "is_correct"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "minItems": 2,
      +                  "type": "array"
      +                },
      +                "difficulty": {
      +                  "enum": [
      +                    "EASY",
      +                    "MEDIUM",
      +                    "HARD"
      +                  ],
      +                  "type": "string"
      +                },
      +                "explanation": {
      +                  "description": "Required explanation for the correct answer (Core quiz API requires it, max 255 characters).",
      +                  "maxLength": 255,
      +                  "minLength": 1,
      +                  "type": "string"
      +                },
      +                "question": {
      +                  "description": "Question prompt shown to the learner.",
      +                  "minLength": 1,
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "question",
      +                "answers",
      +                "explanation"
      +              ],
      +              "type": "object"
      +            },
      +            "minItems": 1,
      +            "type": "array"
      +          }
      +        },
      +        "required": [
      +          "questions"
      +        ],
      +        "type": "object"
      +      },
      +      "description": {
      +        "description": "Optional description stored on the creation record.",
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "creation",
      +        "description": "Artifact kind. Only creation is writable in this MVP.",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Human-readable quiz title (Core Labs API requires 20-255 characters).",
      +        "maxLength": 255,
      +        "minLength": 20,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "quiz",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "title",
      +      "type",
      +      "content"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "content": {
      +        "additionalProperties": false,
      +        "description": "Mock exam content.",
      +        "properties": {
      +          "exam_json": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "content": {
      +                "items": {
      +                  "oneOf": [
      +                    {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "id": {
      +                          "minLength": 1,
      +                          "type": "string"
      +                        },
      +                        "instructions": {
      +                          "minLength": 1,
      +                          "type": "string"
      +                        },
      +                        "kind": {
      +                          "const": "section",
      +                          "type": "string"
      +                        },
      +                        "question_type": {
      +                          "description": "Frontend-supported KnowledgeTest question type. Use mcq, not multiple_choice.",
      +                          "enum": [
      +                            "mcq",
      +                            "multi_select",
      +                            "true_false",
      +                            "fill_in_blank",
      +                            "text_answer_short",
      +                            "text_answer_long"
      +                          ],
      +                          "type": "string"
      +                        },
      +                        "title": {
      +                          "minLength": 1,
      +                          "type": "string"
      +                        }
      +                      },
      +                      "required": [
      +                        "kind",
      +                        "id",
      +                        "question_type"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "id": {
      +                          "minLength": 1,
      +                          "type": "string"
      +                        },
      +                        "kind": {
      +                          "const": "stimulus",
      +                          "type": "string"
      +                        },
      +                        "stimulus_markdown": {
      +                          "minLength": 1,
      +                          "type": "string"
      +                        },
      +                        "title": {
      +                          "minLength": 1,
      +                          "type": "string"
      +                        }
      +                      },
      +                      "required": [
      +                        "kind",
      +                        "id",
      +                        "stimulus_markdown"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    {
      +                      "oneOf": [
      +                        {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "grading": {
      +                              "additionalProperties": false,
      +                              "properties": {
      +                                "correct_answer": {
      +                                  "type": "string"
      +                                },
      +                                "correct_answer_ids": {
      +                                  "items": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "type": "array"
      +                                },
      +                                "key_points": {
      +                                  "items": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "type": "array"
      +                                },
      +                                "model_answer": {
      +                                  "minLength": 1,
      +                                  "type": "string"
      +                                }
      +                              },
      +                              "required": [
      +                                "model_answer"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            "id": {
      +                              "minLength": 1,
      +                              "type": "string"
      +                            },
      +                            "kind": {
      +                              "const": "question",
      +                              "type": "string"
      +                            },
      +                            "marks": {
      +                              "minimum": 0,
      +                              "type": "number"
      +                            },
      +                            "options": {
      +                              "items": {
      +                                "additionalProperties": false,
      +                                "properties": {
      +                                  "id": {
      +                                    "description": "Stable option id.",
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "text": {
      +                                    "description": "Option text.",
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "id",
      +                                  "text"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              "minItems": 2,
      +                              "type": "array"
      +                            },
      +                            "question_markdown": {
      +                              "minLength": 1,
      +                              "type": "string"
      +                            },
      +                            "section_id": {
      +                              "minLength": 1,
      +                              "type": "string"
      +                            },
      +                            "stimulus_id_refs": {
      +                              "anyOf": [
      +                                {
      +                                  "items": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "type": "array"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            },
      +                            "topics": {
      +                              "anyOf": [
      +                                {
      +                                  "items": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "type": "array"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            },
      +                            "type": {
      +                              "enum": [
      +                                "mcq",
      +                                "multi_select",
      +                                "true_false"
      +                              ],
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "id",
      +                            "section_id",
      +                            "type",
      +                            "marks",
      +                            "question_markdown",
      +                            "options"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "blanks": {
      +                              "items": {
      +                                "additionalProperties": false,
      +                                "properties": {
      +                                  "id": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "label": {
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "id"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              "type": "array"
      +                            },
      +                            "grading": {
      +                              "additionalProperties": false,
      +                              "properties": {
      +                                "correct_answer": {
      +                                  "type": "string"
      +                                },
      +                                "correct_answer_ids": {
      +                                  "items": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "type": "array"
      +                                },
      +                                "key_points": {
      +                                  "items": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "type": "array"
      +                                },
      +                                "model_answer": {
      +                                  "minLength": 1,
      +                                  "type": "string"
      +                                }
      +                              },
      +                              "required": [
      +                                "model_answer"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            "id": {
      +                              "minLength": 1,
      +                              "type": "string"
      +                            },
      +                            "kind": {
      +                              "const": "question",
      +                              "type": "string"
      +                            },
      +                            "marks": {
      +                              "minimum": 0,
      +                              "type": "number"
      +                            },
      +                            "question_markdown": {
      +                              "minLength": 1,
      +                              "type": "string"
      +                            },
      +                            "section_id": {
      +                              "minLength": 1,
      +                              "type": "string"
      +                            },
      +                            "stimulus_id_refs": {
      +                              "anyOf": [
      +                                {
      +                                  "items": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "type": "array"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            },
      +                            "template_markdown": {
      +                              "anyOf": [
      +                                {
      +                                  "type": "string"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            },
      +                            "topics": {
      +                              "anyOf": [
      +                                {
      +                                  "items": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "type": "array"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            },
      +                            "type": {
      +                              "const": "fill_in_blank",
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "id",
      +                            "section_id",
      +                            "type",
      +                            "marks",
      +                            "question_markdown"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "grading": {
      +                              "additionalProperties": false,
      +                              "properties": {
      +                                "correct_answer": {
      +                                  "type": "string"
      +                                },
      +                                "correct_answer_ids": {
      +                                  "items": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "type": "array"
      +                                },
      +                                "key_points": {
      +                                  "items": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "type": "array"
      +                                },
      +                                "model_answer": {
      +                                  "minLength": 1,
      +                                  "type": "string"
      +                                }
      +                              },
      +                              "required": [
      +                                "model_answer"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            "id": {
      +                              "minLength": 1,
      +                              "type": "string"
      +                            },
      +                            "kind": {
      +                              "const": "question",
      +                              "type": "string"
      +                            },
      +                            "marks": {
      +                              "minimum": 0,
      +                              "type": "number"
      +                            },
      +                            "question_markdown": {
      +                              "minLength": 1,
      +                              "type": "string"
      +                            },
      +                            "section_id": {
      +                              "minLength": 1,
      +                              "type": "string"
      +                            },
      +                            "stimulus_id_refs": {
      +                              "anyOf": [
      +                                {
      +                                  "items": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "type": "array"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            },
      +                            "topics": {
      +                              "anyOf": [
      +                                {
      +                                  "items": {
      +                                    "minLength": 1,
      +                                    "type": "string"
      +                                  },
      +                                  "type": "array"
      +                                },
      +                                {
      +                                  "type": "null"
      +                                }
      +                              ]
      +                            },
      +                            "type": {
      +                              "enum": [
      +                                "text_answer_short",
      +                                "text_answer_long"
      +                              ],
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "id",
      +                            "section_id",
      +                            "type",
      +                            "marks",
      +                            "question_markdown"
      +                          ],
      +                          "type": "object"
      +                        }
      +                      ]
      +                    }
      +                  ]
      +                },
      +                "minItems": 1,
      +                "type": "array"
      +              },
      +              "front_matter": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "instructions_markdown": {
      +                    "type": "string"
      +                  }
      +                },
      +                "type": "object"
      +              },
      +              "schema_version": {
      +                "const": "0.8",
      +                "type": "string"
      +              },
      +              "title": {
      +                "minLength": 1,
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "schema_version",
      +              "title",
      +              "content"
      +            ],
      +            "type": "object"
      +          }
      +        },
      +        "required": [
      +          "exam_json"
      +        ],
      +        "type": "object"
      +      },
      +      "description": {
      +        "description": "Optional description stored on the creation record.",
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "creation",
      +        "description": "Artifact kind. Only creation is writable in this MVP.",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Human-readable title for the created artifact.",
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "mockExam",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "title",
      +      "type",
      +      "content"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "content": {
      +        "additionalProperties": false,
      +        "description": "Note content.",
      +        "properties": {
      +          "html": {
      +            "description": "Complete HTML document for the note body (max 1 MiB UTF-8).",
      +            "minLength": 1,
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "html"
      +        ],
      +        "type": "object"
      +      },
      +      "kind": {
      +        "const": "creation",
      +        "description": "Artifact kind. Only creation is writable in this MVP.",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Human-readable note title (Alpha creation store max 255 characters).",
      +        "maxLength": 255,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "note",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "title",
      +      "type",
      +      "content"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "content": {
      +        "additionalProperties": false,
      +        "description": "Flashcard set content.",
      +        "properties": {
      +          "flashcards_json": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "description": {
      +                "type": "string"
      +              },
      +              "flashcards": {
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "back": {
      +                      "minLength": 1,
      +                      "type": "string"
      +                    },
      +                    "front": {
      +                      "minLength": 1,
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "front",
      +                    "back"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 200,
      +                "minItems": 1,
      +                "type": "array"
      +              },
      +              "title": {
      +                "minLength": 1,
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "title",
      +              "description",
      +              "flashcards"
      +            ],
      +            "type": "object"
      +          }
      +        },
      +        "required": [
      +          "flashcards_json"
      +        ],
      +        "type": "object"
      +      },
      +      "description": {
      +        "description": "Optional description stored on the creation record.",
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "creation",
      +        "description": "Artifact kind. Only creation is writable in this MVP.",
      +        "type": "string"
      +      },
      +      "title": {
      +        "description": "Human-readable title for the created artifact.",
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "flashcard",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "title",
      +      "type",
      +      "content"
      +    ],
      +    "type": "object"
      +  }
      +]
    • changedOutput schema / properties / type / enum
      Previous value: -[
      -  "quiz",
      -  "mockExam",
      -  "lesson",
      -  "note",
      -  "flashcard"
      -]New value: +[
      +  "quiz",
      +  "mockExam",
      +  "note",
      +  "flashcard"
      +]
  3. First observed

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this is a non-read-only, non-idempotent, non-destructive write, so the safety profile is covered. The description usefully signals the pre-condition that the artifact must already be authored ('you have already written'), but says nothing about what happens on repeated saves (idempotentHint=false leaves duplicate-vs-overwrite unclear) or validation/error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste, with the what front-loaded and the routing alternative second. Nothing could be removed without losing routing value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a very detailed input schema and an output schema present, the description only needs to convey purpose and routing, which it does. It is slightly thin on the write semantics (duplication on re-save, relationship to project sources) that the agent cannot infer from structured fields alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the artifact oneOf fully documents each shape, so the schema does the heavy lifting. The description only echoes the four artifact types already enumerated in the schema; it adds no new parameter meaning such as project_id sourcing or artifact discrimination rules.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (save) and a precise resource (quiz, mock exam, note, or flashcard set) scoped to a project, and explicitly names the sibling it is not (request-creation). An agent can tell it apart from request-creation without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names the alternative tool and the condition that selects it ('To have Studocu generate ... instead, use request-creation'), which is the main routing decision for this tool. It stops short of covering other relevant cases, e.g. reading back existing artifacts with read-artifact or the fact that project sources cannot be written here (that only appears in the schema).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources