Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,539Letters: 14Defects: 1,323counted 4 min ago
teppi

Server definition

Hash
sha256:c01942b7857867afe5bf1bb0b0738b748ccbbb1ae619f72e2865026dc04a56b9
What it is
What a remote MCP server returned when asked what it offers: 96 tools

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "Assign a tag to a member. Idempotent: returns the existing assignment if already tagged.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "tag_id": { "description": "Tag uuid from list_member_tags", "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": "string" }, "user_id": { "description": "Member's user (profile) uuid, not the membership row id", "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": "string" } }, "required": [ "user_id", "tag_id" ], "type": "object" }, "name": "hivelearn_add_member_tag", "outputSchema": null }, { "description": "Add a course to a track at a given position. sort_order sets the order within the track. Set unlock_after_course_id to a prerequisite course that must be completed first (omit/null for no gate). is_required defaults to true.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "course_id": { "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": "string" }, "is_required": { "description": "Defaults to true", "type": "boolean" }, "sort_order": { "description": "Position within the track", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "track_id": { "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": "string" }, "unlock_after_course_id": { "anyOf": [ { "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": "string" }, { "type": "null" } ], "description": "Prerequisite course id, or null for no gate" } }, "required": [ "track_id", "course_id", "sort_order" ], "type": "object" }, "name": "hivelearn_add_track_course", "outputSchema": null }, { "description": "Issue a certificate of completion to a user for a course. Normally the platform auto-issues on course completion — use this tool for bulk backfill or manual awards.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "completion_date": { "description": "ISO timestamp; defaults to now", "type": "string" }, "course_id": { "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": "string" }, "expires_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "ISO timestamp; omit or null for no expiry" }, "final_score": { "maximum": 100, "minimum": 0, "type": "integer" }, "instructor_name": { "type": "string" }, "user_id": { "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": "string" } }, "required": [ "user_id", "course_id" ], "type": "object" }, "name": "hivelearn_create_certificate", "outputSchema": null }, { "description": "Create an empty course (no modules/lessons). Prefer hivelearn_create_course_outline when you already know the structure — it scaffolds course + modules + lesson placeholders in one call.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "description": { "type": "string" }, "description_format": { "enum": [ "markdown", "tiptap_json" ], "type": "string" }, "description_json": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "difficulty": { "anyOf": [ { "enum": [ "beginner", "intermediate", "advanced" ], "type": "string" }, { "type": "null" } ] }, "instructor_avatar_url": { "anyOf": [ { "format": "uri", "type": "string" }, { "type": "null" } ] }, "instructor_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "tags": { "items": { "type": "string" }, "type": "array" }, "thumbnail_url": { "anyOf": [ { "format": "uri", "type": "string" }, { "type": "null" } ] }, "title": { "minLength": 1, "type": "string" }, "visibility": { "description": "Defaults to all_members", "enum": [ "all_members", "admin_only" ], "type": "string" } }, "required": [ "title" ], "type": "object" }, "name": "hivelearn_create_course", "outputSchema": null }, { "description": "Scaffold an entire course in one call: course + modules + lesson placeholders (title/description only, no content yet). After this, loop over the returned lesson ids with hivelearn_update_lesson_content to fill in video/document URLs. This is the preferred first step when authoring a new course from a plan.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "description": { "type": "string" }, "description_format": { "enum": [ "markdown", "tiptap_json" ], "type": "string" }, "description_json": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "difficulty": { "anyOf": [ { "enum": [ "beginner", "intermediate", "advanced" ], "type": "string" }, { "type": "null" } ] }, "instructor_avatar_url": { "anyOf": [ { "format": "uri", "type": "string" }, { "type": "null" } ] }, "instructor_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "modules": { "description": "Ordered list of modules; each with optional lesson placeholders", "items": { "properties": { "lessons": { "items": { "properties": { "description": { "type": "string" }, "title": { "minLength": 1, "type": "string" } }, "required": [ "title" ], "type": "object" }, "type": "array" }, "title": { "minLength": 1, "type": "string" } }, "required": [ "title" ], "type": "object" }, "minItems": 1, "type": "array" }, "tags": { "items": { "type": "string" }, "type": "array" }, "thumbnail_url": { "anyOf": [ { "format": "uri", "type": "string" }, { "type": "null" } ] }, "title": { "minLength": 1, "type": "string" }, "visibility": { "enum": [ "all_members", "admin_only" ], "type": "string" } }, "required": [ "title", "modules" ], "type": "object" }, "name": "hivelearn_create_course_outline", "outputSchema": null }, { "description": "Start a discussion as the API key's owner. It is published and visible to all members immediately, and notifies every member who has new-discussion notifications on.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "category": { "description": "Category label, default \"General\"", "type": "string" }, "content": { "description": "Plain-text/markdown body. Required unless content_json is given.", "maxLength": 20000, "type": "string" }, "content_format": { "description": "Defaults to 'tiptap_json' with content_json, else 'markdown'", "enum": [ "markdown", "tiptap_json" ], "type": "string" }, "content_json": { "description": "Tiptap JSON body (alternative to content)" }, "tags": { "description": "Tag list", "items": { "type": "string" }, "maxItems": 20, "type": "array" }, "title": { "description": "Discussion title", "maxLength": 300, "minLength": 1, "type": "string" } }, "required": [ "title" ], "type": "object" }, "name": "hivelearn_create_discussion", "outputSchema": null }, { "description": "Reply to a discussion as the API key's owner. The reply is visible to all members immediately and notifies the discussion author. Fails with 409 if the discussion is locked. Set parent_reply_id to nest under another reply.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "content": { "description": "Plain-text/markdown body. Required unless content_json is given.", "maxLength": 20000, "type": "string" }, "content_format": { "description": "Defaults to 'tiptap_json' with content_json, else 'markdown'", "enum": [ "markdown", "tiptap_json" ], "type": "string" }, "content_json": { "description": "Tiptap JSON body (alternative to content)" }, "id": { "description": "Discussion uuid", "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": "string" }, "parent_reply_id": { "description": "Reply uuid in the same discussion to nest under", "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": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_create_discussion_reply", "outputSchema": null }, { "description": "Enroll a user in a course. Both user_id and course_id must belong to the authenticated community. Duplicate enrollments are rejected.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "course_id": { "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": "string" }, "user_id": { "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": "string" } }, "required": [ "user_id", "course_id" ], "type": "object" }, "name": "hivelearn_create_enrollment", "outputSchema": null }, { "description": "Create a calendar event. Dates are ISO 8601 strings in UTC. For virtual events set meeting_url; for in-person set location. event_type controls which field the UI shows.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "cover_image_url": { "format": "uri", "type": "string" }, "description": { "type": "string" }, "description_format": { "enum": [ "markdown", "tiptap_json" ], "type": "string" }, "description_json": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "end_date": { "description": "ISO 8601 timestamp", "type": "string" }, "event_type": { "enum": [ "virtual", "in-person", "hybrid" ], "type": "string" }, "location": { "type": "string" }, "max_attendees": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "meeting_url": { "format": "uri", "type": "string" }, "start_date": { "description": "ISO 8601 timestamp", "type": "string" }, "tags": { "items": { "type": "string" }, "type": "array" }, "timezone": { "description": "IANA tz, e.g. \"America/New_York\"", "type": "string" }, "title": { "minLength": 1, "type": "string" } }, "required": [ "title", "event_type", "start_date", "end_date" ], "type": "object" }, "name": "hivelearn_create_event", "outputSchema": null }, { "description": "Add a lesson to a course. content_type must match content_url (e.g. youtube URL → content_type:youtube). Set module_id=null to leave the lesson unassigned; otherwise pass a module uuid from list_course_modules.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "content_format": { "enum": [ "markdown", "tiptap_json" ], "type": "string" }, "content_json": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "content_type": { "enum": [ "youtube", "google_drive", "video", "image", "document", "pitch" ], "type": "string" }, "content_url": { "format": "uri", "type": "string" }, "course_id": { "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": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "duration_seconds": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "is_preview": { "description": "If true, visible to non-enrolled users", "type": "boolean" }, "is_published": { "type": "boolean" }, "module_id": { "anyOf": [ { "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": "string" }, { "type": "null" } ] }, "sort_order": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "thumbnail_url": { "anyOf": [ { "format": "uri", "type": "string" }, { "type": "null" } ] }, "title": { "minLength": 1, "type": "string" } }, "required": [ "course_id", "title", "content_url" ], "type": "object" }, "name": "hivelearn_create_lesson", "outputSchema": null }, { "description": "Add a private admin note to a member. The author is the API key's creator.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "note": { "description": "Note text", "maxLength": 10000, "minLength": 1, "type": "string" }, "user_id": { "description": "Member's user (profile) uuid, not the membership row id", "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": "string" } }, "required": [ "user_id", "note" ], "type": "object" }, "name": "hivelearn_create_member_note", "outputSchema": null }, { "description": "Create a member tag. Names are unique per community (409 on duplicate).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "color": { "description": "Hex color, e.g. #4361EE", "pattern": "^#[0-9a-fA-F]{6}$", "type": "string" }, "name": { "description": "Tag name", "maxLength": 50, "minLength": 1, "type": "string" } }, "required": [ "name" ], "type": "object" }, "name": "hivelearn_create_member_tag", "outputSchema": null }, { "description": "Add a module to a course. sort_order is optional — server auto-appends if omitted.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "course_id": { "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": "string" }, "sort_order": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "title": { "minLength": 1, "type": "string" } }, "required": [ "course_id", "title" ], "type": "object" }, "name": "hivelearn_create_module", "outputSchema": null }, { "description": "Publish a new post to the community feed. Either content (markdown) or content_json (tiptap) is required. content_format must match which field you sent. category is optional — omit for default \"general\".", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "category": { "type": "string" }, "content": { "description": "Markdown body (use when content_format=markdown)", "type": "string" }, "content_format": { "description": "Defaults to markdown", "enum": [ "markdown", "tiptap_json" ], "type": "string" }, "content_json": { "additionalProperties": {}, "description": "Tiptap JSON doc (use when content_format=tiptap_json)", "propertyNames": { "type": "string" }, "type": "object" } }, "type": "object" }, "name": "hivelearn_create_post", "outputSchema": null }, { "description": "Comment on a feed post as the API key's owner. The comment is visible to all members immediately, notifies the post author, and awards comment points. Set parent_comment_id to reply to another comment on the same post.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "content": { "description": "Plain-text/markdown body. Required unless content_json is given.", "maxLength": 20000, "type": "string" }, "content_format": { "description": "Defaults to 'tiptap_json' with content_json, else 'markdown'", "enum": [ "markdown", "tiptap_json" ], "type": "string" }, "content_json": { "description": "Tiptap JSON body (alternative to content)" }, "parent_comment_id": { "description": "Comment uuid on the same post to reply to", "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": "string" }, "post_id": { "description": "Post uuid (from list_posts)", "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": "string" } }, "required": [ "post_id" ], "type": "object" }, "name": "hivelearn_create_post_comment", "outputSchema": null }, { "description": "Create an empty question bank. Add questions with hivelearn_create_question_bank_item.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "description": { "anyOf": [ { "maxLength": 5000, "type": "string" }, { "type": "null" } ] }, "name": { "maxLength": 200, "minLength": 1, "type": "string" } }, "required": [ "name" ], "type": "object" }, "name": "hivelearn_create_question_bank", "outputSchema": null }, { "description": "Add a question to a bank. Supports all 6 types; supply the answer field for the type: options (multiple_choice / multi_select), correct_answer (true_false), accepted_answers (fill_in_blank), pairs (matching), items (ordering).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "accepted_answers": { "description": "fill_in_blank only; matched case-insensitively", "items": { "minLength": 1, "type": "string" }, "type": "array" }, "bank_id": { "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": "string" }, "correct_answer": { "description": "true_false only", "type": "boolean" }, "explanation": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "items": { "description": "ordering only; correct order is position 1..n, or array order if positions are omitted", "items": { "properties": { "id": { "type": "string" }, "position": { "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "text": { "minLength": 1, "type": "string" } }, "required": [ "text" ], "type": "object" }, "type": "array" }, "options": { "description": "multiple_choice (exactly one is_correct:true) or multi_select (one or more). 2-12 entries.", "items": { "properties": { "id": { "type": "string" }, "is_correct": { "type": "boolean" }, "text": { "minLength": 1, "type": "string" } }, "required": [ "text" ], "type": "object" }, "type": "array" }, "pairs": { "description": "matching only; at least 2 pairs", "items": { "properties": { "id": { "type": "string" }, "left": { "minLength": 1, "type": "string" }, "right": { "minLength": 1, "type": "string" } }, "required": [ "left", "right" ], "type": "object" }, "type": "array" }, "points": { "description": "Defaults to 1", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "question_text": { "minLength": 1, "type": "string" }, "question_type": { "enum": [ "multiple_choice", "true_false", "fill_in_blank", "multi_select", "matching", "ordering" ], "type": "string" } }, "required": [ "bank_id", "question_text", "question_type" ], "type": "object" }, "name": "hivelearn_create_question_bank_item", "outputSchema": null }, { "description": "Create a quiz attached to a lesson. passing_score is 0-100 (percent). Omit time_limit_seconds or max_attempts for unlimited.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "lesson_id": { "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": "string" }, "max_attempts": { "anyOf": [ { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, { "type": "null" } ] }, "passing_score": { "maximum": 100, "minimum": 0, "type": "integer" }, "shuffle_questions": { "type": "boolean" }, "time_limit_seconds": { "anyOf": [ { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, { "type": "null" } ] }, "title": { "minLength": 1, "type": "string" } }, "required": [ "lesson_id", "title" ], "type": "object" }, "name": "hivelearn_create_quiz", "outputSchema": null }, { "description": "Add a question to a quiz. Supply the answer field for the type: multiple_choice → options [{text, is_correct}] with exactly one is_correct:true; multi_select → options with one or more correct; true_false → correct_answer (boolean); fill_in_blank → accepted_answers; matching → pairs [{left, right}]; ordering → items [{text}] in correct order (or with position 1..n).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "accepted_answers": { "description": "fill_in_blank only; matched case-insensitively", "items": { "minLength": 1, "type": "string" }, "type": "array" }, "correct_answer": { "description": "true_false only", "type": "boolean" }, "explanation": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "items": { "description": "ordering only; correct order is position 1..n, or array order if positions are omitted", "items": { "properties": { "id": { "type": "string" }, "position": { "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "text": { "minLength": 1, "type": "string" } }, "required": [ "text" ], "type": "object" }, "type": "array" }, "options": { "description": "multiple_choice (exactly one is_correct:true) or multi_select (one or more). 2-12 entries.", "items": { "properties": { "id": { "type": "string" }, "is_correct": { "type": "boolean" }, "text": { "minLength": 1, "type": "string" } }, "required": [ "text" ], "type": "object" }, "type": "array" }, "pairs": { "description": "matching only; at least 2 pairs", "items": { "properties": { "id": { "type": "string" }, "left": { "minLength": 1, "type": "string" }, "right": { "minLength": 1, "type": "string" } }, "required": [ "left", "right" ], "type": "object" }, "type": "array" }, "points": { "description": "Defaults to 1", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "question_text": { "minLength": 1, "type": "string" }, "question_type": { "enum": [ "multiple_choice", "true_false", "fill_in_blank", "multi_select", "matching", "ordering" ], "type": "string" }, "quiz_id": { "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": "string" }, "sort_order": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" } }, "required": [ "quiz_id", "question_text", "question_type" ], "type": "object" }, "name": "hivelearn_create_quiz_question", "outputSchema": null }, { "description": "Add a resource to the community library. Supply either resource_url (external link) or file_url (already-uploaded file) — at least one is required. price must be > 0 if set (omit for free). access_level defaults to public.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "access_level": { "description": "Defaults to public", "enum": [ "public", "members", "premium" ], "type": "string" }, "cover_image_url": { "format": "uri", "type": "string" }, "description": { "maxLength": 20000, "type": "string" }, "file_url": { "description": "For already-uploaded file resources", "format": "uri", "type": "string" }, "folder_id": { "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": "string" }, "is_premium": { "type": "boolean" }, "is_published": { "description": "Defaults to true", "type": "boolean" }, "price": { "description": "One-time price (> 0); omit for free", "exclusiveMinimum": 0, "type": "number" }, "resource_type": { "description": "Defaults to \"guide\"", "enum": [ "guide", "toolkit", "course", "checklist", "template", "other" ], "type": "string" }, "resource_url": { "description": "For external-link resources", "format": "uri", "type": "string" }, "tags": { "items": { "maxLength": 50, "type": "string" }, "maxItems": 20, "type": "array" }, "title": { "maxLength": 200, "minLength": 1, "type": "string" } }, "required": [ "title" ], "type": "object" }, "name": "hivelearn_create_resource", "outputSchema": null }, { "description": "Create a resource-library folder. parent_folder_id (optional) must be a folder in the same community. Names must be unique among siblings (409). price must be > 0 if set.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "color": { "description": "#RRGGBB hex color", "pattern": "^#[0-9A-Fa-f]{6}$", "type": "string" }, "description": { "maxLength": 2000, "type": "string" }, "icon": { "description": "Icon name, defaults to \"folder\"", "maxLength": 50, "minLength": 1, "type": "string" }, "name": { "maxLength": 100, "minLength": 1, "type": "string" }, "parent_folder_id": { "anyOf": [ { "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": "string" }, { "type": "null" } ], "description": "Parent folder; omit/null for top level" }, "position": { "description": "Sort order among siblings", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "price": { "anyOf": [ { "exclusiveMinimum": 0, "type": "number" }, { "type": "null" } ] } }, "required": [ "name" ], "type": "object" }, "name": "hivelearn_create_resource_folder", "outputSchema": null }, { "description": "Create a learning track (curated course sequence). After this, add courses in order with hivelearn_add_track_course. is_published defaults to false — publish once the curriculum is set.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "description": { "maxLength": 20000, "type": "string" }, "difficulty_level": { "enum": [ "beginner", "intermediate", "advanced" ], "type": "string" }, "estimated_hours": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "is_featured": { "type": "boolean" }, "is_published": { "description": "Defaults to false", "type": "boolean" }, "thumbnail_url": { "format": "uri", "type": "string" }, "title": { "maxLength": 200, "minLength": 1, "type": "string" } }, "required": [ "title" ], "type": "object" }, "name": "hivelearn_create_track", "outputSchema": null }, { "description": "Generate a full course with AI and return a job_id to poll with hivelearn_get_ai_job. SPENDS the key creator's AI credits: 1 credit, or 5 for hybrid_chapters (paid plans only). Confirm with the user before calling. Requires the explicit generate:ai_courses scope, which admin:* does NOT include. source_type video_url imports a public YouTube/Vimeo/Loom link; every other type needs a file already uploaded to HiveLearn media storage (external URLs are rejected). Limited to 2 running and 10 per hour.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "brand_intensity": { "maximum": 100, "minimum": 0, "type": "integer" }, "content_depth": { "enum": [ "auto", "concise", "standard", "deep" ], "type": "string" }, "context_url": { "description": "Optional supporting document on the HiveLearn media host", "format": "uri", "type": "string" }, "include_intro_video": { "type": "boolean" }, "include_quizzes": { "type": "boolean" }, "include_recap_video": { "description": "Opt-in second avatar clip", "type": "boolean" }, "quiz_questions_per_chapter": { "maximum": 10, "minimum": 2, "type": "integer" }, "source_filename": { "description": "Required for every type except video_url", "minLength": 1, "type": "string" }, "source_type": { "enum": [ "document", "audio", "video", "video_url" ], "type": "string" }, "source_url": { "description": "Video link for video_url; otherwise an https URL on the HiveLearn media host", "format": "uri", "type": "string" }, "style_preset": { "description": "Thumbnail style preset key; unknown values are ignored", "type": "string" }, "video_mode": { "description": "none/intro_only = 1 credit, hybrid_chapters = 5. Default intro_only; forced to none for video_url", "enum": [ "none", "intro_only", "hybrid_chapters" ], "type": "string" } }, "required": [ "source_type", "source_url" ], "type": "object" }, "name": "hivelearn_generate_ai_course", "outputSchema": null }, { "description": "AI credit balance for the API key's creator: monthly allowance remaining, purchased top-ups (never expire), total available, reset date, and whether the AI Course Builder is enabled for this community. Check this before generating. Needs scope read:ai.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "hivelearn_get_ai_credits", "outputSchema": null }, { "description": "Status and progress of one AI generation job. Poll after hivelearn_generate_ai_course. status is queued | processing | completed | failed | refunded; current_step shows the phase; course_id is the resulting course. A job that stays queued with started_at null was never picked up and is failed and refunded automatically within about an hour. Needs scope read:ai.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "job_id": { "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": "string" } }, "required": [ "job_id" ], "type": "object" }, "name": "hivelearn_get_ai_job", "outputSchema": null }, { "description": "Community analytics over a trailing window of `days` (default 30): total and new members, posts created, enrollments (total, new, completions, completion rate), published courses, and events created/held with RSVPs and check-ins. Definitions match the admin dashboard. Requires read:analytics.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "days": { "description": "Trailing window in days (1-365), default 30", "maximum": 365, "minimum": 1, "type": "integer" } }, "type": "object" }, "name": "hivelearn_get_analytics_summary", "outputSchema": null }, { "description": "Fetch one assignment submission: text/url, status, instructor feedback and reviewer. Requires read:courses.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "id": { "description": "Submission uuid", "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": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_get_assignment_submission", "outputSchema": null }, { "description": "Fetch one certificate by id. Includes verification_code and download URL.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "id": { "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": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_get_certificate", "outputSchema": null }, { "description": "Returns the community the current API key is scoped to. Use this first whenever you need the community_id, owner, slug, or tier — the API key determines tenancy, you cannot switch community.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "hivelearn_get_community_me", "outputSchema": null }, { "description": "Fetch one course with full metadata (description, instructor, tags, flags). For the lesson tree use hivelearn_get_course_structure instead.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "id": { "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": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_get_course", "outputSchema": null }, { "description": "Per-course analytics for the community (newest course first): enrollments, new enrollments and completions in the last `days`, completion rate, average progress, and average rating. Paginated. Requires read:analytics.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "days": { "description": "Trailing window in days (1-365), default 30", "maximum": 365, "minimum": 1, "type": "integer" }, "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" } }, "type": "object" }, "name": "hivelearn_get_course_analytics", "outputSchema": null }, { "description": "Quiz-score gradebook for a course: per-user quiz attempts, scores, pass/fail. Use for analytics or grading dashboards.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "course_id": { "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": "string" }, "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "user_id": { "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": "string" } }, "required": [ "course_id" ], "type": "object" }, "name": "hivelearn_get_course_gradebook", "outputSchema": null }, { "description": "Aggregate lesson-completion progress for a course across enrolled users. Returns per-user percent_complete, last_accessed_at, completed_lesson_count.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "course_id": { "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": "string" }, "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "user_id": { "description": "Scope to one user", "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": "string" } }, "required": [ "course_id" ], "type": "object" }, "name": "hivelearn_get_course_progress", "outputSchema": null }, { "description": "Return a compact titles-only tree of the course: course → modules → lessons. Ideal for agents to plan reorders, spot empty lessons, or summarize a course. Does NOT include lesson body content.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "id": { "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": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_get_course_structure", "outputSchema": null }, { "description": "Fetch one discussion by uuid, with author. Use list_discussion_replies for its replies.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "id": { "description": "Discussion uuid (from list_discussions)", "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": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_get_discussion", "outputSchema": null }, { "description": "Fetch one enrollment with status and progress.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "id": { "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": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_get_enrollment", "outputSchema": null }, { "description": "Fetch one event by id with full description and RSVP metadata.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "id": { "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": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_get_event", "outputSchema": null }, { "description": "Ranked member leaderboard for the community. period chooses the window: all_time (default), 30_day, or 7_day. Each entry carries rank and the points for the selected period, plus level info.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "period": { "description": "Defaults to all_time", "enum": [ "all_time", "30_day", "7_day" ], "type": "string" } }, "type": "object" }, "name": "hivelearn_get_leaderboard", "outputSchema": null }, { "description": "Fetch a single member by profile uuid. Returns the same fields as list_members for one row.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "id": { "description": "Profile uuid (matches the id from list_members)", "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": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_get_member", "outputSchema": null }, { "description": "Get a member's health score (engagement, activity, risk level). 404 until the daily job has scored them.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "user_id": { "description": "Member's user (profile) uuid, not the membership row id", "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": "string" } }, "required": [ "user_id" ], "type": "object" }, "name": "hivelearn_get_member_health", "outputSchema": null }, { "description": "Full points breakdown for one member (by auth user id) in the community: total, per-category (posts/comments/events/courses/engagement), period totals, level. 404 if the member has no points record here.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "user_id": { "description": "The auth user id (community_members.user_id)", "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": "string" } }, "required": [ "user_id" ], "type": "object" }, "name": "hivelearn_get_member_points", "outputSchema": null }, { "description": "Fetch one post with full content. Reply thread is NOT included — this is the post itself only.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "id": { "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": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_get_post", "outputSchema": null }, { "description": "Fetch one question bank with its item_count. Items are listed separately via hivelearn_list_question_bank_items.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "id": { "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": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_get_question_bank", "outputSchema": null }, { "description": "Fetch one quiz with metadata (passing_score, time_limit, max_attempts). Questions are NOT included — use hivelearn_list_quiz_questions.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "id": { "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": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_get_quiz", "outputSchema": null }, { "description": "Fetch one published resource by id, with joined author. 404 if unpublished or in another community.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "id": { "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": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_get_resource", "outputSchema": null }, { "description": "Fetch one resource folder by id, with its resource_count. 404 if it belongs to another community.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "id": { "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": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_get_resource_folder", "outputSchema": null }, { "description": "Fetch one learning track by id with full metadata. For its ordered curriculum use hivelearn_list_track_courses.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "id": { "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": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_get_track", "outputSchema": null }, { "description": "Per-member progress through a learning track: enrolled_at, started_at, completed_at, total_courses, completed counts. Use for cohort/track analytics.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "track_id": { "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": "string" } }, "required": [ "track_id" ], "type": "object" }, "name": "hivelearn_get_track_progress", "outputSchema": null }, { "description": "Review an assignment submission: sets status (reviewed, approved, revision_requested, submitted) and instructor feedback, recorded as reviewed by the API key's creator. This changes a member's record and the student will see it. revision_requested requires feedback. Requires write:grades.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "feedback": { "description": "Feedback shown to the student", "maxLength": 10000, "type": "string" }, "id": { "description": "Submission uuid", "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": "string" }, "status": { "enum": [ "submitted", "reviewed", "approved", "revision_requested" ], "type": "string" } }, "required": [ "id", "status" ], "type": "object" }, "name": "hivelearn_grade_assignment_submission", "outputSchema": null }, { "description": "List the key creator's AI course generation jobs in this community, newest first, with status and progress. Needs scope read:ai.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" } }, "type": "object" }, "name": "hivelearn_list_ai_jobs", "outputSchema": null }, { "description": "List assignment submissions in the community, newest first, with student profile and lesson title. Filter by course_id, lesson_id or status. Requires read:courses.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "course_id": { "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": "string" }, "lesson_id": { "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": "string" }, "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "status": { "enum": [ "submitted", "reviewed", "approved", "revision_requested" ], "type": "string" } }, "type": "object" }, "name": "hivelearn_list_assignment_submissions", "outputSchema": null }, { "description": "List issued certificates, optionally scoped to one user or one course. Returns id, user, course, verification_code, status, issued_at.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "course_id": { "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": "string" }, "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "user_id": { "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": "string" } }, "type": "object" }, "name": "hivelearn_list_certificates", "outputSchema": null }, { "description": "List lessons of a course, optionally filtered to one module. Use hivelearn_get_course_structure for a nested tree.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "course_id": { "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": "string" }, "module_id": { "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": "string" } }, "required": [ "course_id" ], "type": "object" }, "name": "hivelearn_list_course_lessons", "outputSchema": null }, { "description": "List modules (sections) of a course, ordered by sort_order. Modules group lessons; a course has 1..N modules.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "course_id": { "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": "string" } }, "required": [ "course_id" ], "type": "object" }, "name": "hivelearn_list_course_modules", "outputSchema": null }, { "description": "List courses in the authenticated community. status=published returns only courses visible to learners. Returns id, title, visibility, is_published, thumbnail_url, timestamps.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "status": { "description": "Defaults to \"all\"", "enum": [ "draft", "published", "all" ], "type": "string" } }, "type": "object" }, "name": "hivelearn_list_courses", "outputSchema": null }, { "description": "List replies in a discussion, oldest first. Returns id, content, parent_reply_id, is_accepted_answer, author, likes_count.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "id": { "description": "Discussion uuid", "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": "string" }, "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_list_discussion_replies", "outputSchema": null }, { "description": "List published discussions (forum threads), pinned first then newest. Returns id, title, content, category, tags, reply/like counts, is_locked, author.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "category": { "description": "Filter by exact category", "type": "string" }, "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" } }, "type": "object" }, "name": "hivelearn_list_discussions", "outputSchema": null }, { "description": "List course enrollments, optionally scoped to one course or one user. Returns enrollment_id, user_id, course_id, status, progress %, enrolled_at, completed_at.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "course_id": { "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": "string" }, "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "user_id": { "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": "string" } }, "type": "object" }, "name": "hivelearn_list_enrollments", "outputSchema": null }, { "description": "List an event's attendees with check-in status and basic profile. source='rsvp' (default) for free RSVPs, 'ticket' for paid ticket purchases. Requires scope read:events.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "event_id": { "description": "Event UUID", "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": "string" }, "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "payment_status": { "description": "Filter tickets (source=ticket)", "enum": [ "pending", "succeeded", "failed", "refunded", "partially_refunded" ], "type": "string" }, "rsvp_status": { "description": "Filter RSVPs (source=rsvp)", "enum": [ "going", "maybe", "not_going" ], "type": "string" }, "source": { "description": "'rsvp' (default) or 'ticket'", "enum": [ "rsvp", "ticket" ], "type": "string" } }, "required": [ "event_id" ], "type": "object" }, "name": "hivelearn_list_event_attendees", "outputSchema": null }, { "description": "List an event's waitlist in queue order (oldest first) with position and basic profile. Requires scope read:events.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "event_id": { "description": "Event UUID", "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": "string" }, "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" } }, "required": [ "event_id" ], "type": "object" }, "name": "hivelearn_list_event_waitlist", "outputSchema": null }, { "description": "List community events. Use upcoming=true for future events only (recommended for calendar UI). Returns id, title, start/end dates, event_type, location/meeting_url, attendee counts.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "upcoming": { "description": "If true, only events with start_date in the future", "type": "boolean" } }, "type": "object" }, "name": "hivelearn_list_events", "outputSchema": null }, { "description": "List private admin notes on a member, newest first.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "user_id": { "description": "Member's user (profile) uuid, not the membership row id", "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": "string" } }, "required": [ "user_id" ], "type": "object" }, "name": "hivelearn_list_member_notes", "outputSchema": null }, { "description": "List the tags assigned to a member.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "user_id": { "description": "Member's user (profile) uuid, not the membership row id", "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": "string" } }, "required": [ "user_id" ], "type": "object" }, "name": "hivelearn_list_member_tag_assignments", "outputSchema": null }, { "description": "List the community's member tags (id, name, color).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" } }, "type": "object" }, "name": "hivelearn_list_member_tags", "outputSchema": null }, { "description": "List members of the authenticated community. Returns id (profile uuid), role, email, display_name, avatar_url, and joined_at. Filter by role to find admins/owners.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "role": { "description": "Restrict to a single role", "enum": [ "owner", "admin", "moderator", "member" ], "type": "string" } }, "type": "object" }, "name": "hivelearn_list_members", "outputSchema": null }, { "description": "List comments on a feed post, oldest first. Returns id, content, parent_comment_id, author, likes_count, timestamps. 404 if the post is not in this community.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "post_id": { "description": "Post uuid (from list_posts)", "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": "string" } }, "required": [ "post_id" ], "type": "object" }, "name": "hivelearn_list_post_comments", "outputSchema": null }, { "description": "List community feed posts, newest first. Use category to filter (e.g. \"announcements\"). Returns id, title, content, category, author, reply counts, timestamps.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "category": { "description": "Filter by category slug", "type": "string" }, "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" } }, "type": "object" }, "name": "hivelearn_list_posts", "outputSchema": null }, { "description": "List the questions in a bank, WITH the answer key (is_correct, pairs/items, explanation). Authoring view for admins.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "bank_id": { "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": "string" }, "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" } }, "required": [ "bank_id" ], "type": "object" }, "name": "hivelearn_list_question_bank_items", "outputSchema": null }, { "description": "List question banks (reusable question pools that bank-draw quizzes sample from), newest first.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" } }, "type": "object" }, "name": "hivelearn_list_question_banks", "outputSchema": null }, { "description": "List attempts for one quiz: learner, score (0-100), points, passed, started_at and completed_at (null = in progress). Never includes answers or answer keys. Requires read:courses.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "quiz_id": { "description": "Quiz uuid", "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": "string" }, "user_id": { "description": "Only this learner", "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": "string" } }, "required": [ "quiz_id" ], "type": "object" }, "name": "hivelearn_list_quiz_attempts", "outputSchema": null }, { "description": "List all questions for a quiz, ordered by sort_order. Each question carries its options and correct answer.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "quiz_id": { "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": "string" } }, "required": [ "quiz_id" ], "type": "object" }, "name": "hivelearn_list_quiz_questions", "outputSchema": null }, { "description": "List quizzes, optionally scoped to a course or a specific lesson. Each quiz belongs to one lesson.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "course_id": { "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": "string" }, "lesson_id": { "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": "string" }, "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" } }, "type": "object" }, "name": "hivelearn_list_quizzes", "outputSchema": null }, { "description": "List resource-library folders in the authenticated community, ordered by position then name. Folders nest via parent_folder_id; pass parent_folder_id=\"root\" for top-level only, or a folder id for its children. Each folder includes resource_count.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "parent_folder_id": { "description": "Folder id, or \"root\" for top-level folders", "type": "string" } }, "type": "object" }, "name": "hivelearn_list_resource_folders", "outputSchema": null }, { "description": "List published resources in the authenticated community, newest first. Filter by folder_id, resource_type, or access_level. Returns id, title, resource_type, resource_url/file_url, access_level, counts (downloads, views, favorites), author. The internal storage key is never exposed.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "access_level": { "enum": [ "public", "members", "premium" ], "type": "string" }, "folder_id": { "description": "Filter to a single resource folder", "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": "string" }, "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "resource_type": { "enum": [ "guide", "toolkit", "course", "checklist", "template", "other" ], "type": "string" } }, "type": "object" }, "name": "hivelearn_list_resources", "outputSchema": null }, { "description": "List members matching a segment's rules, evaluated server-side the same way the admin CRM does.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "segment_id": { "description": "Segment uuid", "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": "string" } }, "required": [ "segment_id" ], "type": "object" }, "name": "hivelearn_list_segment_members", "outputSchema": null }, { "description": "List saved member segments with their filter rules.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" } }, "type": "object" }, "name": "hivelearn_list_segments", "outputSchema": null }, { "description": "Return the ordered curriculum of a track: its courses with sort_order, is_required, and unlock_after_course_id (prerequisite gating).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "track_id": { "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": "string" } }, "required": [ "track_id" ], "type": "object" }, "name": "hivelearn_list_track_courses", "outputSchema": null }, { "description": "List published learning tracks (curated course sequences) in the community, newest first. Returns id, title, description, difficulty_level, estimated_hours, flags.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "description": "Page size, default 20", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Rows to skip, default 0", "maximum": 9007199254740991, "minimum": 0, "type": "integer" } }, "type": "object" }, "name": "hivelearn_list_tracks", "outputSchema": null }, { "description": "Publish a course: sets is_published=true after validating that every lesson has content_url. Returns error if any lesson is still empty — run hivelearn_get_course_structure to diagnose.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "id": { "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": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_publish_course", "outputSchema": null }, { "description": "Set the full lesson order within a module in one atomic call. Pass the desired final order as lesson_ids — every lesson currently in the module must appear exactly once.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "lesson_ids": { "items": { "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": "string" }, "minItems": 1, "type": "array" }, "module_id": { "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": "string" } }, "required": [ "module_id", "lesson_ids" ], "type": "object" }, "name": "hivelearn_reorder_module_lessons", "outputSchema": null }, { "description": "Change a certificate status. Use \"revoked\" to invalidate (verify endpoint will reject).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "id": { "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": "string" }, "status": { "enum": [ "active", "revoked", "expired" ], "type": "string" } }, "required": [ "id", "status" ], "type": "object" }, "name": "hivelearn_update_certificate", "outputSchema": null }, { "description": "Edit course metadata. Use hivelearn_publish_course instead of setting is_published=true directly — publish runs validation.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "description_format": { "enum": [ "markdown", "tiptap_json" ], "type": "string" }, "description_json": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "difficulty": { "anyOf": [ { "enum": [ "beginner", "intermediate", "advanced" ], "type": "string" }, { "type": "null" } ] }, "id": { "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": "string" }, "instructor_avatar_url": { "anyOf": [ { "format": "uri", "type": "string" }, { "type": "null" } ] }, "instructor_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "is_featured": { "type": "boolean" }, "is_pinned": { "type": "boolean" }, "is_published": { "type": "boolean" }, "tags": { "items": { "type": "string" }, "type": "array" }, "thumbnail_url": { "anyOf": [ { "format": "uri", "type": "string" }, { "type": "null" } ] }, "title": { "type": "string" }, "visibility": { "enum": [ "all_members", "admin_only" ], "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_update_course", "outputSchema": null }, { "description": "Edit an event. Set is_cancelled=true to cancel (preserves history). Set max_attendees=null to lift the cap.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "cover_image_url": { "format": "uri", "type": "string" }, "description": { "type": "string" }, "description_format": { "enum": [ "markdown", "tiptap_json" ], "type": "string" }, "description_json": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "end_date": { "type": "string" }, "event_type": { "enum": [ "virtual", "in-person", "hybrid" ], "type": "string" }, "id": { "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": "string" }, "is_cancelled": { "type": "boolean" }, "location": { "type": "string" }, "max_attendees": { "anyOf": [ { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, { "type": "null" } ] }, "meeting_url": { "format": "uri", "type": "string" }, "start_date": { "type": "string" }, "tags": { "items": { "type": "string" }, "type": "array" }, "timezone": { "type": "string" }, "title": { "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_update_event", "outputSchema": null }, { "description": "Edit lesson metadata or move it between modules. To edit ONLY the content body use hivelearn_update_lesson_content (narrower scope, safer).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "content_format": { "enum": [ "markdown", "tiptap_json" ], "type": "string" }, "content_json": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "content_type": { "enum": [ "youtube", "google_drive", "video", "image", "document", "pitch" ], "type": "string" }, "content_url": { "format": "uri", "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "duration_seconds": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "id": { "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": "string" }, "is_preview": { "type": "boolean" }, "is_published": { "type": "boolean" }, "module_id": { "anyOf": [ { "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": "string" }, { "type": "null" } ] }, "sort_order": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "thumbnail_url": { "anyOf": [ { "format": "uri", "type": "string" }, { "type": "null" } ] }, "title": { "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_update_lesson", "outputSchema": null }, { "description": "Replace just the content of a lesson — URL, content_type, and optional description/duration/thumbnail. Narrower than update_lesson; safe for bulk agent writes. Does NOT change title, sort_order, or module assignment.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "content_format": { "enum": [ "markdown", "tiptap_json" ], "type": "string" }, "content_json": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "content_type": { "enum": [ "youtube", "google_drive", "video", "image", "document", "pitch" ], "type": "string" }, "content_url": { "format": "uri", "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "duration_seconds": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "id": { "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": "string" }, "thumbnail_url": { "anyOf": [ { "format": "uri", "type": "string" }, { "type": "null" } ] } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_update_lesson_content", "outputSchema": null }, { "description": "Change a member's role or ban status. role accepts member/moderator/admin (owner cannot be assigned via the API). Set is_banned=true to ban, false to lift. At least one field required.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "id": { "description": "Profile uuid (matches the id from list_members)", "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": "string" }, "is_banned": { "type": "boolean" }, "role": { "enum": [ "member", "moderator", "admin" ], "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_update_member", "outputSchema": null }, { "description": "Rename or reorder a module. To reorder lessons within a module use hivelearn_reorder_module_lessons.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "id": { "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": "string" }, "sort_order": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "title": { "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_update_module", "outputSchema": null }, { "description": "Edit an existing post. Only include fields you want to change. Use is_pinned to pin/unpin a post from the top of the feed.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "category": { "type": "string" }, "content": { "type": "string" }, "content_format": { "enum": [ "markdown", "tiptap_json" ], "type": "string" }, "content_json": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "id": { "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": "string" }, "is_pinned": { "type": "boolean" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_update_post", "outputSchema": null }, { "description": "Rename a question bank or change its description.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "description": { "anyOf": [ { "maxLength": 5000, "type": "string" }, { "type": "null" } ] }, "id": { "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": "string" }, "name": { "maxLength": 200, "minLength": 1, "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_update_question_bank", "outputSchema": null }, { "description": "Edit a bank question. Changing question_type or any answer field rebuilds the answer key, so resupply the answer field for the (new) type.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "accepted_answers": { "description": "fill_in_blank only; matched case-insensitively", "items": { "minLength": 1, "type": "string" }, "type": "array" }, "correct_answer": { "description": "true_false only", "type": "boolean" }, "explanation": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "id": { "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": "string" }, "items": { "description": "ordering only; correct order is position 1..n, or array order if positions are omitted", "items": { "properties": { "id": { "type": "string" }, "position": { "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "text": { "minLength": 1, "type": "string" } }, "required": [ "text" ], "type": "object" }, "type": "array" }, "options": { "description": "multiple_choice (exactly one is_correct:true) or multi_select (one or more). 2-12 entries.", "items": { "properties": { "id": { "type": "string" }, "is_correct": { "type": "boolean" }, "text": { "minLength": 1, "type": "string" } }, "required": [ "text" ], "type": "object" }, "type": "array" }, "pairs": { "description": "matching only; at least 2 pairs", "items": { "properties": { "id": { "type": "string" }, "left": { "minLength": 1, "type": "string" }, "right": { "minLength": 1, "type": "string" } }, "required": [ "left", "right" ], "type": "object" }, "type": "array" }, "points": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "question_text": { "minLength": 1, "type": "string" }, "question_type": { "enum": [ "multiple_choice", "true_false", "fill_in_blank", "multi_select", "matching", "ordering" ], "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_update_question_bank_item", "outputSchema": null }, { "description": "Edit quiz settings. Cannot move a quiz to a different lesson — create a new one instead.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "id": { "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": "string" }, "max_attempts": { "anyOf": [ { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, { "type": "null" } ] }, "passing_score": { "maximum": 100, "minimum": 0, "type": "integer" }, "shuffle_questions": { "type": "boolean" }, "time_limit_seconds": { "anyOf": [ { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, { "type": "null" } ] }, "title": { "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_update_quiz", "outputSchema": null }, { "description": "Edit a question. Sending question_type or any answer field (options, correct_answer, accepted_answers, pairs, items) rebuilds the answer key, so supply the full answer for the effective type.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "accepted_answers": { "description": "fill_in_blank only; matched case-insensitively", "items": { "minLength": 1, "type": "string" }, "type": "array" }, "correct_answer": { "description": "true_false only", "type": "boolean" }, "explanation": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "id": { "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": "string" }, "items": { "description": "ordering only; correct order is position 1..n, or array order if positions are omitted", "items": { "properties": { "id": { "type": "string" }, "position": { "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "text": { "minLength": 1, "type": "string" } }, "required": [ "text" ], "type": "object" }, "type": "array" }, "options": { "description": "multiple_choice (exactly one is_correct:true) or multi_select (one or more). 2-12 entries.", "items": { "properties": { "id": { "type": "string" }, "is_correct": { "type": "boolean" }, "text": { "minLength": 1, "type": "string" } }, "required": [ "text" ], "type": "object" }, "type": "array" }, "pairs": { "description": "matching only; at least 2 pairs", "items": { "properties": { "id": { "type": "string" }, "left": { "minLength": 1, "type": "string" }, "right": { "minLength": 1, "type": "string" } }, "required": [ "left", "right" ], "type": "object" }, "type": "array" }, "points": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "question_text": { "type": "string" }, "question_type": { "enum": [ "multiple_choice", "true_false", "fill_in_blank", "multi_select", "matching", "ordering" ], "type": "string" }, "sort_order": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_update_quiz_question", "outputSchema": null }, { "description": "Edit a resource. Only include fields you want to change. Set is_featured to surface it; set is_published=false to unlist.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "access_level": { "enum": [ "public", "members", "premium" ], "type": "string" }, "cover_image_url": { "anyOf": [ { "format": "uri", "type": "string" }, { "type": "null" } ] }, "description": { "maxLength": 20000, "type": "string" }, "file_url": { "format": "uri", "type": "string" }, "folder_id": { "anyOf": [ { "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": "string" }, { "type": "null" } ] }, "id": { "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": "string" }, "is_featured": { "type": "boolean" }, "is_premium": { "type": "boolean" }, "is_published": { "type": "boolean" }, "price": { "anyOf": [ { "exclusiveMinimum": 0, "type": "number" }, { "type": "null" } ] }, "resource_type": { "enum": [ "guide", "toolkit", "course", "checklist", "template", "other" ], "type": "string" }, "resource_url": { "format": "uri", "type": "string" }, "tags": { "items": { "maxLength": 50, "type": "string" }, "maxItems": 20, "type": "array" }, "title": { "maxLength": 200, "minLength": 1, "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_update_resource", "outputSchema": null }, { "description": "Update a resource folder (rename, recolor, reorder, reprice, or move). parent_folder_id=null moves it to top level; moving a folder into itself or a descendant is rejected. Only supplied fields change.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "color": { "description": "#RRGGBB hex color", "pattern": "^#[0-9A-Fa-f]{6}$", "type": "string" }, "description": { "anyOf": [ { "maxLength": 2000, "type": "string" }, { "type": "null" } ] }, "icon": { "maxLength": 50, "minLength": 1, "type": "string" }, "id": { "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": "string" }, "name": { "maxLength": 100, "minLength": 1, "type": "string" }, "parent_folder_id": { "anyOf": [ { "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": "string" }, { "type": "null" } ] }, "position": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "price": { "anyOf": [ { "exclusiveMinimum": 0, "type": "number" }, { "type": "null" } ] } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_update_resource_folder", "outputSchema": null }, { "description": "Edit a learning track. Only include fields you want to change. Set is_published=true to make it live.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "description": { "maxLength": 20000, "type": "string" }, "difficulty_level": { "enum": [ "beginner", "intermediate", "advanced" ], "type": "string" }, "estimated_hours": { "anyOf": [ { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, { "type": "null" } ] }, "id": { "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": "string" }, "is_featured": { "type": "boolean" }, "is_published": { "type": "boolean" }, "thumbnail_url": { "anyOf": [ { "format": "uri", "type": "string" }, { "type": "null" } ] }, "title": { "maxLength": 200, "minLength": 1, "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "hivelearn_update_track", "outputSchema": null }, { "description": "Public verification lookup by verification_code. Returns { valid, certificate } if found and active. Use this when a third party presents a certificate code.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "code": { "description": "The verification_code printed on the certificate", "minLength": 1, "type": "string" } }, "required": [ "code" ], "type": "object" }, "name": "hivelearn_verify_certificate", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:c01942b7857867afe5bf1bb0b0738b748ccbbb1ae619f72e2865026dc04a56b9 | sha256sum