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 yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:c01942b7857867afe5bf1bb0b0738b748ccbbb1ae619f72e2865026dc04a56b9 | sha256sum