이 MCP로 할 수 있는 일
Creates and manages courses, lessons, quizzes, enrollments, learning tracks, events, certificates, resources, progress, and community learning content.
도구
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['user_id', 'tag_id'], 'properties': {'tag_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Tag uuid from list_member_tags'}, 'user_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': "Member's user (profile) uuid, not the membership row id"}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['track_id', 'course_id', 'sort_order'], 'properties': {'track_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'course_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'sort_order': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Position within the track'}, 'is_required': {'type': 'boolean', 'description': 'Defaults to true'}, 'unlock_after_course_id': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'description': 'Prerequisite course id, or null for no gate'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['user_id', 'course_id'], 'properties': {'user_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'course_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'expires_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'ISO timestamp; omit or null for no expiry'}, 'final_score': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'completion_date': {'type': 'string', 'description': 'ISO timestamp; defaults to now'}, 'instructor_name': {'type': 'string'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['title'], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string'}}, 'title': {'type': 'string', 'minLength': 1}, 'difficulty': {'anyOf': [{'enum': ['beginner', 'intermediate', 'advanced'], 'type': 'string'}, {'type': 'null'}]}, 'visibility': {'enum': ['all_members', 'admin_only'], 'type': 'string', 'description': 'Defaults to all_members'}, 'description': {'type': 'string'}, 'thumbnail_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'instructor_name': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'description_json': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'description_format': {'enum': ['markdown', 'tiptap_json'], 'type': 'string'}, 'instructor_avatar_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['title', 'modules'], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string'}}, 'title': {'type': 'string', 'minLength': 1}, 'modules': {'type': 'array', 'items': {'type': 'object', 'required': ['title'], 'properties': {'title': {'type': 'string', 'minLength': 1}, 'lessons': {'type': 'array', 'items': {'type': 'object', 'required': ['title'], 'properties': {'title': {'type': 'string', 'minLength': 1}, 'description': {'type': 'string'}}}}}}, 'minItems': 1, 'description': 'Ordered list of modules; each with optional lesson placeholders'}, 'difficulty': {'anyOf': [{'enum': ['beginner', 'intermediate', 'advanced'], 'type': 'string'}, {'type': 'null'}]}, 'visibility': {'enum': ['all_members', 'admin_only'], 'type': 'string'}, 'description': {'type': 'string'}, 'thumbnail_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'instructor_name': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'description_json': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'description_format': {'enum': ['markdown', 'tiptap_json'], 'type': 'string'}, 'instructor_avatar_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['title'], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 20, 'description': 'Tag list'}, 'title': {'type': 'string', 'maxLength': 300, 'minLength': 1, 'description': 'Discussion title'}, 'content': {'type': 'string', 'maxLength': 20000, 'description': 'Plain-text/markdown body. Required unless content_json is given.'}, 'category': {'type': 'string', 'description': 'Category label, default "General"'}, 'content_json': {'description': 'Tiptap JSON body (alternative to content)'}, 'content_format': {'enum': ['markdown', 'tiptap_json'], 'type': 'string', 'description': "Defaults to 'tiptap_json' with content_json, else 'markdown'"}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Discussion uuid'}, 'content': {'type': 'string', 'maxLength': 20000, 'description': 'Plain-text/markdown body. Required unless content_json is given.'}, 'content_json': {'description': 'Tiptap JSON body (alternative to content)'}, 'content_format': {'enum': ['markdown', 'tiptap_json'], 'type': 'string', 'description': "Defaults to 'tiptap_json' with content_json, else 'markdown'"}, 'parent_reply_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Reply uuid in the same discussion to nest under'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['user_id', 'course_id'], 'properties': {'user_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'course_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['title', 'event_type', 'start_date', 'end_date'], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string'}}, 'title': {'type': 'string', 'minLength': 1}, 'end_date': {'type': 'string', 'description': 'ISO 8601 timestamp'}, 'location': {'type': 'string'}, 'timezone': {'type': 'string', 'description': 'IANA tz, e.g. "America/New_York"'}, 'event_type': {'enum': ['virtual', 'in-person', 'hybrid'], 'type': 'string'}, 'start_date': {'type': 'string', 'description': 'ISO 8601 timestamp'}, 'description': {'type': 'string'}, 'meeting_url': {'type': 'string', 'format': 'uri'}, 'max_attendees': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'cover_image_url': {'type': 'string', 'format': 'uri'}, 'description_json': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'description_format': {'enum': ['markdown', 'tiptap_json'], 'type': 'string'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['course_id', 'title', 'content_url'], 'properties': {'title': {'type': 'string', 'minLength': 1}, 'course_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'module_id': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}, 'is_preview': {'type': 'boolean', 'description': 'If true, visible to non-enrolled users'}, 'sort_order': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'content_url': {'type': 'string', 'format': 'uri'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'content_json': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'content_type': {'enum': ['youtube', 'google_drive', 'video', 'image', 'document', 'pitch'], 'type': 'string'}, 'is_published': {'type': 'boolean'}, 'thumbnail_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'content_format': {'enum': ['markdown', 'tiptap_json'], 'type': 'string'}, 'duration_seconds': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['user_id', 'note'], 'properties': {'note': {'type': 'string', 'maxLength': 10000, 'minLength': 1, 'description': 'Note text'}, 'user_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': "Member's user (profile) uuid, not the membership row id"}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 50, 'minLength': 1, 'description': 'Tag name'}, 'color': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$', 'description': 'Hex color, e.g. #4361EE'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['course_id', 'title'], 'properties': {'title': {'type': 'string', 'minLength': 1}, 'course_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'sort_order': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'content': {'type': 'string', 'description': 'Markdown body (use when content_format=markdown)'}, 'category': {'type': 'string'}, 'content_json': {'type': 'object', 'description': 'Tiptap JSON doc (use when content_format=tiptap_json)', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'content_format': {'enum': ['markdown', 'tiptap_json'], 'type': 'string', 'description': 'Defaults to markdown'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['post_id'], 'properties': {'content': {'type': 'string', 'maxLength': 20000, 'description': 'Plain-text/markdown body. Required unless content_json is given.'}, 'post_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Post uuid (from list_posts)'}, 'content_json': {'description': 'Tiptap JSON body (alternative to content)'}, 'content_format': {'enum': ['markdown', 'tiptap_json'], 'type': 'string', 'description': "Defaults to 'tiptap_json' with content_json, else 'markdown'"}, 'parent_comment_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Comment uuid on the same post to reply to'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'description': {'anyOf': [{'type': 'string', 'maxLength': 5000}, {'type': 'null'}]}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['bank_id', 'question_text', 'question_type'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['text'], 'properties': {'id': {'type': 'string'}, 'text': {'type': 'string', 'minLength': 1}, 'position': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1}}}, 'description': 'ordering only; correct order is position 1..n, or array order if positions are omitted'}, 'pairs': {'type': 'array', 'items': {'type': 'object', 'required': ['left', 'right'], 'properties': {'id': {'type': 'string'}, 'left': {'type': 'string', 'minLength': 1}, 'right': {'type': 'string', 'minLength': 1}}}, 'description': 'matching only; at least 2 pairs'}, 'points': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Defaults to 1', 'exclusiveMinimum': 0}, 'bank_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['text'], 'properties': {'id': {'type': 'string'}, 'text': {'type': 'string', 'minLength': 1}, 'is_correct': {'type': 'boolean'}}}, 'description': 'multiple_choice (exactly one is_correct:true) or multi_select (one or more). 2-12 entries.'}, 'explanation': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'question_text': {'type': 'string', 'minLength': 1}, 'question_type': {'enum': ['multiple_choice', 'true_false', 'fill_in_blank', 'multi_select', 'matching', 'ordering'], 'type': 'string'}, 'correct_answer': {'type': 'boolean', 'description': 'true_false only'}, 'accepted_answers': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'description': 'fill_in_blank only; matched case-insensitively'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['lesson_id', 'title'], 'properties': {'title': {'type': 'string', 'minLength': 1}, 'lesson_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'max_attempts': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, {'type': 'null'}]}, 'passing_score': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'shuffle_questions': {'type': 'boolean'}, 'time_limit_seconds': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, {'type': 'null'}]}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['quiz_id', 'question_text', 'question_type'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['text'], 'properties': {'id': {'type': 'string'}, 'text': {'type': 'string', 'minLength': 1}, 'position': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1}}}, 'description': 'ordering only; correct order is position 1..n, or array order if positions are omitted'}, 'pairs': {'type': 'array', 'items': {'type': 'object', 'required': ['left', 'right'], 'properties': {'id': {'type': 'string'}, 'left': {'type': 'string', 'minLength': 1}, 'right': {'type': 'string', 'minLength': 1}}}, 'description': 'matching only; at least 2 pairs'}, 'points': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Defaults to 1', 'exclusiveMinimum': 0}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['text'], 'properties': {'id': {'type': 'string'}, 'text': {'type': 'string', 'minLength': 1}, 'is_correct': {'type': 'boolean'}}}, 'description': 'multiple_choice (exactly one is_correct:true) or multi_select (one or more). 2-12 entries.'}, 'quiz_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'sort_order': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'explanation': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'question_text': {'type': 'string', 'minLength': 1}, 'question_type': {'enum': ['multiple_choice', 'true_false', 'fill_in_blank', 'multi_select', 'matching', 'ordering'], 'type': 'string'}, 'correct_answer': {'type': 'boolean', 'description': 'true_false only'}, 'accepted_answers': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'description': 'fill_in_blank only; matched case-insensitively'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['title'], 'properties': {'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 50}, 'maxItems': 20}, 'price': {'type': 'number', 'description': 'One-time price (> 0); omit for free', 'exclusiveMinimum': 0}, 'title': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'file_url': {'type': 'string', 'format': 'uri', 'description': 'For already-uploaded file resources'}, 'folder_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'is_premium': {'type': 'boolean'}, 'description': {'type': 'string', 'maxLength': 20000}, 'access_level': {'enum': ['public', 'members', 'premium'], 'type': 'string', 'description': 'Defaults to public'}, 'is_published': {'type': 'boolean', 'description': 'Defaults to true'}, 'resource_url': {'type': 'string', 'format': 'uri', 'description': 'For external-link resources'}, 'resource_type': {'enum': ['guide', 'toolkit', 'course', 'checklist', 'template', 'other'], 'type': 'string', 'description': 'Defaults to "guide"'}, 'cover_image_url': {'type': 'string', 'format': 'uri'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'icon': {'type': 'string', 'maxLength': 50, 'minLength': 1, 'description': 'Icon name, defaults to "folder"'}, 'name': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'color': {'type': 'string', 'pattern': '^#[0-9A-Fa-f]{6}$', 'description': '#RRGGBB hex color'}, 'price': {'anyOf': [{'type': 'number', 'exclusiveMinimum': 0}, {'type': 'null'}]}, 'position': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Sort order among siblings'}, 'description': {'type': 'string', 'maxLength': 2000}, 'parent_folder_id': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'description': 'Parent folder; omit/null for top level'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['title'], 'properties': {'title': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'description': {'type': 'string', 'maxLength': 20000}, 'is_featured': {'type': 'boolean'}, 'is_published': {'type': 'boolean', 'description': 'Defaults to false'}, 'thumbnail_url': {'type': 'string', 'format': 'uri'}, 'estimated_hours': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'difficulty_level': {'enum': ['beginner', 'intermediate', 'advanced'], 'type': 'string'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['source_type', 'source_url'], 'properties': {'source_url': {'type': 'string', 'format': 'uri', 'description': 'Video link for video_url; otherwise an https URL on the HiveLearn media host'}, 'video_mode': {'enum': ['none', 'intro_only', 'hybrid_chapters'], 'type': 'string', 'description': 'none/intro_only = 1 credit, hybrid_chapters = 5. Default intro_only; forced to none for video_url'}, 'context_url': {'type': 'string', 'format': 'uri', 'description': 'Optional supporting document on the HiveLearn media host'}, 'source_type': {'enum': ['document', 'audio', 'video', 'video_url'], 'type': 'string'}, 'style_preset': {'type': 'string', 'description': 'Thumbnail style preset key; unknown values are ignored'}, 'content_depth': {'enum': ['auto', 'concise', 'standard', 'deep'], 'type': 'string'}, 'brand_intensity': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'include_quizzes': {'type': 'boolean'}, 'source_filename': {'type': 'string', 'minLength': 1, 'description': 'Required for every type except video_url'}, 'include_intro_video': {'type': 'boolean'}, 'include_recap_video': {'type': 'boolean', 'description': 'Opt-in second avatar clip'}, 'quiz_questions_per_chapter': {'type': 'integer', 'maximum': 10, 'minimum': 2}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['job_id'], 'properties': {'job_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'days': {'type': 'integer', 'maximum': 365, 'minimum': 1, 'description': 'Trailing window in days (1-365), default 30'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Submission uuid'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'days': {'type': 'integer', 'maximum': 365, 'minimum': 1, 'description': 'Trailing window in days (1-365), default 30'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['course_id'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}, 'user_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'course_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['course_id'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}, 'user_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Scope to one user'}, 'course_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Discussion uuid (from list_discussions)'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}, 'period': {'enum': ['all_time', '30_day', '7_day'], 'type': 'string', 'description': 'Defaults to all_time'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Profile uuid (matches the id from list_members)'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['user_id'], 'properties': {'user_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': "Member's user (profile) uuid, not the membership row id"}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['user_id'], 'properties': {'user_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'The auth user id (community_members.user_id)'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['track_id'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}, 'track_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id', 'status'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Submission uuid'}, 'status': {'enum': ['submitted', 'reviewed', 'approved', 'revision_requested'], 'type': 'string'}, 'feedback': {'type': 'string', 'maxLength': 10000, 'description': 'Feedback shown to the student'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}, 'status': {'enum': ['submitted', 'reviewed', 'approved', 'revision_requested'], 'type': 'string'}, 'course_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'lesson_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}, 'user_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'course_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['course_id'], 'properties': {'course_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'module_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['course_id'], 'properties': {'course_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}, 'status': {'enum': ['draft', 'published', 'all'], 'type': 'string', 'description': 'Defaults to "all"'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Discussion uuid'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}, 'category': {'type': 'string', 'description': 'Filter by exact category'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}, 'user_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'course_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['event_id'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}, 'source': {'enum': ['rsvp', 'ticket'], 'type': 'string', 'description': "'rsvp' (default) or 'ticket'"}, 'event_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Event UUID'}, 'rsvp_status': {'enum': ['going', 'maybe', 'not_going'], 'type': 'string', 'description': 'Filter RSVPs (source=rsvp)'}, 'payment_status': {'enum': ['pending', 'succeeded', 'failed', 'refunded', 'partially_refunded'], 'type': 'string', 'description': 'Filter tickets (source=ticket)'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}, 'upcoming': {'type': 'boolean', 'description': 'If true, only events with start_date in the future'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['event_id'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}, 'event_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Event UUID'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['user_id'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}, 'user_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': "Member's user (profile) uuid, not the membership row id"}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'role': {'enum': ['owner', 'admin', 'moderator', 'member'], 'type': 'string', 'description': 'Restrict to a single role'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['user_id'], 'properties': {'user_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': "Member's user (profile) uuid, not the membership row id"}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['post_id'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}, 'post_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Post uuid (from list_posts)'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}, 'category': {'type': 'string', 'description': 'Filter by category slug'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['bank_id'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}, 'bank_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['quiz_id'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}, 'quiz_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Quiz uuid'}, 'user_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Only this learner'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['quiz_id'], 'properties': {'quiz_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}, 'course_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'lesson_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}, 'parent_folder_id': {'type': 'string', 'description': 'Folder id, or "root" for top-level folders'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}, 'folder_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Filter to a single resource folder'}, 'access_level': {'enum': ['public', 'members', 'premium'], 'type': 'string'}, 'resource_type': {'enum': ['guide', 'toolkit', 'course', 'checklist', 'template', 'other'], 'type': 'string'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['segment_id'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}, 'segment_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Segment uuid'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['track_id'], 'properties': {'track_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, default 20'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Rows to skip, default 0'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['module_id', 'lesson_ids'], 'properties': {'module_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'lesson_ids': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'minItems': 1}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id', 'status'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'status': {'enum': ['active', 'revoked', 'expired'], 'type': 'string'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'tags': {'type': 'array', 'items': {'type': 'string'}}, 'title': {'type': 'string'}, 'is_pinned': {'type': 'boolean'}, 'difficulty': {'anyOf': [{'enum': ['beginner', 'intermediate', 'advanced'], 'type': 'string'}, {'type': 'null'}]}, 'visibility': {'enum': ['all_members', 'admin_only'], 'type': 'string'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'is_featured': {'type': 'boolean'}, 'is_published': {'type': 'boolean'}, 'thumbnail_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'instructor_name': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'description_json': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'description_format': {'enum': ['markdown', 'tiptap_json'], 'type': 'string'}, 'instructor_avatar_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'tags': {'type': 'array', 'items': {'type': 'string'}}, 'title': {'type': 'string'}, 'end_date': {'type': 'string'}, 'location': {'type': 'string'}, 'timezone': {'type': 'string'}, 'event_type': {'enum': ['virtual', 'in-person', 'hybrid'], 'type': 'string'}, 'start_date': {'type': 'string'}, 'description': {'type': 'string'}, 'meeting_url': {'type': 'string', 'format': 'uri'}, 'is_cancelled': {'type': 'boolean'}, 'max_attendees': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, {'type': 'null'}]}, 'cover_image_url': {'type': 'string', 'format': 'uri'}, 'description_json': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'description_format': {'enum': ['markdown', 'tiptap_json'], 'type': 'string'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'title': {'type': 'string'}, 'module_id': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}, 'is_preview': {'type': 'boolean'}, 'sort_order': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'content_url': {'type': 'string', 'format': 'uri'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'content_json': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'content_type': {'enum': ['youtube', 'google_drive', 'video', 'image', 'document', 'pitch'], 'type': 'string'}, 'is_published': {'type': 'boolean'}, 'thumbnail_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'content_format': {'enum': ['markdown', 'tiptap_json'], 'type': 'string'}, 'duration_seconds': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'content_url': {'type': 'string', 'format': 'uri'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'content_json': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'content_type': {'enum': ['youtube', 'google_drive', 'video', 'image', 'document', 'pitch'], 'type': 'string'}, 'thumbnail_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'content_format': {'enum': ['markdown', 'tiptap_json'], 'type': 'string'}, 'duration_seconds': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Profile uuid (matches the id from list_members)'}, 'role': {'enum': ['member', 'moderator', 'admin'], 'type': 'string'}, 'is_banned': {'type': 'boolean'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'title': {'type': 'string'}, 'sort_order': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'content': {'type': 'string'}, 'category': {'type': 'string'}, 'is_pinned': {'type': 'boolean'}, 'content_json': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'content_format': {'enum': ['markdown', 'tiptap_json'], 'type': 'string'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'description': {'anyOf': [{'type': 'string', 'maxLength': 5000}, {'type': 'null'}]}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['text'], 'properties': {'id': {'type': 'string'}, 'text': {'type': 'string', 'minLength': 1}, 'position': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1}}}, 'description': 'ordering only; correct order is position 1..n, or array order if positions are omitted'}, 'pairs': {'type': 'array', 'items': {'type': 'object', 'required': ['left', 'right'], 'properties': {'id': {'type': 'string'}, 'left': {'type': 'string', 'minLength': 1}, 'right': {'type': 'string', 'minLength': 1}}}, 'description': 'matching only; at least 2 pairs'}, 'points': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['text'], 'properties': {'id': {'type': 'string'}, 'text': {'type': 'string', 'minLength': 1}, 'is_correct': {'type': 'boolean'}}}, 'description': 'multiple_choice (exactly one is_correct:true) or multi_select (one or more). 2-12 entries.'}, 'explanation': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'question_text': {'type': 'string', 'minLength': 1}, 'question_type': {'enum': ['multiple_choice', 'true_false', 'fill_in_blank', 'multi_select', 'matching', 'ordering'], 'type': 'string'}, 'correct_answer': {'type': 'boolean', 'description': 'true_false only'}, 'accepted_answers': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'description': 'fill_in_blank only; matched case-insensitively'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'title': {'type': 'string'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'max_attempts': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, {'type': 'null'}]}, 'passing_score': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'shuffle_questions': {'type': 'boolean'}, 'time_limit_seconds': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, {'type': 'null'}]}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['text'], 'properties': {'id': {'type': 'string'}, 'text': {'type': 'string', 'minLength': 1}, 'position': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1}}}, 'description': 'ordering only; correct order is position 1..n, or array order if positions are omitted'}, 'pairs': {'type': 'array', 'items': {'type': 'object', 'required': ['left', 'right'], 'properties': {'id': {'type': 'string'}, 'left': {'type': 'string', 'minLength': 1}, 'right': {'type': 'string', 'minLength': 1}}}, 'description': 'matching only; at least 2 pairs'}, 'points': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['text'], 'properties': {'id': {'type': 'string'}, 'text': {'type': 'string', 'minLength': 1}, 'is_correct': {'type': 'boolean'}}}, 'description': 'multiple_choice (exactly one is_correct:true) or multi_select (one or more). 2-12 entries.'}, 'sort_order': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'explanation': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'question_text': {'type': 'string'}, 'question_type': {'enum': ['multiple_choice', 'true_false', 'fill_in_blank', 'multi_select', 'matching', 'ordering'], 'type': 'string'}, 'correct_answer': {'type': 'boolean', 'description': 'true_false only'}, 'accepted_answers': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'description': 'fill_in_blank only; matched case-insensitively'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 50}, 'maxItems': 20}, 'price': {'anyOf': [{'type': 'number', 'exclusiveMinimum': 0}, {'type': 'null'}]}, 'title': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'file_url': {'type': 'string', 'format': 'uri'}, 'folder_id': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}, 'is_premium': {'type': 'boolean'}, 'description': {'type': 'string', 'maxLength': 20000}, 'is_featured': {'type': 'boolean'}, 'access_level': {'enum': ['public', 'members', 'premium'], 'type': 'string'}, 'is_published': {'type': 'boolean'}, 'resource_url': {'type': 'string', 'format': 'uri'}, 'resource_type': {'enum': ['guide', 'toolkit', 'course', 'checklist', 'template', 'other'], 'type': 'string'}, 'cover_image_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'icon': {'type': 'string', 'maxLength': 50, 'minLength': 1}, 'name': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'color': {'type': 'string', 'pattern': '^#[0-9A-Fa-f]{6}$', 'description': '#RRGGBB hex color'}, 'price': {'anyOf': [{'type': 'number', 'exclusiveMinimum': 0}, {'type': 'null'}]}, 'position': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'description': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}]}, 'parent_folder_id': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'title': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'description': {'type': 'string', 'maxLength': 20000}, 'is_featured': {'type': 'boolean'}, 'is_published': {'type': 'boolean'}, 'thumbnail_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'estimated_hours': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'null'}]}, 'difficulty_level': {'enum': ['beginner', 'intermediate', 'advanced'], 'type': 'string'}}}
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['code'], 'properties': {'code': {'type': 'string', 'minLength': 1, 'description': 'The verification_code printed on the certificate'}}}
최근 도구 변경
유사한 MCP 서버
concordance
Provides deterministic claim verification and audit receipts, along with Bible references, commentary, geography, indexed knowled…
The Ainglish Project
Maintains a measured, auditable register of language constructs, proposals, evidence, adoption, contributors, protocols, and rati…
Torah Library
Provides searchable Jewish texts, commentaries, source sheets, dictionaries, manuscripts, calendars, learning schedules, parasha …
Wordnik
Provides English dictionary functions including definitions, examples, pronunciations, hyphenation, phrases, frequencies, related…
goldseam
Provides education and credential data covering institutions, programs, courses, certifications, transfer pathways, policies, and…
Wiktionary
Retrieves multilingual dictionary definitions, etymologies, pronunciations, and parsed lexical information from Wiktionary.
Books
Provides Open Library book, edition, work, and author lookups, including publication details, subjects, descriptions, and biograp…
Quran
Provides Quran chapters, verses, translations, Arabic text, and surah metadata.