Mighty Networks Comments and Reactions API

Manage engagement on content - create, list, get, and delete comments on posts, add and remove reactions on posts and comments, and mute or unmute a post for a specific user.

OpenAPI Specification

mighty-networks-admin-api-openapi.json Raw ↑
{"openapi":"3.1.0","info":{"version":"1.0.0","title":"The Mighty Networks Admin API","description":"An API for managing your Mighty Networks network"},"servers":[{"url":"https://api.mn.co","description":"Production"}],"tags":[{"name":"Members","description":"Manage members of your network"},{"name":"Courseworks","description":"Manage course content (lessons, quizzes, sections)"},{"name":"Reactions","description":"Manage reactions on comments"},{"name":"Mute","description":"Mute posts for users"},{"name":"Comments","description":"Manage comments on posts"},{"name":"Invites","description":"Invites allow you to invite users to your network"},{"name":"Tags","description":"Manage tags for your network"},{"name":"Spaces","description":"Spaces are the organizational units within a Network where content and members are organized"},{"name":"Plans","description":"Manage plans in your network"},{"name":"PasswordResets","description":"Manage member password resets"},{"name":"Badges","description":"Manage badges for your network"},{"name":"Rsvps","description":"Manage event RSVPs for your network"},{"name":"Options","description":"Manage dropdown custom field options"},{"name":"Answers","description":"Manage member responses to custom fields"},{"name":"Subscriptions","description":"Manage payment subscriptions - recurring payments from members to hosts for plans"},{"name":"Purchases","description":"Manage purchases and subscriptions for your network"},{"name":"Posts","description":"Posts also include Articles."},{"name":"Polls","description":"Polls and Questions allow members to share opinions and engage with each other"},{"name":"Networks","description":"Networks are the top-level organizational unit under which other resources are nested"},{"name":"Me","description":"Metadata about the requesting user"},{"name":"Events","description":"Events are scheduled gatherings that members can RSVP to and engage with"},{"name":"CustomFields","description":"Manage custom fields for your network"},{"name":"Collections","description":"Manage collections in your network"},{"name":"Assets","description":"Manage assets for your network"},{"name":"AbuseReports","description":"Manage abuse reports for your network"}],"paths":{"/admin/v1/networks/{network_id}/spaces/{space_id}/members":{"get":{"summary":"Return members of the given space","operationId":"list_members","tags":["Members"],"parameters":[{"name":"space_id","in":"path","required":true,"description":"ID of the space","schema":{"type":"integer","format":"uint64"}},{"name":"page","in":"query","required":false,"description":"Page number for pagination","schema":{"type":"integer","format":"uint64"}},{"name":"per_page","in":"query","required":false,"description":"Items per page (max 100)","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"responses":{"200":{"description":"A paginated set of member objects","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberResponsePaged"}}}},"404":{"description":"Space not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"summary":"Add a user as a member to the space","operationId":"create_members","tags":["Members"],"parameters":[{"name":"space_id","in":"path","required":true,"description":"ID of the space","schema":{"type":"integer","format":"uint64"}},{"name":"user_id","in":"query","required":true,"description":"ID of the user to add","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"responses":{"200":{"description":"The newly created member object","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberResponse"}}}},"404":{"description":"User or space not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation error (e.g., user already a member)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/admin/v1/networks/{network_id}/spaces/{space_id}/members/{user_id}/":{"get":{"summary":"Return a single member by user ID","operationId":"show_member","tags":["Members"],"parameters":[{"name":"space_id","in":"path","required":true,"description":"ID of the space","schema":{"type":"integer","format":"uint64"}},{"name":"user_id","in":"path","required":true,"description":"ID of the user","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"responses":{"200":{"description":"A member object","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberResponse"}}}},"404":{"description":"Member not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"summary":"Update a member's role in the space","operationId":"update_members","tags":["Members"],"parameters":[{"name":"space_id","in":"path","required":true,"description":"ID of the space","schema":{"type":"integer","format":"uint64"}},{"name":"user_id","in":"path","required":true,"description":"ID of the user","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"requestBody":{"description":"Submit results as JSON","required":true,"content":{"application/json":{"schema":{"description":"Request body for updating a member's role and profile information","type":"object","properties":{"role":{"type":"string","description":"New role for the member (host, moderator, contributor)","example":"moderator"},"email":{"type":"string","format":"email","description":"New email address for the member","example":"newemail@example.com"},"first_name":{"type":"string","description":"New first name for the member","example":"Jane"},"last_name":{"type":"string","description":"New last name for the member","example":"Smith"}}}}}},"responses":{"200":{"description":"The updated member object","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberResponse"}}}},"404":{"description":"Member not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Invalid role value","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"put":{"summary":"Update a member's role in the space","operationId":"replace_members","tags":["Members"],"parameters":[{"name":"space_id","in":"path","required":true,"description":"ID of the space","schema":{"type":"integer","format":"uint64"}},{"name":"user_id","in":"path","required":true,"description":"ID of the user","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"requestBody":{"description":"Submit results as JSON","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberUpdateRequest"}}}},"responses":{"200":{"description":"The updated member object","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberResponse"}}}},"404":{"description":"Member not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Invalid role value","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"summary":"Remove a member from the space","operationId":"delete_members","tags":["Members"],"parameters":[{"name":"space_id","in":"path","required":true,"description":"ID of the space","schema":{"type":"integer","format":"uint64"}},{"name":"user_id","in":"path","required":true,"description":"ID of the user to remove","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"responses":{"200":{"description":"User successfully removed from space (returns empty object)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyResponse"}}}},"403":{"description":"Member cannot be removed while they hold a paid plan in this space","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/admin/v1/networks/{network_id}/spaces/{space_id}/members/{user_id}/ban":{"post":{"summary":"Ban a user from the network","operationId":"create_members","tags":["Members"],"parameters":[{"name":"space_id","in":"path","required":true,"description":"ID of the space","schema":{"type":"integer","format":"uint64"}},{"name":"user_id","in":"path","required":true,"description":"ID of the user to ban","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"requestBody":{"description":"Submit results as JSON","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BanRequest"}}}},"responses":{"200":{"description":"User successfully banned (returns empty object)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyResponse"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/admin/v1/networks/{network_id}/spaces/{space_id}/courseworks":{"get":{"summary":"Returns a list of coursework items for the given space (course)","operationId":"list_courseworks","tags":["Courseworks"],"parameters":[{"name":"space_id","in":"path","required":true,"description":"The ID of the course (space) to fetch coursework from","schema":{"type":"integer","format":"uint64"}},{"name":"type","in":"query","required":false,"description":"Filter by coursework type (lesson, quiz, section, overview)","schema":{"type":"string"}},{"name":"parent_id","in":"query","required":false,"description":"Filter by parent coursework ID","schema":{"type":"integer","format":"uint64"}},{"name":"status","in":"query","required":false,"description":"Filter by visibility status (posted, hidden, pending)","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Page number for pagination","schema":{"type":"integer","format":"uint64"}},{"name":"per_page","in":"query","required":false,"description":"Items per page (max 100)","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"responses":{"200":{"description":"A paginated set of coursework items","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourseworkResponsePaged"}}}},"404":{"description":"Space not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"summary":"Create a new coursework item (lesson, quiz, or section)","operationId":"create_courseworks","tags":["Courseworks"],"parameters":[{"name":"space_id","in":"path","required":true,"description":"The ID of the course (space) to create coursework in","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"requestBody":{"description":"Submit results as JSON","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourseworkRequest"}}}},"responses":{"201":{"description":"Returns the newly created coursework item","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourseworkResponse"}}}},"404":{"description":"Space or parent not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Invalid coursework data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/admin/v1/networks/{network_id}/spaces/{space_id}/courseworks/{id}/":{"get":{"summary":"Returns a single coursework item by ID","operationId":"show_coursework","tags":["Courseworks"],"parameters":[{"name":"space_id","in":"path","required":true,"description":"The ID of the course (space)","schema":{"type":"integer","format":"uint64"}},{"name":"id","in":"path","required":true,"description":"The ID of the coursework item","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"responses":{"200":{"description":"A coursework item","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourseworkResponse"}}}},"404":{"description":"Coursework not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"summary":"Update an existing coursework item","operationId":"update_courseworks","tags":["Courseworks"],"parameters":[{"name":"space_id","in":"path","required":true,"description":"The ID of the course (space)","schema":{"type":"integer","format":"uint64"}},{"name":"id","in":"path","required":true,"description":"The ID of the coursework item to update","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"requestBody":{"description":"Submit results as JSON","required":true,"content":{"application/json":{"schema":{"description":"Update fields for a coursework item","type":"object","properties":{"title":{"type":"string","description":"The title of the coursework item"},"description":{"type":"string","description":"The description/body content of the coursework item"},"status":{"type":"string","description":"The visibility status (posted, hidden, pending)"},"parent_id":{"type":"integer","format":"uint64","description":"Move to a new parent coursework item (section or overview)"},"completion_criteria":{"type":"string","description":"How completion is tracked (none, visited, button, video, minimum_correct_percentage)"},"unlocking_criteria":{"type":"string","description":"When content becomes available (none, sequential, time_from_course_join, scheduled_date)"}}}}}},"responses":{"200":{"description":"Returns the updated coursework item","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourseworkResponse"}}}},"404":{"description":"Coursework not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Invalid coursework data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"put":{"summary":"Update an existing coursework item","operationId":"replace_courseworks","tags":["Courseworks"],"parameters":[{"name":"space_id","in":"path","required":true,"description":"The ID of the course (space)","schema":{"type":"integer","format":"uint64"}},{"name":"id","in":"path","required":true,"description":"The ID of the coursework item to update","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"requestBody":{"description":"Submit results as JSON","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourseworkUpdateRequest"}}}},"responses":{"200":{"description":"Returns the updated coursework item","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourseworkResponse"}}}},"404":{"description":"Coursework not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Invalid coursework data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"summary":"Delete a coursework item","operationId":"delete_courseworks","tags":["Courseworks"],"parameters":[{"name":"space_id","in":"path","required":true,"description":"The ID of the course (space)","schema":{"type":"integer","format":"uint64"}},{"name":"id","in":"path","required":true,"description":"The ID of the coursework item to delete","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"responses":{"204":{"description":"Coursework successfully deleted"},"404":{"description":"Coursework not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/admin/v1/networks/{network_id}/posts/{post_id}/reactions":{"get":{"summary":"Returns a list of reactions for a specific post","operationId":"list_reactions","tags":["Reactions"],"parameters":[{"name":"post_id","in":"path","required":true,"description":"The ID of the post","schema":{"type":"integer","format":"uint64"}},{"name":"page","in":"query","required":false,"description":"Page number for pagination","schema":{"type":"integer","format":"uint64"}},{"name":"per_page","in":"query","required":false,"description":"Items per page (max 100)","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"responses":{"200":{"description":"A paginated set of reaction objects","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReactionResponsePaged"}}}},"404":{"description":"Post not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"summary":"Create a new reaction on a post","operationId":"create_reactions","tags":["Reactions"],"parameters":[{"name":"post_id","in":"path","required":true,"description":"The ID of the post","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"requestBody":{"description":"Submit results as JSON","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReactionRequest"}}}},"responses":{"201":{"description":"Returns the newly created reaction on success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReactionResponse"}}}},"404":{"description":"Post not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Invalid reaction data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"summary":"Delete the reaction from a post","operationId":"delete_reactions","tags":["Reactions"],"parameters":[{"name":"post_id","in":"path","required":true,"description":"The ID of the post","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"responses":{"204":{"description":"Reaction successfully deleted"},"404":{"description":"Post or reaction not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/admin/v1/networks/{network_id}/posts/{post_id}/mute":{"post":{"summary":"Mute a post for a specific user (unfollow notifications)","operationId":"create_mute","tags":["Mute"],"parameters":[{"name":"post_id","in":"path","required":true,"description":"The ID of the post","schema":{"type":"integer","format":"uint64"}},{"name":"user_id","in":"query","required":true,"description":"The ID of the user to mute the post for","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"responses":{"204":{"description":"Post successfully muted for the user"},"404":{"description":"Post or user not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"summary":"Unmute a post for a specific user (refollow notifications)","operationId":"delete_mute","tags":["Mute"],"parameters":[{"name":"post_id","in":"path","required":true,"description":"The ID of the post","schema":{"type":"integer","format":"uint64"}},{"name":"user_id","in":"query","required":true,"description":"The ID of the user to unmute the post for","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"responses":{"204":{"description":"Post successfully unmuted for the user"},"404":{"description":"Post or user not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/admin/v1/networks/{network_id}/posts/{post_id}/comments":{"get":{"summary":"Returns a list of comments for a specific post","operationId":"list_comments","tags":["Comments"],"parameters":[{"name":"post_id","in":"path","required":true,"description":"The ID of the post","schema":{"type":"integer","format":"uint64"}},{"name":"page","in":"query","required":false,"description":"Page number for pagination","schema":{"type":"integer","format":"uint64"}},{"name":"per_page","in":"query","required":false,"description":"Items per page (max 100)","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"responses":{"200":{"description":"A paginated set of comment objects","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentResponsePaged"}}}},"404":{"description":"Post not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"summary":"Create a new comment on a post","operationId":"create_comments","tags":["Comments"],"parameters":[{"name":"post_id","in":"path","required":true,"description":"The ID of the post","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"requestBody":{"description":"Submit results as JSON","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentRequest"}}}},"responses":{"201":{"description":"Returns the newly created comment on success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentResponse"}}}},"404":{"description":"Post not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Invalid comment data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/admin/v1/networks/{network_id}/posts/{post_id}/comments/{id}/":{"get":{"summary":"Query details of a specific comment by its ID","operationId":"show_comment","tags":["Comments"],"parameters":[{"name":"post_id","in":"path","required":true,"description":"The ID of the post","schema":{"type":"integer","format":"uint64"}},{"name":"id","in":"path","required":true,"description":"The ID of the comment","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"responses":{"200":{"description":"Details about the requested comment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentResponse"}}}},"404":{"description":"Post or comment not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"summary":"Delete a comment from a post","operationId":"delete_comments","tags":["Comments"],"parameters":[{"name":"post_id","in":"path","required":true,"description":"The ID of the post","schema":{"type":"integer","format":"uint64"}},{"name":"id","in":"path","required":true,"description":"The ID of the comment to delete","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"responses":{"204":{"description":"Comment successfully deleted"},"404":{"description":"Post or comment not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/admin/v1/networks/{network_id}/plans/{plan_id}/members":{"get":{"summary":"Return members of the given plan","operationId":"list_members","tags":["Members"],"parameters":[{"name":"plan_id","in":"path","required":true,"description":"The ID of the plan","schema":{"type":"integer","format":"uint64"}},{"name":"page","in":"query","required":false,"description":"Page number for pagination","schema":{"type":"integer","format":"uint64"}},{"name":"per_page","in":"query","required":false,"description":"Items per page (max 100)","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"responses":{"200":{"description":"A paginated set of member objects","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberResponsePaged"}}}},"404":{"description":"Plan not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"summary":"Add a member directly to a free/nonpaid plan, granting them access\n\nThe member will be granted access immediately; no invite is sent.\n","operationId":"create_members","tags":["Members"],"parameters":[{"name":"plan_id","in":"path","required":true,"description":"The ID of the plan","schema":{"type":"integer","format":"uint64"}},{"name":"user_id","in":"query","required":false,"description":"The user ID to add","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"responses":{"200":{"description":"The plan object with the member added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanResponse"}}}},"404":{"description":"Plan or user not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Invalid parameters or user already has access","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/admin/v1/networks/{network_id}/plans/{plan_id}/members/{member_id}/":{"get":{"summary":"Return a single member by member ID","operationId":"show_member","tags":["Members"],"parameters":[{"name":"plan_id","in":"path","required":true,"description":"The ID of the plan","schema":{"type":"integer","format":"uint64"}},{"name":"member_id","in":"path","required":true,"description":"The ID of the member","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"responses":{"200":{"description":"A member object","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberResponse"}}}},"404":{"description":"Member not found or does not have access to this plan","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/admin/v1/networks/{network_id}/plans/{plan_id}/invites":{"get":{"summary":"Return all invites for the given plan","operationId":"list_invites","tags":["Invites"],"parameters":[{"name":"plan_id","in":"path","required":true,"description":"The ID of the plan","schema":{"type":"integer","format":"uint64"}},{"name":"page","in":"query","required":false,"description":"Page number for pagination","schema":{"type":"integer","format":"uint64"}},{"name":"per_page","in":"query","required":false,"description":"Items per page (max 100)","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"responses":{"200":{"description":"A paginated set of invite objects","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteResponsePaged"}}}},"404":{"description":"Plan not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"summary":"Create an invite to a plan","operationId":"create_invites","tags":["Invites"],"parameters":[{"name":"plan_id","in":"path","required":true,"description":"The ID of the plan to invite to","schema":{"type":"integer","format":"uint64"}},{"name":"email","in":"query","required":false,"description":"The email address to invite","schema":{"type":"string"}},{"name":"user_id","in":"query","required":false,"description":"The user ID to invite","schema":{"type":"integer","format":"uint64"}},{"name":"message","in":"query","required":false,"description":"Optional invite message","schema":{"type":"string"}},{"$ref":"#/components/parameters/networkId"}],"responses":{"200":{"description":"The created invite","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteResponse"}}}},"404":{"description":"Plan not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Invalid invite parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/admin/v1/networks/{network_id}/plans/{plan_id}/invites/{id}/":{"get":{"summary":"Return a single invite by ID","operationId":"show_invite","tags":["Invites"],"parameters":[{"name":"plan_id","in":"path","required":true,"description":"The ID of the plan","schema":{"type":"integer","format":"uint64"}},{"name":"id","in":"path","required":true,"description":"The ID of the invite","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"responses":{"200":{"description":"An invite object","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteResponse"}}}},"404":{"description":"Invite not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"summary":"Resend an existing invite","operationId":"update_invites","tags":["Invites"],"parameters":[{"name":"plan_id","in":"path","required":true,"description":"The ID of the plan","schema":{"type":"integer","format":"uint64"}},{"name":"id","in":"path","required":true,"description":"The ID of the invite to resend","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"responses":{"200":{"description":"The updated invite","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteResponse"}}}},"404":{"description":"Invite not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Invalid invite (e.g., already converted)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"put":{"summary":"Resend an existing invite","operationId":"replace_invites","tags":["Invites"],"parameters":[{"name":"plan_id","in":"path","required":true,"description":"The ID of the plan","schema":{"type":"integer","format":"uint64"}},{"name":"id","in":"path","required":true,"description":"The ID of the invite to resend","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"responses":{"200":{"description":"The updated invite","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteResponse"}}}},"404":{"description":"Invite not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Invalid invite (e.g., already converted)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"summary":"Revoke an unaccepted invite","operationId":"delete_invites","tags":["Invites"],"parameters":[{"name":"plan_id","in":"path","required":true,"description":"The ID of the plan","schema":{"type":"integer","format":"uint64"}},{"name":"id","in":"path","required":true,"description":"The ID of the invite to revoke","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"responses":{"204":{"description":"Returns a 204 No-Content on success, with no response body"},"404":{"description":"Invite not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Returns a 409 Conflict when the invite has already been accepted. To revoke access to an invited member, use the Plan Members API","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/admin/v1/networks/{network_id}/members/{member_id}/tags":{"get":{"summary":"Return tags for the given member","operationId":"list_tags","tags":["Tags"],"parameters":[{"name":"member_id","in":"path","required":true,"description":"ID of the member","schema":{"type":"integer","format":"uint64"}},{"name":"page","in":"query","required":false,"description":"Page number for pagination","schema":{"type":"integer","format":"uint64"}},{"name":"per_page","in":"query","required":false,"description":"Items per page (max 100)","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"responses":{"200":{"description":"A paginated set of tag objects","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagResponsePaged"}}}},"404":{"description":"Member not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"summary":"Add a tag to a member","operationId":"create_tags","tags":["Tags"],"parameters":[{"name":"member_id","in":"path","required":true,"description":"ID of the member","schema":{"type":"integer","format":"uint64"}},{"$ref":"#/components/parameters/networkId"}],"requestBody":{"description":"Submit results as JSON","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberTagAddRequest"}}}},"responses":{"200":{"description":"The tag that was added to the member","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagResponse"}}}},"404":{"description":"Member or tag not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/admin/v1/networks/{network_id}/members/{member_id}/tags/{tag_id}/":{"get":{"summary":"Return a single tag by ID for the given member","operationI

# --- truncated at 32 KB (231 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mighty-networks/refs/heads/main/openapi/mighty-networks-admin-api-openapi.json