{
    "openapi": "3.0.0",
    "info": {
        "title": "Community API",
        "description": "",
        "version": "20260810123827"
    },
    "servers": [
        {
            "url": "/v2"
        }
    ],
    "paths": {
        "/topics": {
            "get": {
                "tags": [
                    "Unified content (Topics)"
                ],
                "summary": "List unified content (topics)",
                "description": "List and filter all unified content (topics). Optionally apply some filtering/sorting to find topics matching specific criteria. It's possible to list unified content from all categories, or filtered on specific categories. Only the first 10,000 topics matching the filter can be queried, requests for further topics will return a 422 error. *IMPORTANT NOTES* : 1) using parameters like categoryId and categoryIds simultaneously leads to their merging 2) using categoryId(s) and productAreaIds simultaneously gives OR effect",
                "operationId": "getTopicList",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "The search term which will match the title, content. Skipping this parameter will return all topics",
                        "schema": {
                            "type": "string"
                        },
                        "example": "search-term"
                    },
                    {
                        "$ref": "#/components/parameters/TopicPublicIds"
                    },
                    {
                        "$ref": "#/components/parameters/TopicCategoryId"
                    },
                    {
                        "$ref": "#/components/parameters/TopicCategoryIds"
                    },
                    {
                        "$ref": "#/components/parameters/TopicProductAreaIds"
                    },
                    {
                        "$ref": "#/components/parameters/ContentType"
                    },
                    {
                        "$ref": "#/components/parameters/TopicContentTypes"
                    },
                    {
                        "$ref": "#/components/parameters/TopicTags"
                    },
                    {
                        "$ref": "#/components/parameters/TopicModeratorTags"
                    },
                    {
                        "$ref": "#/components/parameters/TopicModerationLabels"
                    },
                    {
                        "$ref": "#/components/parameters/TopicCreatedAt"
                    },
                    {
                        "$ref": "#/components/parameters/TopicLastActivity"
                    },
                    {
                        "$ref": "#/components/parameters/TopicSort"
                    },
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/TopicList"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/categories/{id}/topics": {
            "get": {
                "tags": [
                    "Categories",
                    "Unified content (Topics)"
                ],
                "summary": "List unified content (topics) for a category",
                "description": "List and filter unified content (topics) for a specific category. Optionally apply some filtering/sorting to find topics matching specific criteria inside this category",
                "operationId": "getTopicListForCategory",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of the category to fetch topics for",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/TopicPublicIds"
                    },
                    {
                        "$ref": "#/components/parameters/TopicTags"
                    },
                    {
                        "$ref": "#/components/parameters/TopicModeratorTags"
                    },
                    {
                        "$ref": "#/components/parameters/TopicModerationLabels"
                    },
                    {
                        "$ref": "#/components/parameters/TopicCreatedAt"
                    },
                    {
                        "$ref": "#/components/parameters/TopicLastActivity"
                    },
                    {
                        "$ref": "#/components/parameters/TopicSort"
                    },
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/TopicList"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/topics/search": {
            "get": {
                "tags": [
                    "Unified content (Topics)"
                ],
                "summary": "Search by term across unified content",
                "description": "Perform a full text search on unified topics by passing a search term in the `q` parameter. The search will be performed against topic `title` and `content` fields. It's possible to specify additional optional filters to further limit the results. By default this endpoint will only return visible topics",
                "operationId": "search",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "The search term which will match the title, content. Skipping this parameter will return all topics",
                        "schema": {
                            "type": "string"
                        },
                        "example": "search-term"
                    },
                    {
                        "name": "trashed",
                        "in": "query",
                        "description": "Filter the search results by trashed status, for example to retrieve only trashed topics. Not passing this parameter will return only visible topics",
                        "schema": {
                            "type": "boolean"
                        },
                        "example": true
                    },
                    {
                        "name": "categories",
                        "in": "query",
                        "description": "A comma-separated list of category ids. Not passing this parameter will return topics from all categories",
                        "schema": {
                            "type": "string"
                        },
                        "example": [
                            "1",
                            "4",
                            "6"
                        ]
                    },
                    {
                        "name": "contentTypes",
                        "in": "query",
                        "description": "A comma-separated list of content types",
                        "schema": {
                            "type": "string"
                        },
                        "example": [
                            "article"
                        ]
                    },
                    {
                        "$ref": "#/components/parameters/TopicTags"
                    },
                    {
                        "$ref": "#/components/parameters/TopicModeratorTags"
                    },
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/TopicList"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/articles/create": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Create an article",
                "description": "A moderator can create an article in a category, providing the title and content. <br/><br/> An article is always created as a draft (which later can be published) and open (authors can reply to it). Moderators can optionally add public labels to provide more context about the type of article. It can also optionally have a featured image with a valid url. The allowed image extensions for featured image are `png`, `jpeg`, `jpg`, `gif`.<br/>Moderators can optionally create an article with a poll. A poll consists of a title and options. Existing authors can vote on the poll attached to an article. Authors can like (& unlike!) an article and individual replies to the article. <br /><br />Moderators can optionally create an article as closed, which means that only moderators can reply to it. Moderators can also optionally create an article sticky, which highlights the article at the top of the category on the community.",
                "operationId": "createArticle",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "The ID of the author of the article",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "The ID of the moderator who will create the article on behalf of the author (who in this case can be a registered user as well)",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateArticleRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Article created",
                        "headers": {
                            "Location": {
                                "description": "Article URL",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "id": {
                                            "description": "The private ID of the created article",
                                            "type": "string"
                                        },
                                        "publicId": {
                                            "description": "The public ID of the created article",
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "403": {
                        "$ref": "#/components/responses/CategoryRestricted"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/publish": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Publish an article",
                "description": "A valid `moderatorId` value is required to publish an article.",
                "operationId": "publishArticle",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator publishing the article",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Article published",
                        "headers": {
                            "Location": {
                                "description": "Article URL",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/reply": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Reply to an article",
                "operationId": "replyArticle",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    },
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "The ID of the author of this reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ReplyArticleRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Article was replied",
                        "headers": {
                            "Location": {
                                "description": "Article reply URL",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/like": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Like an article",
                "operationId": "likeArticle",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    },
                    {
                        "name": "likedBy",
                        "in": "query",
                        "description": "ID the author giving the like",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Article was liked"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/unlike": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Unlike an article",
                "operationId": "unlikeArticle",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    },
                    {
                        "name": "unlikedBy",
                        "in": "query",
                        "description": "ID the author revoking the like",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Like was revoked from the discussion"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/editContent": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Edit the opening post content of an article",
                "description": "Any moderator can change the content of an article.",
                "operationId": "editArticleContent",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author or moderator making the edits",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditArticleContentRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Article edited",
                        "headers": {
                            "Location": {
                                "description": "Article URL",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/editTitle": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Edit the title of an article",
                "operationId": "editArticleTitle",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator making the edits",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditArticleTitleRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Article edited",
                        "headers": {
                            "Location": {
                                "description": "Article URL",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/replies/{id}/like": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Like a reply",
                "operationId": "likeArticleReply",
                "parameters": [
                    {
                        "name": "likedBy",
                        "in": "query",
                        "description": "ID the author giving the like",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reply was liked"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/replies/{id}/unlike": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Unlike a reply",
                "operationId": "unlikeArticleReply",
                "parameters": [
                    {
                        "name": "unlikedBy",
                        "in": "query",
                        "description": "ID of the author who unlikes the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reply was liked"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/editModeratorTags": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Tag an article with moderator tags",
                "description": "A moderator can edit moderator tags for an article. Note that this will overwrite existing moderator tags.",
                "operationId": "editArticleModeratorTags",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the moderator tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditArticleModeratorTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Article moderator tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/editTags": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Tag an article with tags",
                "description": "A moderator can edit tags for an article. Note that this will overwrite existing tags.",
                "operationId": "editArticleTags",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author editing the article tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditArticleTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Article tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/tags/add": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Add public tags to an article",
                "description": "Adds one or more public tags without replacing existing tags.",
                "operationId": "addArticleTags",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author editing the article tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AddPublicTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Article tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/tags/remove": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Remove public tags from an article",
                "description": "Removes one or more public tags without affecting other tags on the article.",
                "operationId": "removeArticleTags",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author editing the article tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RemovePublicTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Article tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/moderator-tags/add": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Add moderator tags to an article",
                "description": "Adds one or more moderator tags without replacing existing tags.",
                "operationId": "addArticleModeratorTags",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the article tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AddModeratorTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Article moderator tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/moderator-tags/remove": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Remove moderator tags from an article",
                "description": "Removes one or more moderator tags without affecting other tags on the article.",
                "operationId": "removeArticleModeratorTags",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the article tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RemoveModeratorTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Article moderator tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/editFeaturedImage": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Edit the featured image of an article",
                "description": "A moderator can edit a featured image for an article. Note that this will overwrite existing featured image. <br/>The allowed image extensions for featured image are `png`, `jpeg`, `jpg`, `gif`.",
                "operationId": "editArticleFeaturedImage",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the featured image",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    }
                ],
                "requestBody": {
                    "description": "The featured image url. To remove the featured image from the article, then this field should be empty.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditArticleFeaturedImageRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Article featured image was changed"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/editFeaturedImageAltText": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Edit the featured image alt text of an article",
                "description": "A moderator can edit the featured image alt text for an article. Note that this will overwrite existing featured image alt text.",
                "operationId": "editArticleFeaturedImageAltText",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the featured image alt text",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    }
                ],
                "requestBody": {
                    "description": "The featured image alt text. Alternative text for the featured image.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditArticleFeaturedImageAltTextRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Article featured image alt text was changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/editPublicLabel": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Edit the public label of an article",
                "description": "A moderator can edit the public label for an article. Note that this will overwrite existing public label.",
                "operationId": "editArticlePublicLabel",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the public label",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditArticlePublicLabelRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Article public label was changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/toggleStickyState": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Toggle the sticky state of an article",
                "operationId": "toggleArticleStickyState",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator toggling the article sticky state",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ToggleArticleStickyStateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Article sticky state updated"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/toggleClosed": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Open/Close an article",
                "description": "A moderator can open or close an article for replies.",
                "operationId": "toggleArticleClosed",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator toggling the closed state of the article",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ToggleArticleClosedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Article closed state was updated"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/toggleTrashed": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Trash or restore an article",
                "description": "A moderator can trash an article.",
                "operationId": "toggleArticleTrashed",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator trashing or restoring the article",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ToggleArticleTrashedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Article was trashed"
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}": {
            "get": {
                "tags": [
                    "Articles"
                ],
                "summary": "Find article by ID",
                "description": "To fetch a trashed article a valid `moderatorId` value is required.",
                "operationId": "getArticle",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of the article to fetch",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator fetching the article",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "resolveEmbeds",
                        "in": "query",
                        "description": "When set to true, resolves oembed URLs in the content and replaces them with embed HTML",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Article"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Articles"
                ],
                "summary": "Permanently delete a trashed article",
                "description": "A moderator can permanently deleted a trashed article. Warning: once permanently deleted, an article cannot be restored.",
                "operationId": "permanentlyDeleteArticle",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator permanently deleting the article",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Article permanently deleted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/replies/{id}/toggleTrashed": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Trash/restore a reply",
                "operationId": "toggleArticleReplyTrashed",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator trashing/restoring the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ToggleArticleReplyTrashedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Reply trashed state was updated"
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/replies/{id}/toggleHighlight": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Mark replies as highlighted or remove the highlight",
                "operationId": "toggleArticleReplyHighlight",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator updating the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ToggleArticleReplyHighlightRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Reply highlight was updated"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/replies/{id}/promote": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Promote an existing reply to a new conversation",
                "description": "A moderator can promote a reply to a new conversation. The title and category for the conversation are required in the request body.",
                "operationId": "promoteArticleReply",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator promoting the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PromoteArticleReplyToConversationRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Reply promoted",
                        "headers": {
                            "Location": {
                                "description": "Conversation URL",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/CategoryRestricted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/move": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Move an article to a different category",
                "description": "A moderator can move an article to a different category. The moderator must have access to the both the category in which the article currently is as well as the category to which the article is to be moved.",
                "operationId": "moveArticle",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator moving the article",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MoveRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Article was moved"
                    },
                    "403": {
                        "$ref": "#/components/responses/CategoryRestricted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/replies/{id}/editContent": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Edit a reply",
                "description": "An author can change the content of the reply for a limited time. Default edit time span is 60 minutes. Moderators can always change the content of the reply by any other author.",
                "operationId": "editArticleReply",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author or moderator making the edits",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditArticleReplyContentRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Reply edited"
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/addPoll": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Add a poll to an article",
                "description": "A moderator can add a poll to an article that does not already contain one. Only allowed for draft articles.",
                "operationId": "addArticlePoll",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator adding the poll",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AddArticlePollRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Poll was added to the article"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/editPollTitle": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Edit the poll title",
                "description": "A moderator can edit the title of a poll. If a poll option has votes, then it cannot be edited.",
                "operationId": "editArticlePollTitle",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the article poll title",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditArticlePollTitleRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Article poll title was changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/editPollOptions": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Edit the poll options",
                "description": "A moderator can edit the options of a poll. If a poll option has votes, then it cannot be edited.",
                "operationId": "editArticlePollOptions",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the article poll options",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditArticlePollOptionsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Article poll options was changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/poll": {
            "get": {
                "tags": [
                    "Articles"
                ],
                "summary": "Show poll results",
                "operationId": "getArticlePollResult",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of the article to fetch the poll results for",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Poll"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Articles"
                ],
                "summary": "Delete poll attached to an article",
                "description": "Be cautious when deleting a poll. Once deleted it cannot be restored.",
                "operationId": "articleDeletePoll",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator deleting the poll",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Poll attached to article deleted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/votePoll": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Add a vote to a poll attached to the given article",
                "operationId": "addArticlePollVote",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author voting on the poll",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ArticlePollVoteRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Poll vote has been processed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/replies/{id}/move": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Move an existing reply to an existing topic",
                "description": "A reply can be moved to an existing article, question or conversation. The topic id and topic type are required in the request body.",
                "operationId": "moveArticleReply",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator moving the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ArticleMoveReplyRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Reply moved"
                    },
                    "403": {
                        "$ref": "#/components/responses/CategoryRestricted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/convertToProductUpdate": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Convert an article to a product update",
                "description": "A moderator can convert an article to a product update. If the article has replies, they are converted to product update replies.",
                "operationId": "convertToProductUpdate",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator converting the article",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Conversion in progress"
                    },
                    "403": {
                        "$ref": "#/components/responses/CategoryRestricted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/convertToConversation": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Convert an article to a conversation",
                "description": "A moderator can convert an article to a conversation. If the article has replies, they are converted to conversation replies.",
                "operationId": "convertArticleToConversation",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator converting the article",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Conversion in progress"
                    },
                    "403": {
                        "$ref": "#/components/responses/CategoryRestricted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/{id}/changeAuthor": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Change the author of an article",
                "description": "A moderator can change the author of an article.",
                "operationId": "changeArticleAuthor",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator changing the author of the  article",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathArticleId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ChangeArticleAuthorRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Author has been changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/replies/{replyId}/approve": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Approve a reply",
                "operationId": "approveArticleReply",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathArticleReplyId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator approving the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reply was approved"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/replies/{replyId}/report": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Report an article reply",
                "operationId": "reportArticleReply",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathArticleReplyId"
                    },
                    {
                        "name": "reportedBy",
                        "in": "query",
                        "description": "ID of the author reporting the article reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AbstractReportRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Article reply was reported"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/replies/{replyId}/resolve": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Resolve reported article reply",
                "operationId": "resolveReportedArticleReply",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathArticleReplyId"
                    },
                    {
                        "name": "reportedBy",
                        "in": "query",
                        "description": "ID of the moderator resolving the reported article reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reported article reply was resolved"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/setModerationLabel": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Set moderation label to article",
                "description": "A moderator can set the moderation label to article.",
                "operationId": "setArticleModerationLabel",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator to set the moderation label",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SetArticleModerationLabelRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Moderation label was set to article"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/unsetModerationLabel": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Unset moderation label from article",
                "description": "A moderator can unset the moderation label from article.",
                "operationId": "unsetArticleModerationLabel",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator to unset the moderation label",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UnsetArticleModerationLabelRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Moderation label was unset from article"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/assignModerator": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Assign a moderator to article or articles",
                "description": "A moderator can assign another moderator to an article or articles.",
                "operationId": "assignModerator",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator to assign the article",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AssignArticleModeratorRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Moderator was assigned to the article"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/unassignModerator": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Unassign a article or articles",
                "description": "A moderator can unassign a article or articles.",
                "operationId": "unassignModerator",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator to unassign the article",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UnassignArticleModeratorRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "The article was unassigned"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles": {
            "get": {
                "tags": [
                    "Articles"
                ],
                "summary": "List articles",
                "description": "Fetches a paginated list of articles sorted by last activity in descending order. Last activity is the time the article was last replied.",
                "operationId": "getArticleList",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/ArticleList"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/categories/{id}/articles": {
            "get": {
                "tags": [
                    "Articles",
                    "Categories"
                ],
                "summary": "List articles for a category",
                "description": "Fetches a paginated list of articles in a category. The category must be a public category. The result is sorted by last activity in descending order. Last activity is the time the article was last replied.",
                "operationId": "getArticleListForCategory",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of the category to fetch articles for",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/ArticleList"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/articles/{id}/replies": {
            "get": {
                "tags": [
                    "Articles"
                ],
                "summary": "List replies for an article",
                "description": "Lists paginated set of replies for an article. By default returns visible replies. A valid `moderatorId` value is required to fetch trashed replies.",
                "operationId": "getRepliesForArticle",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of the article to fetch replies for",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator fetching the replies",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    },
                    {
                        "$ref": "#/components/parameters/ReplySort"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/ArticleReplyList"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/articles/{id}/replies/{replyId}": {
            "get": {
                "tags": [
                    "Articles"
                ],
                "summary": "Fetch a reply for an article",
                "description": "By default returns a visible reply. A valid `moderatorId` value is required to fetch a trashed reply.",
                "operationId": "getReplyForArticle",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of the article to fetch the reply for",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "replyId",
                        "in": "path",
                        "description": "ID of the reply to fetch",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/ArticleReply"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/articles/trashed": {
            "get": {
                "tags": [
                    "Articles"
                ],
                "summary": "List of trashed articles",
                "description": "Fetches a paginated list of trashed articles. The result is sorted by last activity in descending order. Last activity is the time the article was last replied.",
                "operationId": "getTrashedArticleList",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator fetching the trashed article list",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/ArticleList"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/articles/drafts": {
            "get": {
                "tags": [
                    "Articles"
                ],
                "summary": "List draft articles",
                "description": "Fetches a paginated list of draft articles. The result is sorted by created date in descending order.",
                "operationId": "getDraftArticleList",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator fetching the draft article list",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/ArticleList"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/articles/replies/{id}/markAsSpam": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Mark article reply as spam",
                "description": "This action automatically bans the author of the content by default. Ensure the content clearly violates spam policies before proceeding.",
                "operationId": "markArticleReplyAsSpam",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathArticleReplyId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "banUser": {
                                        "description": "Whether to ban the author of the content. Defaults to true if not specified.",
                                        "type": "boolean",
                                        "example": false
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Article reply marked as spam"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/articles/replies/{id}/markAsNotSpam": {
            "post": {
                "tags": [
                    "Articles"
                ],
                "summary": "Mark article reply as not spam",
                "description": "Allows moderators to correct false spam statuses.",
                "operationId": "markArticleReplyAsNotSpam",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathArticleReplyId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": []
                    }
                },
                "responses": {
                    "204": {
                        "description": "Article reply marked as not spam"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/categories": {
            "get": {
                "tags": [
                    "Categories"
                ],
                "summary": "List categories",
                "description": "Fetches a paginated list of categories. It returns only public categories if the authorId is not specified. The result doesn't project a tree view and the result is sorted by display order of the category in ascending order (Display order starts from 0)",
                "operationId": "getCategoryList",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    },
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the user fetching the categories (required if wanting to see non-public categories)",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "excludeGroups",
                        "in": "query",
                        "description": "When true, excludes group entries (public, private and hidden groups) from the response so only categories are returned. Defaults to false if not specified.",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CategoryList"
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/categories/{id}": {
            "get": {
                "tags": [
                    "Categories"
                ],
                "summary": "Find a category by ID",
                "description": "Finds a category by ID",
                "operationId": "getCategory",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of the category",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Category"
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/categories/getVisibleTopicsCount": {
            "get": {
                "tags": [
                    "Categories"
                ],
                "summary": "Get visible topics count per category",
                "description": "Returns the count of visible (non-spam, non-trashed, non-pending, non-draft) topics per category. This includes questions, conversations, ideas, articles, and product updates. Note: This endpoint does not return counts for sections.",
                "operationId": "getVisibleTopicsCount",
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "result": {
                                            "description": "Object mapping category IDs to their visible topics count",
                                            "type": "object",
                                            "example": {
                                                "123": "5",
                                                "456": "10",
                                                "789": "3"
                                            },
                                            "additionalProperties": {
                                                "description": "Number of visible topics in the category",
                                                "type": "string"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/conversations/{id}/markAsSpam": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Mark conversation as spam",
                "description": "This action automatically bans the author of the content by default. Ensure the content clearly violates spam policies before proceeding.",
                "operationId": "markConversationsAsSpam",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "banUser": {
                                        "description": "Whether to ban the author of the content. Defaults to true if not specified.",
                                        "type": "boolean",
                                        "example": false
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Covnersation marked as spam"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/markAsNotSpam": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Mark conversation as not spam",
                "description": "Allows moderators to correct false spam statuses.",
                "operationId": "markConversationAsNotSpam",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": []
                    }
                },
                "responses": {
                    "204": {
                        "description": "Conversation marked as not spam"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/replies/{id}/markAsSpam": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Mark conversation reply as spam",
                "description": "This action automatically bans the author of the content by default. Ensure the content clearly violates spam policies before proceeding.",
                "operationId": "markConversationReplyAsSpam",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathConversationReplyId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "banUser": {
                                        "description": "Whether to ban the author of the content. Defaults to true if not specified.",
                                        "type": "boolean",
                                        "example": false
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Conversation reply marked as spam"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/replies/{id}/markAsNotSpam": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Mark conversation reply as not spam",
                "description": "Allows moderators to correct false spam statuses.",
                "operationId": "markConversationReplyAsNotSpam",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathConversationReplyId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": []
                    }
                },
                "responses": {
                    "204": {
                        "description": "Conversation reply marked as not spam"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/start": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Start a conversation",
                "description": "Authors can start a conversation in a category, providing the title and content of the conversation.<br /><br />A conversation started by an author is always open, meaning the original author and other authors can reply to it. Authors can also like (& unlike!) a conversation and individual replies within the conversation. Authors can also optionally add public tags when starting a conversation. Authors can optionally start a conversation with a poll. A poll consists of a title and options. Existing authors can vote on the poll attached to conversations.<br /><br />Moderators can optionally start a conversation as closed, which means that only moderators can reply to it. Moderators can also optionally start a conversation as sticky, which highlights the conversation at the top of the category on the community.",
                "operationId": "startConversation",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "The ID of author of the conversation",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/StartConversationRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Conversation started",
                        "headers": {
                            "Location": {
                                "description": "Conversation URL",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "id": {
                                            "description": "The private ID of the created conversation",
                                            "type": "string"
                                        },
                                        "publicId": {
                                            "description": "The public ID of the created conversation",
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "403": {
                        "$ref": "#/components/responses/CategoryRestricted"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/like": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Like a conversation",
                "operationId": "likeConversation",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    },
                    {
                        "name": "likedBy",
                        "in": "query",
                        "description": "ID of the author giving the like",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Conversation was liked"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/unlike": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Unlike a conversation",
                "operationId": "unlikeConversation",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    },
                    {
                        "name": "unlikedBy",
                        "in": "query",
                        "description": "ID of the author revoking the like",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Like was revoked from the discussion"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/editContent": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Edit the opening post content of a conversation",
                "description": "An author can change the content of a conversation for a limited time after starting the conversation. The default edit time span is 60 minutes. <br/>Moderators can always change the content of a conversation that was started by any other author.",
                "operationId": "editConversationContent",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author or moderator making the edits",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditConversationContentRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Conversation edited",
                        "headers": {
                            "Location": {
                                "description": "Conversation URL",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/editTags": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Tag a conversation with public tags",
                "description": "An author can edit tags for their conversations. Note that this will overwrite existing tags.",
                "operationId": "editConversationTags",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author editing the conversation tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditConversationTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Conversation tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/tags/add": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Add public tags to a conversation",
                "description": "Adds one or more public tags without replacing existing tags.",
                "operationId": "addConversationTags",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author editing the conversation tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AddPublicTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Conversation tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/tags/remove": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Remove public tags from a conversation",
                "description": "Removes one or more public tags without affecting other tags on the conversation.",
                "operationId": "removeConversationTags",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author editing the conversation tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RemovePublicTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Conversation tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/moderator-tags/add": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Add moderator tags to a conversation",
                "description": "Adds one or more moderator tags without replacing existing tags.",
                "operationId": "addConversationModeratorTags",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the conversation tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AddModeratorTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Conversation moderator tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/moderator-tags/remove": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Remove moderator tags from a conversation",
                "description": "Removes one or more moderator tags without affecting other tags on the conversation.",
                "operationId": "removeConversationModeratorTags",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the conversation tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RemoveModeratorTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Conversation moderator tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/reply": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Reply to a conversation",
                "operationId": "replyConversation",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    },
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "The ID of the author of this reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ReplyConversationRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Conversation was replied",
                        "headers": {
                            "Location": {
                                "description": "Conversation reply URL",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/votePoll": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Add a vote to a poll contained in a given conversation",
                "operationId": "addPollVote",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author voting on the poll",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PollVoteRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Poll vote has been processed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/toggleTrashed": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Trash or restore a conversation",
                "operationId": "toggleConversationTrashed",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator trashing/restoring the conversation",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ToggleConversationTrashRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Conversation trashed state updated"
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/toggleClosed": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Open/Close a conversation",
                "description": "A moderator can open or close a conversation for replies.",
                "operationId": "toggleConversationClosed",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator toggling the closed state for this conversation",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ToggleConversationClosedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Conversation closed state was updated"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/move": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Move a conversation to a different category",
                "description": "A moderator can move a conversation to a different category. The moderator must have access to the both the category in which the conversation currently is as well as the category to which the conversation is to be moved.",
                "operationId": "moveConversation",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator moving the conversation",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MoveRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Conversation was moved"
                    },
                    "403": {
                        "$ref": "#/components/responses/CategoryRestricted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/convert": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Convert a conversation to a question",
                "description": "A moderator can convert a conversation to a question. If the conversation has replies, they are converted to question replies.",
                "operationId": "convertConversation",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator converting the conversation",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Conversion in progress"
                    },
                    "403": {
                        "$ref": "#/components/responses/CategoryRestricted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/convertToArticle": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Convert a conversation to an article",
                "description": "A moderator can convert a conversation to an article. If the conversation has replies, they are converted to article replies.",
                "operationId": "convertConversationToArticle",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator converting the conversation",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Conversion in progress"
                    },
                    "403": {
                        "$ref": "#/components/responses/CategoryRestricted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/convertToIdea": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Convert a conversation to an idea",
                "description": "A moderator can convert a conversation to an idea. If the conversation has replies, they are converted to idea replies.",
                "operationId": "convertConversationToIdea",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator converting the conversation",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Conversion in progress"
                    },
                    "403": {
                        "$ref": "#/components/responses/CategoryRestricted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/copy": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Copy a conversation to a category",
                "operationId": "copyConversation",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator copying the conversation",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CopyConversationRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Conversation was copied"
                    },
                    "403": {
                        "$ref": "#/components/responses/CategoryRestricted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/editTitle": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Edit the title of a conversation",
                "operationId": "editConversationTitle",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the conversation title",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditConversationTitleRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Conversation title was changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/editModeratorTags": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Tag a conversation with moderator tags",
                "description": "A moderator can edit moderator tags for a conversation. Note that this will overwrite existing moderator tags.",
                "operationId": "editConversationModeratorTags",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the moderator tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditConversationModeratorTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Conversation moderator tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/toggleStickyState": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Toggle the sticky state of a conversation",
                "operationId": "toggleConversationStickyState",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator toggling the conversation sticky state",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ToggleConversationStickyStateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Conversation sticky state updated"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}": {
            "get": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Find conversation by ID",
                "description": "By default returns a visible conversation. To fetch a trashed conversation a valid `moderatorId` value is required.",
                "operationId": "getConversation",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator fetching the conversation",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "resolveEmbeds",
                        "in": "query",
                        "description": "When set to true, resolves oembed URLs in the content and replaces them with embed HTML",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Conversation"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Permanently delete a trashed conversation",
                "description": " A moderator can permanently deleted a trashed conversation. Warning: once permanently deleted, a conversation cannot be restored.",
                "operationId": "permanentlyDeleteConversation",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator permanently deleting the conversation",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Conversation permanently deleted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/replies/{id}/toggleTrashed": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Trash/restore a reply",
                "operationId": "toggleConversationReplyTrashed",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator trashing/restoring the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ToggleReplyTrashedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Reply trashed state was updated"
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/replies/{id}/toggleHighlight": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Mark replies as highlighted or remove the highlight",
                "operationId": "toggleConversationReplyHighlight",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator updating the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ToggleReplyHighlightRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Reply highlight was updated"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/replies/{id}/promote": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Promote an existing reply to a new conversation",
                "description": "A moderator can promote a reply to a new conversation. The title and category for the conversation are required in the request body.",
                "operationId": "promoteReply",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator promoting the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PromoteReplyToConversationRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Reply promoted",
                        "headers": {
                            "Location": {
                                "description": "Conversation URL",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/CategoryRestricted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/replies/{id}/move": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Move reply to another topic",
                "description": "A reply can be moved to an existing article, question or conversation. The topic id and topic type are required in the request body.",
                "operationId": "moveConversationReply",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator moving the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MoveReplyRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Reply moved"
                    },
                    "403": {
                        "$ref": "#/components/responses/CategoryRestricted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/replies/{id}/like": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Like a reply",
                "operationId": "likeReply",
                "parameters": [
                    {
                        "name": "likedBy",
                        "in": "query",
                        "description": "ID the author giving the like",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reply was liked"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/replies/{id}/unlike": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Unlike a reply",
                "operationId": "unlikeReply",
                "parameters": [
                    {
                        "name": "unlikedBy",
                        "in": "query",
                        "description": "ID of the author who unlikes the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Like was revoked from the reply"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/replies/{id}/editContent": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Edit a reply",
                "description": "An author can change the content of the reply for a limited time. Default edit time span is 60 minutes.<br/>Moderators can always change the content of the reply by any other author.",
                "operationId": "editConversationReply",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author or moderator making the edits",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditReplyContentRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Reply edited"
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/editPollTitle": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Edit the poll title",
                "description": "A moderator can edit the title of a poll. If a poll option has votes, then it cannot be edited.",
                "operationId": "editConversationPollTitle",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the conversation poll title",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditConversationPollTitleRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Conversation poll title was changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/editPollOptions": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Edit the poll options",
                "description": "A moderator can edit the options of a poll. If a poll option has votes, then it cannot be edited.",
                "operationId": "editConversationPollOptions",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the conversation poll options",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditConversationPollOptionsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Conversation poll options was changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/poll": {
            "get": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Show poll results",
                "operationId": "getPollResult",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Poll"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Delete poll",
                "description": "Be cautious when deleting a poll. Once deleted it cannot be restored.",
                "operationId": "deleteConversationPoll",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Conversation ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator deleting the poll",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Poll attached to conversation deleted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/moveToTopic": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Convert a conversation to a reply",
                "description": "Move a conversation with no visible replies to an existing topic. It can be converted to a reply of an article, question or another conversation. This action will permanently delete any trashed replies the conversation may have.",
                "operationId": "moveConversationToTopic",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator converting the conversation",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MoveConversationToTopicRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Conversation moved to topic"
                    },
                    "403": {
                        "$ref": "#/components/responses/CategoryRestricted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/replies/{id}/pin": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Pin a reply",
                "operationId": "pinConversationReply",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reply was pinned"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/replies/{id}/unpin": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Unpin a reply",
                "operationId": "unpinConversationReply",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reply was pinned"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/approve": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Approve a conversation",
                "operationId": "approveConversation",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator approving the conversation",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Conversation was approved"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/replies/{replyId}/approve": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Approve a reply",
                "operationId": "approveConversationReply",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathConversationReplyId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator approving the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reply was approved"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/report": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Report a conversation",
                "operationId": "reportConversation",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    },
                    {
                        "name": "reportedBy",
                        "in": "query",
                        "description": "ID of the author reporting the conversation",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AbstractReportRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Conversation was reported"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/replies/{replyId}/report": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Report a conversation reply",
                "operationId": "reportConversationReply",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathConversationReplyId"
                    },
                    {
                        "name": "reportedBy",
                        "in": "query",
                        "description": "ID of the author reporting the conversation reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AbstractReportRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Conversation reply was reported"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/{id}/resolve": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Resolve reported conversation",
                "operationId": "resolveReportedConversation",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    },
                    {
                        "name": "resolvedBy",
                        "in": "query",
                        "description": "ID of the moderator resolving reported conversation",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reported conversation was resolved"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/replies/{replyId}/resolve": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Resolve reported conversation reply",
                "operationId": "resolveReportedConversationReply",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathConversationReplyId"
                    },
                    {
                        "name": "resolvedBy",
                        "in": "query",
                        "description": "ID of the moderator resolving the reported conversation reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reported conversation reply was resolved"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/setModerationLabel": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Set moderation label to conversation",
                "description": "A moderator can set the moderation label to conversation.",
                "operationId": "setConversationModerationLabel",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator to set the moderation label",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SetConversationModerationLabelRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Moderation label was set to conversation"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/unsetModerationLabel": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Unset moderation label from conversation",
                "description": "A moderator can unset the moderation label from conversation.",
                "operationId": "unsetConversationModerationLabel",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator to unset the moderation label",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UnsetConversationModerationLabelRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Moderation label was unset from conversation"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/assignModerator": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Assign a moderator to conversation or conversations",
                "description": "A moderator can assign another moderator to an conversation or conversations.",
                "operationId": "assignModerator",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator to assign the conversation",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AssignConversationModeratorRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Moderator was assigned to the conversation"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations/unassignModerator": {
            "post": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Unassign a conversation or conversations",
                "description": "A moderator can unassign a conversation or conversations.",
                "operationId": "unassignModerator",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator to unassign the conversation",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UnassignConversationModeratorRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "The conversation was unassigned"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/conversations": {
            "get": {
                "tags": [
                    "Conversations"
                ],
                "summary": "List conversations",
                "description": "Fetches a paginated list of conversations sorted by last activity date in descending order. Last activity is the time the conversation was last replied.",
                "operationId": "getConversationList",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/ConversationList"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/categories/{id}/conversations": {
            "get": {
                "tags": [
                    "Conversations",
                    "Categories"
                ],
                "summary": "List conversations for a category",
                "description": "Fetches a paginated list of conversations in a category. The category must be a public category. The result is sorted by last activity date in descending order. Last activity is the time the conversation was last replied.",
                "operationId": "getConversationListForCategory",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of the category to fetch conversations",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/ConversationList"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/conversations/trashed": {
            "get": {
                "tags": [
                    "Conversations"
                ],
                "summary": "List trashed conversations",
                "description": "Fetches a paginated list of trashed conversations. The result is sorted by last activity in descending order. Last activity is the time the conversation was last replied.",
                "operationId": "getTrashedConversationList",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator fetching the trashed conversation list",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/ConversationList"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/ideas/{id}/markAsSpam": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Mark idea as spam",
                "description": "This action automatically bans the author of the content by default. Ensure the content clearly violates spam policies before proceeding.",
                "operationId": "markIdeaAsSpam",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "banUser": {
                                        "description": "Whether to ban the author of the content. Defaults to true if not specified.",
                                        "type": "boolean",
                                        "example": false
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Idea marked as spam"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}/markAsNotSpam": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Mark idea as not spam",
                "description": "Allows moderators to correct false spam statuses.",
                "operationId": "markIdeaAsNotSpam",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": []
                    }
                },
                "responses": {
                    "204": {
                        "description": "Idea marked as not spam"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/replies/{id}/markAsSpam": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Mark idea reply as spam",
                "description": "This action automatically bans the author of the content by default. Ensure the content clearly violates spam policies before proceeding.",
                "operationId": "markIdeaReplyAsSpam",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathIdeaReplyId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "banUser": {
                                        "description": "Whether to ban the author of the content. Defaults to true if not specified.",
                                        "type": "boolean",
                                        "example": false
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Idea reply marked as spam"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/replies/{id}/markAsNotSpam": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Mark idea reply as not spam",
                "description": "Allows moderators to correct false spam statuses.",
                "operationId": "markIdeaReplyAsNotSpam",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathIdeaReplyId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": []
                    }
                },
                "responses": {
                    "204": {
                        "description": "Idea reply marked as not spam"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/submit": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Submit an idea",
                "description": "Authors can submit an idea, providing the title and content of the idea.<br /><br />A  submitted idea by an author is always open, meaning the original author and other authors can reply to it. The author's vote is added automatically and they also can unvote their ideas. Authors can also optionally add public tags and product areas when submitting an idea.<br /><br />Moderators can optionally submit an idea as closed, which means that only moderators can reply to it.",
                "operationId": "submitIdea",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "The ID of author of the idea",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SubmitIdeaRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Idea submitted",
                        "headers": {
                            "Location": {
                                "description": "Idea URL",
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Is-Spam": {
                                "description": "1 if the idea is spam, 0 if not spam",
                                "schema": {
                                    "type": "integer"
                                }
                            },
                            "Is-Pending": {
                                "description": "1 if the idea is pending, 0 if not pending",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "id": {
                                            "description": "The private ID of the created idea",
                                            "type": "string"
                                        },
                                        "publicId": {
                                            "description": "The public ID of the created idea",
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}/vote": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Vote an idea",
                "operationId": "voteIdea",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    },
                    {
                        "name": "votedBy",
                        "in": "query",
                        "description": "ID of the author giving the vote",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Idea was voted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}/unvote": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Unvote an idea",
                "operationId": "unvoteIdea",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    },
                    {
                        "name": "unvotedBy",
                        "in": "query",
                        "description": "ID of the author revoking the vote",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Vote was revoked from the idea"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}/editContent": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Edit the opening post content of an idea",
                "description": "An author can change the content of an idea for a limited time after submiting the idea. The default edit time span is 60 minutes. <br/>Moderators can always change the content of an idea that was submitted by any other author.",
                "operationId": "editIdeaContent",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author or moderator making the edits",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditIdeaContentRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Idea edited",
                        "headers": {
                            "Location": {
                                "description": "Idea URL",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}/editTags": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Tag an idea with public tags",
                "description": "An author can edit tags for their ideas. Note that this will overwrite existing tags.",
                "operationId": "editIdeaTags",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author editing the idea tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditIdeaTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Idea tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}/tags/add": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Add public tags to an idea",
                "description": "Adds one or more public tags without replacing existing tags.",
                "operationId": "addIdeaTags",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author editing the idea tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AddPublicTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Idea tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}/tags/remove": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Remove public tags from an idea",
                "description": "Removes one or more public tags without affecting other tags on the idea.",
                "operationId": "removeIdeaTags",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author editing the idea tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RemovePublicTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Idea tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}/moderator-tags/add": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Add moderator tags to an idea",
                "description": "Adds one or more moderator tags without replacing existing tags.",
                "operationId": "addIdeaModeratorTags",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the idea tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AddModeratorTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Idea moderator tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}/moderator-tags/remove": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Remove moderator tags from an idea",
                "description": "Removes one or more moderator tags without affecting other tags on the idea.",
                "operationId": "removeIdeaModeratorTags",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the idea tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RemoveModeratorTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Idea moderator tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}/reply": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Reply to an idea",
                "operationId": "replyIdea",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    },
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "The ID of the author of this reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ReplyIdeaRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Idea was replied",
                        "headers": {
                            "Location": {
                                "description": "Idea reply URL",
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Is-Spam": {
                                "description": "1 if the reply is spam, 0 if not spam",
                                "schema": {
                                    "type": "integer"
                                }
                            },
                            "Is-Pending": {
                                "description": "1 if the reply is pending, 0 if not pending",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}/toggleTrashed": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Trash or restore an idea",
                "operationId": "toggleIdeaTrashed",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator trashing/restoring the idea",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ToggleIdeaTrashRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Idea trashed state updated"
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}/toggleClosed": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Open/Close an idea",
                "description": "A moderator can open or close an idea for replies.",
                "operationId": "toggleIdeaClosed",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator toggling the closed state for this idea",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ToggleIdeaClosedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Idea closed state was updated"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}/editTitle": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Edit the title of an idea",
                "operationId": "editIdeaTitle",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the idea title",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditIdeaTitleRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Idea title was changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}/editModeratorTags": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Tag an idea with moderator tags",
                "description": "A moderator can edit moderator tags for an idea. Note that this will overwrite existing moderator tags.",
                "operationId": "editIdeaModeratorTags",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the moderator tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditIdeaModeratorTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Idea moderator tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}/toggleStickyState": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Toggle the sticky state of an idea",
                "operationId": "toggleIdeaStickyState",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator toggling the idea sticky state",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ToggleIdeaStickyStateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Idea sticky state updated"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}": {
            "get": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Find idea by ID",
                "description": "By default returns a visible idea. To fetch a trashed idea a valid `moderatorId` value is required.",
                "operationId": "getIdea",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator fetching the idea",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "resolveEmbeds",
                        "in": "query",
                        "description": "When set to true, resolves oembed URLs in the content and replaces them with embed HTML",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Idea"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Permanently delete a trashed idea",
                "description": " A moderator can permanently deleted a trashed idea. Warning: once permanently deleted, an idea cannot be restored.",
                "operationId": "permanentlyDeleteIdea",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator permanently deleting the idea",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Idea permanently deleted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/replies/{id}/toggleTrashed": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Trash/restore a reply",
                "operationId": "toggleIdeaReplyTrashed",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator trashing/restoring the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ToggleReplyTrashedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Reply trashed state was updated"
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/replies/{id}/toggleHighlight": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Mark replies as highlighted or remove the highlight",
                "operationId": "toggleIdeaReplyHighlight",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator updating the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ToggleReplyHighlightRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Reply highlight was updated"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/replies/{id}/promote": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Promote an existing reply to a new conversation",
                "description": "A moderator can promote a reply to a new conversation. The title and category for the conversation are required in the request body.",
                "operationId": "promoteIdeaReply",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator promoting the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PromoteIdeaReplyToConversationRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Reply promoted",
                        "headers": {
                            "Location": {
                                "description": "Conversation URL",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/CategoryRestricted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/replies/{id}/move": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Move reply to another topic",
                "description": "A reply can be moved to an existing idea. The topic id and topic type are required in the request body.",
                "operationId": "moveIdeaReply",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator moving the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MoveReplyRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Reply moved"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/replies/{id}/like": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "like a reply",
                "operationId": "likeIdeaReply",
                "parameters": [
                    {
                        "name": "likedBy",
                        "in": "query",
                        "description": "ID the author giving the like",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reply was liked"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/replies/{id}/unlike": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Unlike a reply",
                "operationId": "unlikeIdeaReply",
                "parameters": [
                    {
                        "name": "unlikedBy",
                        "in": "query",
                        "description": "ID of the author who unlikes the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Like was revoked from the reply"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/replies/{id}/editContent": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Edit a reply",
                "description": "An author can change the content of the reply for a limited time. Default edit time span is 60 minutes.<br/>Moderators can always change the content of the reply by any other author.",
                "operationId": "editIdeaReply",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author or moderator making the edits",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditReplyContentRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Reply edited"
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}/mergeVotes": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Merge votes into another idea",
                "description": "A moderator can merge the votes from one idea into another idea.",
                "operationId": "mergeIdeaVotes",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Idea Id to merge the votes from",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator to merge the votes",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MergeIdeaVotesRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Idea votes were merged"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/setModerationLabel": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Set moderation label to idea",
                "description": "A moderator can set the moderation label to idea.",
                "operationId": "setIdeaModerationLabel",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator to set the moderation label",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SetIdeaModerationLabelRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Moderation label was set to idea"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/unsetModerationLabel": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Unset moderation label from idea",
                "description": "A moderator can unset the moderation label from idea.",
                "operationId": "unsetIdeaModerationLabel",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator to unset the moderation label",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UnsetIdeaModerationLabelRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Moderation label was unset from idea"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/assignModerator": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Assign a moderator to an idea or ideas",
                "description": "A moderator can assign another moderator to an idea or ideas.",
                "operationId": "assignModerator",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator to assign the idea",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AssignIdeaModeratorRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Moderator was assigned to the idea"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/unassignModerator": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Unassign an idea or ideas",
                "description": "A moderator can unassign an idea or ideas.",
                "operationId": "unassignModerator",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator to unassign the idea",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UnassignIdeaModeratorRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "The idea was unassigned"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/createIdeaStatus": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Create IdeaStatus",
                "operationId": "createIdeaStatus",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "The ID of the author of the IdeaStatus",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateIdeaStatusRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "IdeaStatus created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}/editIdeaStatus": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Edit IdeaStatus",
                "operationId": "editIdeaStatus",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Idea Status Id to be edited",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator to edit the IdeaStatus",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditIdeaStatusRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "IdeaStatus created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}/deleteIdeaStatus": {
            "delete": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Permanently delete an idea status",
                "description": " A moderator can permanently deleted an idea status. Warning: once permanently deleted, an idea status cannot be restored.",
                "operationId": "deleteIdeaStatus",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator permanently deleting the idea status",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Idea Status Id to be edited",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Idea Status permanently deleted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/reorderIdeaStatuses": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Reorder idea statuses",
                "description": " A moderator can reorder Idea statuses.",
                "operationId": "reorderIdeaStatuses",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ReorderIdeaStatusesRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "202": {
                        "description": "Idea Statuses reordered"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/replies/{id}/pin": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Pin a reply",
                "operationId": "pinIdeaReply",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reply was pinned"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/replies/{id}/unpin": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Unpin a reply",
                "operationId": "unpinIdeaReply",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reply was pinned"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}/assignIdeaStatus": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Assign an idea status to an idea",
                "description": " A moderator can assign an idea status to an idea. Warning: This replaces the previously assigned status.",
                "operationId": "assign_idea_status",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator assigning the idea status",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Idea private ID to be assigned",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AssignIdeaStatusRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Idea Status to be assigned"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}/editProductAreas": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Attach an idea with product areas",
                "description": "A moderator can edit product areas for an idea. Note that this will overwrite existing product areas.",
                "operationId": "editIdeaProductAreas",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the idea product areas",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditIdeaProductAreasRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "ProductUpdate product areas were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/ideaStatuses/{id}/changeType": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Change an Idea Status type",
                "description": "Optionally set a type for an ideation status. Setting a type will help give meaning to statuses in the analytics dashboards..",
                "operationId": "changeIdeaStatusType",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator changing the Idea Status type",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathIdeaStatusId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ChangeIdeaStatusTypeRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Idea Status type was changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}/convertToQuestion": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Convert an Idea to a Question",
                "description": "A moderator can convert an idea to a question. Note that if an idea has any replies they will be converted as well.",
                "operationId": "convertIdeaToQuestion",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator converting the idea",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ConvertIdeaToQuestionRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "202": {
                        "description": "Conversion in progress"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}/convertToConversation": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Convert an Idea to a Conversation",
                "description": "A moderator can convert an idea to a conversation. Note that if an idea has any replies they will be converted as well.",
                "operationId": "convertIdeaToConversation",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator converting the idea",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ConvertIdeaToConversationRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "202": {
                        "description": "Conversion in progress"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}/approve": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Approve an idea",
                "operationId": "approveIdea",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator approving the idea",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Idea was approved"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/replies/{replyId}/approve": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Approve a reply",
                "operationId": "approveIdeaReply",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathIdeaReplyId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator approving the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reply was approved"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}/report": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Report an idea",
                "operationId": "reportIdea",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    },
                    {
                        "name": "reportedBy",
                        "in": "query",
                        "description": "ID of the author reporting the idea",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AbstractReportRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Idea was reported"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/replies/{replyId}/report": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Report an idea reply",
                "operationId": "reportIdeaReply",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathIdeaReplyId"
                    },
                    {
                        "name": "reportedBy",
                        "in": "query",
                        "description": "ID of the author reporting the idea reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AbstractReportRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Idea reply was reported"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/{id}/resolve": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Resolve reported idea",
                "operationId": "resolveReportedIdea",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    },
                    {
                        "name": "resolvedBy",
                        "in": "query",
                        "description": "ID of the moderator resolving reported idea",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reported idea was resolved"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas/replies/{replyId}/resolve": {
            "post": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Resolve reported idea reply",
                "operationId": "resolveReportedIdeaReply",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathIdeaReplyId"
                    },
                    {
                        "name": "reportedBy",
                        "in": "query",
                        "description": "ID of the moderator resolving the reported idea reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reported idea reply was resolved"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/ideas": {
            "get": {
                "tags": [
                    "Ideas"
                ],
                "summary": "List ideas",
                "description": "Fetches a paginated list of ideas sorted by last activity date in descending order. Last activity is the time the idea was last replied.",
                "operationId": "getIdeaList",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/IdeaList"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/ideas/trashed": {
            "get": {
                "tags": [
                    "Ideas"
                ],
                "summary": "List trashed ideas",
                "description": "Fetches a paginated list of trashed ideas. The result is sorted by last activity in descending order. Last activity is the time the idea was last replied.",
                "operationId": "getTrashedIdeaList",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator fetching the trashed idea list",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/IdeaList"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/ideas/ideaStatuses": {
            "get": {
                "tags": [
                    "Ideas"
                ],
                "summary": "List Idea Statuses",
                "description": "Fetches a paginated list of idea statuses sorted by creation date in descending order",
                "operationId": "getIdeaStatusList",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/IdeaStatusList"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/ideas/{id}/replies": {
            "get": {
                "tags": [
                    "Ideas"
                ],
                "summary": "List replies for an idea",
                "description": "Lists paginated set of replies for an idea. By default returns visible replies. A valid `moderatorId` value is required to fetch trashed replies.",
                "operationId": "getRepliesForIdea",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator fetching the replies",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "onlyNotTrashed",
                        "in": "query",
                        "description": "Filter trashed replies from result, for example to retrieve only not trashed replies. Not passing this parameter will return replies including trashed replies",
                        "required": false,
                        "schema": {
                            "type": "boolean"
                        },
                        "example": true
                    },
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    },
                    {
                        "$ref": "#/components/parameters/ReplySort"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/IdeaReplyList"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/ideas/{id}/replies/{replyId}": {
            "get": {
                "tags": [
                    "Ideas"
                ],
                "summary": "Fetch a single reply for an idea",
                "description": "By default returns a visible reply. A valid `moderatorId` value is required to fetch a trashed reply.",
                "operationId": "getReplyForIdea",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathIdeaId"
                    },
                    {
                        "name": "replyId",
                        "in": "path",
                        "description": "ID of the reply to fetch",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/IdeaReply"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/moderatorTags/delete": {
            "delete": {
                "tags": [
                    "Moderator Tags"
                ],
                "summary": "Delete moderator tags",
                "description": "Delete moderator tags by ID. More than one ID can be passed in the request body",
                "operationId": "deleteModeratorTags",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator deleting moderator tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "1"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/DeleteModeratorTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Moderator tags deleted"
                    },
                    "400": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                }
            }
        },
        "/moderatorTags": {
            "get": {
                "tags": [
                    "Moderator Tags"
                ],
                "summary": "List moderator tags",
                "description": "Fetches a paginated list of moderator tags sorted by ID in ascending order",
                "operationId": "getModeratorTagList",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "The search term which will match the moderator tag name. Skipping this parameter will return all moderator tags",
                        "schema": {
                            "type": "string"
                        },
                        "example": "search-term"
                    },
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ModeratorTagList"
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                }
            }
        },
        "/productAreas/create": {
            "post": {
                "tags": [
                    "ProductAreas"
                ],
                "summary": "Create ProductArea",
                "operationId": "createProductArea",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "The ID of the author of the ProductArea",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateProductAreaRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "ProductArea created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productAreas/rename": {
            "post": {
                "tags": [
                    "ProductAreas"
                ],
                "summary": "Rename ProductArea",
                "operationId": "renameProductArea",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "The ID of the moderator renaming ProductArea",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RenameProductAreaRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "ProductArea renamed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productAreas/delete": {
            "post": {
                "tags": [
                    "ProductAreas"
                ],
                "summary": "Delete ProductArea",
                "operationId": "deleteProductArea",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "The ID of the moderator deleting ProductArea",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/DeleteProductAreaRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "ProductArea deleted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productAreas/assign": {
            "post": {
                "tags": [
                    "ProductAreas"
                ],
                "summary": "Assign ProductAreas to Ideas",
                "operationId": "assignProductAreas",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "The ID of the moderator assigning the ProductAreas to Ideas",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AssignProductAreasRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "ProductAreas assigned"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productAreas": {
            "get": {
                "tags": [
                    "ProductAreas"
                ],
                "summary": "List productAreas",
                "operationId": "getProductAreaList",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "The search term which will match the product area name. Skipping this parameter will return all product areas",
                        "schema": {
                            "type": "string"
                        },
                        "example": "search-term"
                    },
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProductAreaList"
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/productUpdates/replies/{id}/markAsSpam": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Mark productUpdate reply as spam",
                "description": "This action automatically bans the author of the content by default. Ensure the content clearly violates spam policies before proceeding.",
                "operationId": "markProductUpdateReplyAsSpam",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathProductUpdateReplyId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "banUser": {
                                        "description": "Whether to ban the author of the content. Defaults to true if not specified.",
                                        "type": "boolean",
                                        "example": false
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "ProductUpdate reply marked as spam"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/replies/{id}/markAsNotSpam": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Mark productUpdate reply as not spam",
                "description": "Allows moderators to correct false spam statuses.",
                "operationId": "markProductUpdateReplyAsNotSpam",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathProductUpdateReplyId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": []
                    }
                },
                "responses": {
                    "204": {
                        "description": "ProductUpdate reply marked as not spam"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/create": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Create a productUpdate",
                "description": "A moderator can create a productUpdate, providing the title and content. <br/><br/> An productUpdate is always created as a draft (which later can be published) and open (authors can reply to it). Moderators can optionally add public labels to provide more context about the type of productUpdate. It can also optionally have a featured image with a valid url. The allowed image extensions for featured image are `png`, `jpeg`, `jpg`, `gif`.<br/>Moderators can optionally create a productUpdate with a poll. A poll consists of a title and options. Existing authors can vote on the poll attached to a productUpdate. Authors can like (& unlike!) a productUpdate and individual replies to the productUpdate. <br /><br />Moderators can optionally create a productUpdate as closed, which means that only moderators can reply to it.",
                "operationId": "createProductUpdate",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "The ID of the author of the productUpdate",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "The ID of the moderator who will create the product update on behalf of the author (who in this case can be a registered user as well)",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreateProductUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "ProductUpdate created",
                        "headers": {
                            "Location": {
                                "description": "ProductUpdate URL",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "id": {
                                            "description": "The private ID of the created product update",
                                            "type": "string"
                                        },
                                        "publicId": {
                                            "description": "The public ID of the created product update",
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}/publish": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Publish a productUpdate",
                "description": "A valid `moderatorId` value is required to publish a productUpdate.",
                "operationId": "publishProductUpdate",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator publishing the productUpdate",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "ProductUpdate published",
                        "headers": {
                            "Location": {
                                "description": "ProductUpdate URL",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}/reply": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Reply to a productUpdate",
                "operationId": "replyProductUpdate",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    },
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "The ID of the author of this reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ReplyProductUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "ProductUpdate was replied",
                        "headers": {
                            "Location": {
                                "description": "ProductUpdate reply URL",
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Is-Spam": {
                                "description": "1 if the reply is spam, 0 if not spam",
                                "schema": {
                                    "type": "integer"
                                }
                            },
                            "Is-Pending": {
                                "description": "1 if the reply is pending, 0 if not pending",
                                "schema": {
                                    "type": "integer"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}/like": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Like a productUpdate",
                "operationId": "likeProductUpdate",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    },
                    {
                        "name": "likedBy",
                        "in": "query",
                        "description": "ID the author giving the like",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "ProductUpdate was liked"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}/unlike": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Unlike a productUpdate",
                "operationId": "unlikeProductUpdate",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    },
                    {
                        "name": "unlikedBy",
                        "in": "query",
                        "description": "ID the author revoking the like",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Like was revoked from the discussion"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}/editContent": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Edit the opening post content of a productUpdate",
                "description": "Any moderator can change the content of a productUpdate.",
                "operationId": "editProductUpdateContent",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author or moderator making the edits",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditProductUpdateContentRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "ProductUpdate edited",
                        "headers": {
                            "Location": {
                                "description": "ProductUpdate URL",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}/editTitle": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Edit the title of a productUpdate",
                "operationId": "editProductUpdateTitle",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator making the edits",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditProductUpdateTitleRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "ProductUpdate edited",
                        "headers": {
                            "Location": {
                                "description": "ProductUpdate URL",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/replies/{id}/like": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Like a reply",
                "operationId": "likeProductUpdateReply",
                "parameters": [
                    {
                        "name": "likedBy",
                        "in": "query",
                        "description": "ID the author giving the like",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reply was liked"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/replies/{id}/unlike": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Unlike a reply",
                "operationId": "unlikeProductUpdateReply",
                "parameters": [
                    {
                        "name": "unlikedBy",
                        "in": "query",
                        "description": "ID of the author who unlikes the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reply was liked"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}/editModeratorTags": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Tag a productUpdate with moderator tags",
                "description": "A moderator can edit moderator tags for a productUpdate. Note that this will overwrite existing moderator tags.",
                "operationId": "editProductUpdateModeratorTags",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the moderator tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditProductUpdateModeratorTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "ProductUpdate moderator tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}/editTags": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Tag a productUpdate with tags",
                "description": "A moderator can edit tags for a productUpdate. Note that this will overwrite existing tags.",
                "operationId": "editProductUpdateTags",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author editing the productUpdate tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditProductUpdateTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "ProductUpdate tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}/tags/add": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Add public tags to a product update",
                "description": "Adds one or more public tags without replacing existing tags.",
                "operationId": "addProductUpdateTags",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author editing the productUpdate tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AddPublicTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "ProductUpdate tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}/tags/remove": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Remove public tags from a product update",
                "description": "Removes one or more public tags without affecting other tags on the product update.",
                "operationId": "removeProductUpdateTags",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author editing the productUpdate tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RemovePublicTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "ProductUpdate tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}/moderator-tags/add": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Add moderator tags to a product update",
                "description": "Adds one or more moderator tags without replacing existing tags.",
                "operationId": "addProductUpdateModeratorTags",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the productUpdate tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AddModeratorTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "ProductUpdate moderator tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}/moderator-tags/remove": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Remove moderator tags from a product update",
                "description": "Removes one or more moderator tags without affecting other tags on the product update.",
                "operationId": "removeProductUpdateModeratorTags",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the productUpdate tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RemoveModeratorTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "ProductUpdate moderator tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}/editProductAreas": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Attach a productUpdate with product areas",
                "description": "A moderator can edit product areas for a productUpdate. Note that this will overwrite existing product areas.",
                "operationId": "editProductUpdateProductAreas",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the productUpdate product areas",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditProductUpdateProductAreasRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "ProductUpdate product areas were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}/editFeaturedImage": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Edit the featured image of a productUpdate",
                "description": "A moderator can edit a featured image for a productUpdate. Note that this will overwrite existing featured image. <br/>The allowed image extensions for featured image are `png`, `jpeg`, `jpg`, `gif`.",
                "operationId": "editProductUpdateFeaturedImage",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the featured image",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    }
                ],
                "requestBody": {
                    "description": "The featured image url. To remove the featured image from the productUpdate, then this field should be empty.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditProductUpdateFeaturedImageRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "ProductUpdate featured image was changed"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}/editFeaturedImageAltText": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Edit the featured image alt text of a productUpdate",
                "description": "A moderator can edit the featured image alt text for a productUpdate. Note that this will overwrite existing featured image alt text.",
                "operationId": "editProductUpdateFeaturedImageAltText",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the featured image alt text",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    }
                ],
                "requestBody": {
                    "description": "The featured image alt text. Alternative text for the featured image.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditProductUpdateFeaturedImageAltTextRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "ProductUpdate featured image alt text was changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}/editPublicLabel": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Edit the public label of a productUpdate",
                "description": "A moderator can edit the public label for a productUpdate. Note that this will overwrite existing public label.",
                "operationId": "editProductUpdatePublicLabel",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the public label",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditProductUpdatePublicLabelRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "ProductUpdate public label was changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}/toggleStickyState": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Toggle the sticky state of a productUpdate",
                "operationId": "toggleProductUpdateStickyState",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator toggling the productUpdate sticky state",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ToggleProductUpdateStickyStateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "ProductUpdate sticky state updated"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}/toggleClosed": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Open/Close a productUpdate",
                "description": "A moderator can open or close a productUpdate for replies.",
                "operationId": "toggleProductUpdateClosed",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator toggling the closed state of the productUpdate",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ToggleProductUpdateClosedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "ProductUpdate closed state was updated"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}/toggleTrashed": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Trash or restore a productUpdate",
                "description": "A moderator can trash a productUpdate.",
                "operationId": "toggleProductUpdateTrashed",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator trashing or restoring the productUpdate",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ToggleProductUpdateTrashedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "ProductUpdate was trashed"
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}": {
            "get": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Find productUpdate by ID",
                "description": "To fetch a trashed productUpdate a valid `moderatorId` value is required.",
                "operationId": "getProductUpdate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of the productUpdate to fetch",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator fetching the productUpdate",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "resolveEmbeds",
                        "in": "query",
                        "description": "When set to true, resolves oembed URLs in the content and replaces them with embed HTML",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/ProductUpdate"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Permanently delete a trashed productUpdate",
                "description": "A moderator can permanently deleted a trashed productUpdate. Warning: once permanently deleted, a productUpdate cannot be restored.",
                "operationId": "permanentlyDeleteProductUpdate",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator permanently deleting the productUpdate",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "ProductUpdate permanently deleted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/replies/{id}/toggleTrashed": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Trash/restore a reply",
                "operationId": "toggleProductUpdateReplyTrashed",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator trashing/restoring the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ToggleProductUpdateReplyTrashedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Reply trashed state was updated"
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/replies/{id}/toggleHighlight": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Mark replies as highlighted or remove the highlight",
                "operationId": "toggleProductUpdateReplyHighlight",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator updating the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ToggleProductUpdateReplyHighlightRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Reply highlight was updated"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/replies/{id}/promote": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Promote an existing reply to a new conversation",
                "description": "A moderator can promote a reply to a new conversation. The title and category for the conversation are required in the request body.",
                "operationId": "promoteProductUpdateReply",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator promoting the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PromoteProductUpdateReplyToConversationRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Reply promoted",
                        "headers": {
                            "Location": {
                                "description": "Conversation URL",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/CategoryRestricted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/replies/{id}/editContent": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Edit a reply",
                "description": "An author can change the content of the reply for a limited time. Default edit time span is 60 minutes. Moderators can always change the content of the reply by any other author.",
                "operationId": "editProductUpdateReply",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author or moderator making the edits",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditProductUpdateReplyContentRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Reply edited"
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}/addPoll": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Add a poll to a product update",
                "description": "A moderator can add a poll to a product update that does not already contain one. Only allowed for draft product updates.",
                "operationId": "addProductUpdatePoll",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator adding the poll",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AddProductUpdatePollRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Poll was added to the product update"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}/editPollTitle": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Edit the poll title",
                "description": "A moderator can edit the title of a poll. If a poll option has votes, then it cannot be edited.",
                "operationId": "editProductUpdatePollTitle",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the productUpdate poll title",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditProductUpdatePollTitleRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "ProductUpdate poll title was changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}/editPollOptions": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Edit the poll options",
                "description": "A moderator can edit the options of a poll. If a poll option has votes, then it cannot be edited.",
                "operationId": "editProductUpdatePollOptions",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the productUpdate poll options",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditProductUpdatePollOptionsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "ProductUpdate poll options was changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}/poll": {
            "get": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Show poll results",
                "operationId": "getProductUpdatePollResult",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of the productUpdate to fetch the poll results for",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Poll"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Delete poll attached to a productUpdate",
                "description": "Be cautious when deleting a poll. Once deleted it cannot be restored.",
                "operationId": "productUpdateDeletePoll",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator deleting the poll",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Poll attached to productUpdate deleted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}/votePoll": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Add a vote to a poll attached to the given productUpdate",
                "operationId": "addProductUpdatePollVote",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author voting on the poll",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ProductUpdatePollVoteRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Poll vote has been processed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/replies/{id}/move": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Move an existing reply to an existing topic",
                "description": "A reply can be moved to an existing productUpdate.",
                "operationId": "moveProductUpdateReply",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator moving the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Reply ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ProductUpdateMoveReplyRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Reply moved"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/{id}/changeAuthor": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Change the author of a product update",
                "description": "A moderator can change the author of a product update.",
                "operationId": "changeProductUpdateAuthor",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator changing the author of the product update",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathProductUpdateId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ChangeProductUpdateAuthorRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Author has been changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/replies/{replyId}/approve": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Approve a reply",
                "operationId": "approveProductUpdateReply",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathProductUpdateReplyId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator approving the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reply was approved"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/replies/{replyId}/report": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Report a product update reply",
                "operationId": "reportProductUpdateReply",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathProductUpdateReplyId"
                    },
                    {
                        "name": "reportedBy",
                        "in": "query",
                        "description": "ID of the author reporting the product update reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AbstractReportRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Product update reply was reported"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/replies/{replyId}/resolve": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Resolve reported product update reply",
                "operationId": "resolveReportedProductUpdateReply",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathProductUpdateReplyId"
                    },
                    {
                        "name": "reportedBy",
                        "in": "query",
                        "description": "ID of the moderator resolving the reported product update reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reported product update reply was resolved"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/setModerationLabel": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Set moderation label to product update",
                "description": "A moderator can set the moderation label to product update.",
                "operationId": "setProductUpdateModerationLabel",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator to set the moderation label",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SetProductUpdateModerationLabelRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Moderation label was set to productUpdate"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/unsetModerationLabel": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Unset moderation label from product update",
                "description": "A moderator can unset the moderation label from product update.",
                "operationId": "unsetProductUpdateModerationLabel",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator to unset the moderation label",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UnsetProductUpdateModerationLabelRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Moderation label was unset from productUpdate"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/assignModerator": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Assign a moderator to productUpdate or productUpdates",
                "description": "A moderator can assign another moderator to an productUpdate or productUpdates.",
                "operationId": "assignModerator",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator to assign the productUpdate",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AssignProductUpdateModeratorRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Moderator was assigned to the productUpdate"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates/unassignModerator": {
            "post": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Unassign a productUpdate or productUpdates",
                "description": "A moderator can unassign a productUpdate or productUpdates.",
                "operationId": "unassignModerator",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator to unassign the productUpdate",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UnassignProductUpdateModeratorRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "The productUpdate was unassigned"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/productUpdates": {
            "get": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "List productUpdates",
                "description": "Fetches a paginated list of productUpdates sorted by last activity in descending order. Last activity is the time the productUpdate was last replied.",
                "operationId": "getProductUpdateList",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/ProductUpdateList"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/productUpdates/{id}/replies": {
            "get": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "List replies for an productUpdate",
                "description": "Lists paginated set of replies for an productUpdate. By default returns visible replies. A valid `moderatorId` value is required to fetch trashed replies.",
                "operationId": "getRepliesForProductUpdate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of the productUpdate to fetch replies for",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator fetching the replies",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "onlyNotTrashed",
                        "in": "query",
                        "description": "Filter trashed replies from result, for example to retrieve only not trashed replies. Not passing this parameter will return replies including trashed replies",
                        "required": false,
                        "schema": {
                            "type": "boolean"
                        },
                        "example": true
                    },
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    },
                    {
                        "$ref": "#/components/parameters/ReplySort"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/ProductUpdateReplyList"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/productUpdates/{id}/replies/{replyId}": {
            "get": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "Fetch a reply for an productUpdate",
                "description": "By default returns a visible reply. A valid `moderatorId` value is required to fetch a trashed reply.",
                "operationId": "getReplyForProductUpdate",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of the productUpdate to fetch the reply for",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "replyId",
                        "in": "path",
                        "description": "ID of the reply to fetch",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/ProductUpdateReply"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/productUpdates/trashed": {
            "get": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "List of trashed productUpdates",
                "description": "Fetches a paginated list of trashed productUpdates. The result is sorted by last activity in descending order. Last activity is the time the productUpdate was last replied.",
                "operationId": "getTrashedProductUpdateList",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator fetching the trashed productUpdate list",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/ProductUpdateList"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/productUpdates/drafts": {
            "get": {
                "tags": [
                    "ProductUpdates"
                ],
                "summary": "List draft productUpdates",
                "description": "Fetches a paginated list of draft productUpdates. The result is sorted by created date in descending order.",
                "operationId": "getDraftProductUpdateList",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator fetching the draft productUpdate list",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/ProductUpdateList"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/questions/{id}/markAsSpam": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Mark question as spam",
                "description": "This action automatically bans the author of the content by default. Ensure the content clearly violates spam policies before proceeding.",
                "operationId": "markQuestionAsSpam",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "banUser": {
                                        "description": "Whether to ban the author of the content. Defaults to true if not specified.",
                                        "type": "boolean",
                                        "example": false
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Question marked as spam"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/markAsNotSpam": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Mark question as not spam",
                "description": "Allows moderators to correct false spam statuses.",
                "operationId": "markQuestionAsNotSpam",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": []
                    }
                },
                "responses": {
                    "204": {
                        "description": "Question marked as not spam"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/replies/{id}/markAsSpam": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Mark question reply as spam",
                "description": "This action automatically bans the author of the content by default. Ensure the content clearly violates spam policies before proceeding.",
                "operationId": "markQuestionReplyAsSpam",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathQuestionReplyId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "banUser": {
                                        "description": "Whether to ban the author of the content. Defaults to true if not specified.",
                                        "type": "boolean",
                                        "example": false
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Question reply marked as spam"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/replies/{id}/markAsNotSpam": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Mark question reply as not spam",
                "description": "Allows moderators to correct false spam statuses.",
                "operationId": "markQuestionReplyAsNotSpam",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathQuestionReplyId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": []
                    }
                },
                "responses": {
                    "204": {
                        "description": "Question reply marked as not spam"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/ask": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Ask a question",
                "description": "An author can ask a question in a category, providing the title and content. <br/><br/> A question asked by an author is always open, meaning the original author and other authors can reply to it. Authors can also like (& unlike!) a question and individual replies to the question. Authors can also optionally add public tags when asking a question. Authors can optionally ask a question with a poll. A poll consists of a title and options. Existing authors can vote on the poll attached to the question.<br /><br />Moderators can optionally ask a question as closed, which means that only moderators can reply to it. Moderators can also optionally ask a question as sticky, which highlights the question at the top of the category on the community.",
                "operationId": "askQuestion",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "The ID of the author of the question",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AskQuestionRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Question asked",
                        "headers": {
                            "Location": {
                                "description": "Question URL",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "id": {
                                            "description": "The private ID of the created question",
                                            "type": "string"
                                        },
                                        "publicId": {
                                            "description": "The public ID of the created question",
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "403": {
                        "$ref": "#/components/responses/CategoryRestricted"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/editTags": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Tag a question with public tags",
                "description": "An author can edit tags for their questions. Note that this will overwrite existing tags.",
                "operationId": "editQuestionTags",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author editing the question tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditQuestionTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Question tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/tags/add": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Add public tags to a question",
                "description": "Adds one or more public tags without replacing existing tags.",
                "operationId": "addQuestionTags",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author editing the question tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AddPublicTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Question tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/tags/remove": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Remove public tags from a question",
                "description": "Removes one or more public tags without affecting other tags on the question.",
                "operationId": "removeQuestionTags",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author editing the question tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RemovePublicTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Question tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/moderator-tags/add": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Add moderator tags to a question",
                "description": "Adds one or more moderator tags without replacing existing tags.",
                "operationId": "addQuestionModeratorTags",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the question tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AddModeratorTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Question moderator tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/moderator-tags/remove": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Remove moderator tags from a question",
                "description": "Removes one or more moderator tags without affecting other tags on the question.",
                "operationId": "removeQuestionModeratorTags",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the question tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RemoveModeratorTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Question moderator tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/reply": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Reply to a question",
                "operationId": "replyQuestion",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    },
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "The ID of the author of this reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ReplyQuestionRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Question was replied",
                        "headers": {
                            "Location": {
                                "description": "Question reply URL",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/votePoll": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Add a vote to a poll contained in a given question",
                "operationId": "addQuestionPollVote",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author voting on the poll",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AddQuestionPollVoteRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Poll vote has been processed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/like": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Like a question",
                "operationId": "likeQuestion",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    },
                    {
                        "name": "likedBy",
                        "in": "query",
                        "description": "ID the author giving the like",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Question was liked"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/unlike": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Unlike a question",
                "operationId": "unlikeQuestion",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    },
                    {
                        "name": "unlikedBy",
                        "in": "query",
                        "description": "ID the author revoking the like",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Like was revoked from the question"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/replies/{replyId}/answer": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Mark a reply to a question as the answer",
                "description": "The author who originally asked the question or any moderator can mark a reply that resolves the question as answer. <br/> A question can only have one answer. Note, as the question receives more replies the answer can be updated by the author (or any moderator) who considers another reply to be a more suitable answer.",
                "operationId": "answerQuestion",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author or moderator marking the answer",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionReplyId"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reply has been marked as answer"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Questions"
                ],
                "summary": "Remove an answer from a question",
                "description": "The author who originally asked the question or any moderator can remove an answer from a question.",
                "operationId": "removeQuestionAnswer",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "The ID of the author or moderator removing the reply.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionReplyId"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Answer removed from question"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/replies/{replyId}/toggleHighlight": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Mark replies as highlighted or remove the highlight",
                "operationId": "toggleQuestionReplyHighlight",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator updating the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionReplyId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ToggleQuestionReplyHighlightRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Reply highlight was updated"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/replies/{replyId}/promote": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Promote an existing reply to a new conversation",
                "description": "A moderator can promote a reply to a new conversation. The title and category for the conversation are required in the request body.",
                "operationId": "promoteQuestionReply",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator promoting the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionReplyId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PromoteQuestionReplyToConversationRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Reply promoted",
                        "headers": {
                            "Location": {
                                "description": "Conversation URL",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "403": {
                        "$ref": "#/components/responses/CategoryRestricted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/toggleTrashed": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Trash or restore a question",
                "operationId": "toggleQuestionTrashedAction",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator trashing/restoring the question",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ToggleQuestionTrashRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Question trashed state updated"
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/toggleClosed": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Open/Close a question",
                "description": "A moderator can open or close a question for replies.",
                "operationId": "toggleQuestionClosed",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator toggling the closed state of this question",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ToggleQuestionClosedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Question closed state was updated"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/convert": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Convert a question to a conversation",
                "description": "A moderator can convert a question to a conversation. If the question has replies, they are converted to conversation replies.",
                "operationId": "convertQuestion",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator converting the question",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Conversion in progress"
                    },
                    "403": {
                        "$ref": "#/components/responses/CategoryRestricted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/convertToIdea": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Convert a question to an idea",
                "description": "A moderator can convert a question to an idea. If the question has replies, they are converted to idea replies.",
                "operationId": "convertQuestionToIdea",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator converting the question",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Conversion in progress"
                    },
                    "403": {
                        "$ref": "#/components/responses/CategoryRestricted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/move": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Move a question to a different category",
                "description": "A moderator can move a question to a different category. The moderator must have access to the both the category in which the question currently is as well as the category to which the question is to be moved.",
                "operationId": "moveQuestion",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator moving the question",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MoveRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Question was moved"
                    },
                    "403": {
                        "$ref": "#/components/responses/CategoryRestricted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/editTitle": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Edit the title of a question",
                "operationId": "editQuestionTitle",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the question title",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditQuestionTitleRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Question title was changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/editModeratorTags": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Tag a question with moderator tags",
                "description": "A moderator can edit moderator tags for a question. Note that this will overwrite existing moderator tags.",
                "operationId": "editQuestionModeratorTags",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the moderator tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditQuestionModeratorTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Conversation moderator tags were changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/editContent": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Edit the opening post content of a question",
                "description": "An author can change the content of a question for a limited time after asking the question. The default edit time span is 60 minutes. <br/>Moderators can always change the content of a question that was started by any other author.",
                "operationId": "editQuestionContent",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author or moderator making the edits",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditQuestionContentRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Question edited",
                        "headers": {
                            "Location": {
                                "description": "Conversation URL",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/toggleStickyState": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Toggle the sticky state of a question",
                "operationId": "toggleQuestionStickyState",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator toggling the question sticky state",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ToggleQuestionStickyStateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Question sticky state updated"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/replies/{replyId}/move": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Move an existing reply to an existing topic",
                "description": "A reply can be moved to an existing article, question or conversation. The topic id and topic type are required in the request body.",
                "operationId": "moveQuestionReply",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator moving the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionReplyId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/QuestionMoveReplyRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Reply moved"
                    },
                    "403": {
                        "$ref": "#/components/responses/CategoryRestricted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/replies/{replyId}/toggleTrashed": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Trash/restore a reply",
                "operationId": "toggleQuestionReplyTrashed",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator trashing/restoring the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionReplyId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ToggleQuestionReplyTrashedRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Reply trashed state was updated"
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}": {
            "get": {
                "tags": [
                    "Questions"
                ],
                "summary": "Find question by ID",
                "description": "By default returns a visible question. To fetch a trashed question a valid `moderatorId` value is required.",
                "operationId": "getQuestion",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator fetching the question",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "resolveEmbeds",
                        "in": "query",
                        "description": "When set to true, resolves oembed URLs in the content and replaces them with embed HTML",
                        "required": false,
                        "schema": {
                            "type": "boolean",
                            "default": false
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Question"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Questions"
                ],
                "summary": "Permanently delete a trashed question",
                "description": " A moderator can permanently deleted a trashed question. Warning: once permanently deleted, a question cannot be restored.",
                "operationId": "permanentlyDeleteQuestion",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator permanently deleting the question",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Question permanently deleted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/replies/{replyId}/editContent": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Edit a reply",
                "description": "An author can change the content of the reply for a limited time. Default edit time span is 60 minutes. Moderators can always change the content of the reply by any other author.",
                "operationId": "editQuestionReply",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "ID of the author or moderator making the edits",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionReplyId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditQuestionReplyContentRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Reply edited"
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/replies/{replyId}/like": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Like a reply",
                "operationId": "likeQuestionReply",
                "parameters": [
                    {
                        "name": "likedBy",
                        "in": "query",
                        "description": "ID the author giving the like",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionReplyId"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reply was liked"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/replies/{replyId}/unlike": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Unlike a reply",
                "operationId": "unlikeQuestionReply",
                "parameters": [
                    {
                        "name": "unlikedBy",
                        "in": "query",
                        "description": "ID of the author who unlikes the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionReplyId"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Like was revoked from the reply"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/editPollTitle": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Edit the poll title",
                "description": "A moderator can edit the title of a poll. If a poll option has votes, then it cannot be edited.",
                "operationId": "editQuestionPollTitle",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the question poll title",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditQuestionPollTitleRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Question poll title was changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/editPollOptions": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Edit the poll options",
                "description": "A moderator can edit the options of a poll. If a poll option has votes, then it cannot be edited.",
                "operationId": "editQuestionPollOptions",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator editing the question poll title",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EditQuestionPollOptionsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Question poll options changed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/poll": {
            "get": {
                "tags": [
                    "Questions"
                ],
                "summary": "Show poll results",
                "operationId": "getQuestionPollResult",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/Poll"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Questions"
                ],
                "summary": "Delete poll attached to a question",
                "description": "Be cautious when deleting a poll. Once deleted it cannot be restored.",
                "operationId": "deleteQuestionPoll",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator deleting the question poll",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Poll attached to question deleted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/moveToTopic": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Convert a question to a reply",
                "description": "Move a question with no visible replies to an existing topic. It can be converted to a reply of an article, conversation or another question. This action will permanently delete any trashed replies the question may have.",
                "operationId": "moveQuestionToTopic",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator moving the question",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MoveQuestionToTopicRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Question moved to topic"
                    },
                    "403": {
                        "$ref": "#/components/responses/CategoryRestricted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/approve": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Approve a question",
                "operationId": "approveQuestion",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator approving the question",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Question was approved"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/replies/{replyId}/approve": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Approve a reply",
                "operationId": "approveQuestionReply",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathQuestionReplyId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator approving the reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reply was approved"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/report": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Report a question",
                "operationId": "reportQuestion",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    },
                    {
                        "name": "reportedBy",
                        "in": "query",
                        "description": "ID of the author reporting the question",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AbstractReportRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Question was reported"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/replies/{replyId}/report": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Report a question reply",
                "operationId": "reportQuestionReply",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathQuestionReplyId"
                    },
                    {
                        "name": "reportedBy",
                        "in": "query",
                        "description": "ID of the author reporting the question reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AbstractReportRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Question reply was reported"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/resolve": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Resolve reported question",
                "operationId": "resolveReportedQuestion",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    },
                    {
                        "name": "resolvedBy",
                        "in": "query",
                        "description": "ID of the moderator resolving reported question",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reported question was resolved"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/replies/{replyId}/resolve": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Resolve reported question reply",
                "operationId": "resolveReportedQuestionReply",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathQuestionReplyId"
                    },
                    {
                        "name": "resolvedBy",
                        "in": "query",
                        "description": "ID of the moderator resolving the reported question reply",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reported question reply was resolved"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/setModerationLabel": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Set moderation label to question",
                "description": "A moderator can set the moderation label to question.",
                "operationId": "setQuestionModerationLabel",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator to set the moderation label",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SetQuestionModerationLabelRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Moderation label was set to question"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/unsetModerationLabel": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Unset moderation label from question",
                "description": "A moderator can unset the moderation label from question.",
                "operationId": "unsetQuestionModerationLabel",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator to unset the moderation label",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UnsetQuestionModerationLabelRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Moderation label was unset from question"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/assignModerator": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Assign a moderator to question or questions",
                "description": "A moderator can assign another moderator to an question or questions.",
                "operationId": "assignModerator",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator to assign the question",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AssignQuestionModeratorRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Moderator was assigned to the question"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/unassignModerator": {
            "post": {
                "tags": [
                    "Questions"
                ],
                "summary": "Unassign a question or questions",
                "description": "A moderator can unassign a question or questions.",
                "operationId": "unassignModerator",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator to unassign the question",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UnassignQuestionModeratorRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "The question was unassigned"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/questions/{id}/replies": {
            "get": {
                "tags": [
                    "Questions"
                ],
                "summary": "List replies for a question",
                "description": "Lists paginated set of replies for a question. By default returns visible replies. A valid `moderatorId` value is required to fetch trashed replies.",
                "operationId": "getRepliesForQuestion",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathQuestionId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator fetching the replies",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    },
                    {
                        "$ref": "#/components/parameters/ReplySort"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/QuestionReplyList"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/questions/{id}/replies/{replyId}": {
            "get": {
                "tags": [
                    "Questions"
                ],
                "summary": "Fetch a single reply for a question",
                "description": "By default returns a visible reply. A valid `moderatorId` value is required to fetch a trashed reply.",
                "operationId": "getQuestionReply",
                "parameters": [
                    {
                        "description": "ID of the question to fetch the reply for",
                        "$ref": "#/components/parameters/PathQuestionId"
                    },
                    {
                        "$ref": "#/components/parameters/PathQuestionReplyId"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/QuestionReply"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/questions": {
            "get": {
                "tags": [
                    "Questions"
                ],
                "summary": "List questions",
                "description": "Fetches a paginated list of questions sorted by last activity in descending order. Last activity is the time the question was last replied.",
                "operationId": "getQuestionList",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/QuestionList"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/categories/{id}/questions": {
            "get": {
                "tags": [
                    "Questions",
                    "Categories"
                ],
                "summary": "List questions for a category",
                "description": "Fetches a paginated list of questions in a category. The category must be a public category. The result is sorted by last activity in descending order. Last activity is the time the question was last replied.",
                "operationId": "getQuestionListForCategory",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of the category to fetch questions for",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/QuestionList"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/questions/trashed": {
            "get": {
                "tags": [
                    "Questions"
                ],
                "summary": "List trashed questions",
                "description": "Fetches a paginated list of trashed questions. The result is sorted by last activity in descending order. Last activity is the time the question was last replied.",
                "operationId": "getTrashedQuestionList",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator fetching the trashed question list",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/QuestionList"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/conversations/{id}/replies": {
            "get": {
                "tags": [
                    "Conversations"
                ],
                "summary": "List replies for a conversation",
                "description": "Lists paginated set of replies for a conversation. By default returns visible replies. A valid `moderatorId` value is required to fetch trashed replies.",
                "operationId": "getRepliesForConversation",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    },
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "ID of the moderator fetching the replies",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    },
                    {
                        "$ref": "#/components/parameters/ReplySort"
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/ConversationReplyList"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/conversations/{id}/replies/{replyId}": {
            "get": {
                "tags": [
                    "Conversations"
                ],
                "summary": "Fetch a single reply for a conversation",
                "description": "By default returns a visible reply. A valid `moderatorId` value is required to fetch a trashed reply.",
                "operationId": "getReplyForConversation",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/PathConversationId"
                    },
                    {
                        "name": "replyId",
                        "in": "path",
                        "description": "ID of the reply to fetch",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "$ref": "#/components/responses/ConversationReply"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/tags/create": {
            "post": {
                "tags": [
                    "Public Tags"
                ],
                "summary": "Create public tag",
                "operationId": "createPublicTag",
                "parameters": [
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "The ID of the author of the tag",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/CreatePublicTagRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Tag created"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/tags/rename": {
            "post": {
                "tags": [
                    "Public Tags"
                ],
                "summary": "Rename public tag",
                "operationId": "renamePublicTag",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "The ID of the moderator renaming tag",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/RenamePublicTagRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Tag renamed"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/tags/delete": {
            "post": {
                "tags": [
                    "Public Tags"
                ],
                "summary": "Delete public tag",
                "operationId": "deletePublicTag",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "The ID of the moderator deleting tag",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/DeletePublicTagRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Tag deleted"
                    },
                    "404": {
                        "$ref": "#/components/responses/NotFound"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/tags/merge": {
            "post": {
                "tags": [
                    "Public Tags"
                ],
                "summary": "Merge public tags",
                "operationId": "mergePublicTags",
                "parameters": [
                    {
                        "name": "moderatorId",
                        "in": "query",
                        "description": "The ID of the moderator merging tags",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MergePublicTagsRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Tags merged"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/tags": {
            "get": {
                "tags": [
                    "Public Tags"
                ],
                "summary": "List public tags",
                "operationId": "getPublicTagsList",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "The search term which will match the public tag name. Skipping this parameter will return all public tags",
                        "schema": {
                            "type": "string"
                        },
                        "example": "search-term"
                    },
                    {
                        "$ref": "#/components/parameters/PageNumber"
                    },
                    {
                        "$ref": "#/components/parameters/PageSize"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PublicTagList"
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                }
            }
        },
        "/webhooks/{eventName}/subscriptions": {
            "post": {
                "tags": [
                    "Webhooks"
                ],
                "summary": "Subscribe URL to webhook event",
                "operationId": "subscribeWebhook",
                "parameters": [
                    {
                        "name": "eventName",
                        "in": "path",
                        "description": "The event name to subscribe to.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SubscribeUrlWebhookRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "202": {
                        "description": "URL subscribed"
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Webhooks"
                ],
                "summary": "Unsubscribe url from webhook event",
                "operationId": "unsubscribeUrlFromWebhook",
                "parameters": [
                    {
                        "name": "eventName",
                        "in": "path",
                        "description": "The event name to unsubscribe from.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/UnsubscribeUrlFromWebhookRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "URL unsubscribed"
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/webhooks/{eventName}": {
            "delete": {
                "tags": [
                    "Webhooks"
                ],
                "summary": "Unsubscribe All urls from webhook event",
                "operationId": "unsubscribeAllUrlsFromWebhook",
                "parameters": [
                    {
                        "name": "eventName",
                        "in": "path",
                        "description": "The event name to unsubscribe all urls from.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "URLs unsubscribed"
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "write"
                        ]
                    }
                ]
            }
        },
        "/webhooks": {
            "get": {
                "tags": [
                    "Webhooks"
                ],
                "summary": "List of Events Webhook subscriptions for a given event.",
                "operationId": "listEventWebhookSubscriptions",
                "responses": {
                    "200": {
                        "description": "List of EventWebhook subscriptions."
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "read"
                        ]
                    }
                ]
            }
        },
        "/category/getTree": {
            "get": {
                "tags": [
                    "Categories"
                ],
                "summary": "Get categories tree",
                "description": "Returns a hierarchical tree structure of categories filtered by module(s). The response is organized by category module, with each category containing its nested children recursively. Categories are sorted by displayOrder. If topLevelSectionIds is provided, only the specified top-level sections are returned (this filter is only available when querying a single category module).",
                "operationId": "getCategoryTree",
                "parameters": [
                    {
                        "name": "module",
                        "in": "query",
                        "description": "Array of category modules to retrieve. Valid values: community, knowledge-base, groups. Example: ?module[]=community&module[]=groups",
                        "required": true,
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "name": "topLevelSectionIds",
                        "in": "query",
                        "description": "Optional array of top-level section IDs to filter by. Only available when querying a single module. Example: ?topLevelSectionIds[]=1&topLevelSectionIds[]=2",
                        "required": false,
                        "style": "form",
                        "explode": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "integer",
                                "format": "int32",
                                "minimum": 1
                            }
                        }
                    },
                    {
                        "name": "authorId",
                        "in": "query",
                        "description": "The ID of the author making the request",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Categories tree retrieved successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "result": {
                                            "description": "Object keyed by category module, containing arrays of category trees",
                                            "type": "object",
                                            "additionalProperties": {
                                                "description": "Array of top-level categories for this module",
                                                "type": "array",
                                                "items": {
                                                    "properties": {
                                                        "id": {
                                                            "description": "Category ID",
                                                            "type": "integer",
                                                            "format": "int32",
                                                            "example": 1
                                                        },
                                                        "type": {
                                                            "description": "Category module identifier (community, knowledge-base, or groups)",
                                                            "type": "string",
                                                            "example": "community"
                                                        },
                                                        "displayOrder": {
                                                            "description": "Display order for sorting",
                                                            "type": "integer",
                                                            "format": "int32",
                                                            "example": 0
                                                        },
                                                        "title": {
                                                            "description": "Category title",
                                                            "type": "string",
                                                            "example": "General Discussion"
                                                        },
                                                        "description": {
                                                            "description": "Category description",
                                                            "type": "string",
                                                            "example": "General discussion category"
                                                        },
                                                        "parentId": {
                                                            "description": "Parent category ID, null for top-level categories",
                                                            "type": "integer",
                                                            "format": "int32",
                                                            "example": null,
                                                            "nullable": true
                                                        },
                                                        "isSection": {
                                                            "description": "Whether this category is a container/section (renamed from isContainer)",
                                                            "type": "boolean",
                                                            "example": true
                                                        },
                                                        "heroImage": {
                                                            "description": "Hero image filename (40-46 characters)",
                                                            "type": "string",
                                                            "example": null,
                                                            "nullable": true
                                                        },
                                                        "thumbnailImage": {
                                                            "description": "Thumbnail image filename (40-46 characters)",
                                                            "type": "string",
                                                            "example": null,
                                                            "nullable": true
                                                        },
                                                        "supportedContentTypes": {
                                                            "description": "List of supported content types",
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string",
                                                                "example": "idea"
                                                            }
                                                        },
                                                        "children": {
                                                            "description": "Nested array of child categories with the same structure",
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object"
                                                            }
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            }
                                        }
                                    },
                                    "type": "object"
                                },
                                "example": {
                                    "result": {
                                        "community": [
                                            {
                                                "id": 1,
                                                "type": "community",
                                                "displayOrder": 0,
                                                "title": "General Discussion",
                                                "description": "General discussion category",
                                                "parentId": null,
                                                "isSection": true,
                                                "heroImage": null,
                                                "thumbnailImage": null,
                                                "children": [
                                                    {
                                                        "id": 2,
                                                        "type": "community",
                                                        "displayOrder": 0,
                                                        "title": "Subcategory",
                                                        "description": "A subcategory",
                                                        "parentId": 1,
                                                        "isSection": false,
                                                        "heroImage": null,
                                                        "thumbnailImage": null,
                                                        "children": []
                                                    }
                                                ]
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/components/responses/MalformedInput"
                    },
                    "422": {
                        "$ref": "#/components/responses/ValidationError"
                    },
                    "500": {
                        "$ref": "#/components/responses/ServerError"
                    }
                },
                "security": [
                    {
                        "insided_auth": [
                            "read"
                        ]
                    }
                ]
            }
        }
    },
    "components": {
        "schemas": {
            "Poll": {
                "required": [
                    "title",
                    "options"
                ],
                "properties": {
                    "title": {
                        "type": "string",
                        "example": "Which option sounds better?"
                    },
                    "options": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "example": [
                            "Option A",
                            "Option B",
                            "Other"
                        ]
                    }
                },
                "type": "object"
            },
            "BadRequestException": {
                "example": {
                    "message": "Unprocessable entity",
                    "description": "Invalid or missing topic id"
                },
                "allOf": [
                    {
                        "$ref": "#/components/schemas/Exception"
                    },
                    {
                        "properties": {
                            "description": {
                                "description": "Explanation about the error",
                                "type": "string"
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "Exception": {
                "properties": {
                    "message": {
                        "description": "Generic error message",
                        "type": "string",
                        "readOnly": true,
                        "example": "Internal Server Error"
                    }
                },
                "type": "object"
            },
            "Tag": {
                "type": "string",
                "maxLength": 45
            },
            "Author": {
                "properties": {
                    "id": {
                        "description": "Author ID",
                        "type": "string",
                        "example": "7"
                    },
                    "username": {
                        "description": "Username of the author",
                        "type": "string",
                        "example": "awesome_user"
                    },
                    "avatar": {
                        "description": "Avatar of the author",
                        "type": "string",
                        "example": "http://example.com/avatar123.jpg"
                    }
                },
                "type": "object"
            },
            "Links": {
                "properties": {
                    "self": {
                        "description": "The API urls of the requested object"
                    }
                },
                "type": "object"
            },
            "DateRange": {
                "properties": {
                    "from": {
                        "description": "from date e.g. 2018-06-20 (yyyy-mm-dd)",
                        "type": "string",
                        "format": "date"
                    },
                    "to": {
                        "description": "to date e.g. 2018-06-20 (yyyy-mm-dd)",
                        "type": "string",
                        "format": "date"
                    }
                },
                "type": "object",
                "example": {
                    "from": "2018-06-20",
                    "to": "2018-12-20"
                }
            },
            "AddArticlePollRequest": {
                "required": [
                    "title",
                    "options"
                ],
                "properties": {
                    "title": {
                        "type": "string",
                        "example": "What is your favourite feature?"
                    },
                    "options": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "example": [
                            "Option A",
                            "Option B"
                        ]
                    }
                },
                "type": "object"
            },
            "Article": {
                "properties": {
                    "id": {
                        "type": "string",
                        "readOnly": true
                    },
                    "publicId": {
                        "type": "string",
                        "readOnly": true
                    },
                    "title": {
                        "type": "string",
                        "readOnly": true
                    },
                    "featuredImage": {
                        "type": "string",
                        "readOnly": true
                    },
                    "featuredImageAltText": {
                        "type": "string",
                        "readOnly": true
                    },
                    "publicLabel": {
                        "type": "string",
                        "readOnly": true
                    },
                    "body": {
                        "type": "string",
                        "readOnly": true
                    },
                    "author": {
                        "$ref": "#/components/schemas/ConversationAuthor"
                    },
                    "categoryId": {
                        "type": "string",
                        "readOnly": true
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true
                    },
                    "publishedAt": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true
                    },
                    "lastActivityAt": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true
                    },
                    "lastModifiedAt": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true
                    },
                    "replyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "spamReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "pendingReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "totalReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "trashedReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "inclusiveReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "inclusiveVisibleReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "readOnly": true
                    },
                    "moderatorTags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "readOnly": true
                    },
                    "likedBy": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "readOnly": true
                    },
                    "sticky": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "closed": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "trashed": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "containsPoll": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "lastEdit": {
                        "$ref": "#/components/schemas/ArticleEdit"
                    },
                    "status": {
                        "type": "string",
                        "readOnly": true
                    },
                    "scheduledBy": {
                        "$ref": "#/components/schemas/Editor"
                    },
                    "scheduledAt": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true
                    },
                    "poll": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "readOnly": true
                    },
                    "isPreviewPublic": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": true
                    },
                    "seoCommunityUrl": {
                        "type": "string",
                        "readOnly": true
                    },
                    "_links": {
                        "$ref": "#/components/schemas/Links"
                    }
                },
                "type": "object",
                "example": {
                    "id": "1",
                    "publicId": "5",
                    "title": "Let's create an article",
                    "featuredImage": "https://example.com/some-optional-image.png",
                    "featuredImageAltText": "Alt text for the featured image",
                    "publicLabel": "new",
                    "content": "This is the content of a new article",
                    "author": {
                        "id": 7,
                        "username": "AwesomeUser",
                        "customTitle": "Employee",
                        "signature": "Always here to help you...",
                        "avatar": "http://example.com/avatar123.jpg",
                        "reputation": {
                            "rank": "Super Hero",
                            "rankIcon": "http://superhero.rank/icon.png",
                            "rankIconThumb": "http://superhero.rank/icon_thumb.png",
                            "likesReceived": 68,
                            "repliesMade": 324,
                            "badgesReceived": [
                                "http://frequent-poster.badge/icon.png",
                                "http://active-community-member.badge/icon.png"
                            ]
                        }
                    },
                    "categoryId": "6",
                    "createdAt": "2017-04-10T15:29:06+00:00",
                    "replyCount": 21,
                    "spamReplyCount": 21,
                    "pendingReplyCount": 20,
                    "trashedReplyCount": 19,
                    "totalReplyCount": 18,
                    "tags": [
                        "announcement",
                        "important article"
                    ],
                    "moderatorTags": [],
                    "sticky": false,
                    "closed": true,
                    "trashed": false,
                    "containsPoll": false,
                    "lastEdit": {
                        "id": "1",
                        "editor": {
                            "id": 7,
                            "username": "AwesomeUser",
                            "avatar": ""
                        },
                        "editedAt": "2017-04-11T15:29:06+00:00"
                    },
                    "scheduledBy": {
                        "id": 7,
                        "username": "AwesomeUser"
                    },
                    "status": "published",
                    "publishedAt": "2017-05-10T15:29:06+00:00",
                    "isPreviewPublic": true,
                    "seoCommunityUrl": "/category-name-6/let-s-create-an-article-5",
                    "_links": {
                        "self": {
                            "href": "/articles/1"
                        }
                    }
                }
            },
            "ArticleEdit": {
                "properties": {
                    "id": {
                        "type": "string",
                        "readOnly": true
                    },
                    "editor": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "readOnly": true
                    },
                    "editedAt": {
                        "type": "boolean",
                        "readOnly": true
                    }
                },
                "type": "object"
            },
            "ArticleList": {
                "properties": {
                    "result": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Article"
                        }
                    }
                },
                "type": "object"
            },
            "ArticlePollVoteRequest": {
                "required": [
                    "selectedOption"
                ],
                "properties": {
                    "selectedOption": {
                        "type": "string",
                        "example": "Option B"
                    }
                },
                "type": "object"
            },
            "ArticleReply": {
                "properties": {
                    "id": {
                        "type": "string",
                        "readOnly": true,
                        "example": "2"
                    },
                    "publicReplyId": {
                        "type": "string",
                        "readOnly": true,
                        "example": "5"
                    },
                    "content": {
                        "type": "string",
                        "readOnly": true,
                        "example": "I completely agree with the topic starter"
                    },
                    "author": {
                        "$ref": "#/components/schemas/ConversationAuthor"
                    },
                    "repliedAt": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "example": "2017-04-10T15:29:06+00:00"
                    },
                    "inclusiveReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "inclusiveVisibleReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "trashed": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": false
                    },
                    "spam": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "reported": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "reportedContent": {
                        "items": {
                            "$ref": "#/components/schemas/ReportedContent"
                        },
                        "readOnly": true
                    },
                    "pendingApproval": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": false
                    },
                    "highlighted": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": false
                    },
                    "likedBy": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "readOnly": true
                    },
                    "permalink": {
                        "description": "Direct URL to this reply",
                        "type": "string",
                        "readOnly": true,
                        "example": "https://community.example.com/category-1/topic-title-123?postid=5#post5"
                    }
                },
                "type": "object"
            },
            "ArticleReplyList": {
                "properties": {
                    "result": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ArticleReply"
                        }
                    }
                },
                "type": "object"
            },
            "AssignArticleModeratorRequest": {
                "required": [
                    "articleIds",
                    "assignedTo"
                ],
                "properties": {
                    "articleIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "1"
                        },
                        "minItems": 1
                    },
                    "assignedTo": {
                        "type": "string",
                        "example": "6"
                    }
                },
                "type": "object"
            },
            "ChangeArticleAuthorRequest": {
                "required": [
                    "authorId"
                ],
                "properties": {
                    "authorId": {
                        "type": "string",
                        "example": "7"
                    }
                },
                "type": "object"
            },
            "CreateArticleRequest": {
                "required": [
                    "title",
                    "content",
                    "categoryId"
                ],
                "properties": {
                    "title": {
                        "type": "string",
                        "maxLength": 250,
                        "minLength": 1,
                        "pattern": "[a-z0-9]",
                        "example": "This is an interesting article"
                    },
                    "featuredImage": {
                        "description": "Supported types: 'png', 'jpeg', 'jpg', 'gif'",
                        "type": "string",
                        "example": "https://example.com/some-optional-image.png"
                    },
                    "featuredImageAltText": {
                        "description": "Alternative text description for the featured image",
                        "type": "string",
                        "maxLength": 125,
                        "example": "Alt text for the featured image"
                    },
                    "publicLabel": {
                        "type": "string",
                        "maxLength": 100,
                        "example": "New"
                    },
                    "content": {
                        "type": "string",
                        "maxLength": 100000,
                        "minLength": 1,
                        "example": "This will explain all you need to know about everything"
                    },
                    "categoryId": {
                        "type": "integer",
                        "format": "int32",
                        "minimum": 1,
                        "example": 31
                    },
                    "poll": {
                        "$ref": "#/components/schemas/Poll"
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tag"
                        },
                        "example": [
                            "question",
                            "urgent"
                        ]
                    },
                    "sticky": {
                        "description": "Setting this property requires a moderator",
                        "type": "boolean",
                        "example": false
                    },
                    "closed": {
                        "description": "Setting this property requires a moderator",
                        "type": "boolean",
                        "example": false
                    },
                    "moderatorTags": {
                        "description": "Setting this property requires a moderator",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tag"
                        },
                        "example": [
                            "highlighted"
                        ]
                    }
                },
                "type": "object"
            },
            "EditArticleContentRequest": {
                "required": [
                    "content"
                ],
                "properties": {
                    "content": {
                        "type": "string",
                        "maxLength": 100000,
                        "minLength": 1,
                        "example": "My updated content"
                    }
                },
                "type": "object"
            },
            "EditArticleFeaturedImageAltTextRequest": {
                "required": [
                    "featuredImageAltText"
                ],
                "properties": {
                    "featuredImageAltText": {
                        "description": "Alternative text description for the featured image",
                        "type": "string",
                        "maxLength": 125,
                        "example": "Alt text for the featured image"
                    }
                },
                "type": "object"
            },
            "EditArticleFeaturedImageRequest": {
                "required": [
                    "featuredImage"
                ],
                "properties": {
                    "featuredImage": {
                        "type": "string",
                        "example": "http://example.com/featuredImage.jpg"
                    }
                },
                "type": "object"
            },
            "EditArticleModeratorTagsRequest": {
                "required": [
                    "moderatorTags"
                ],
                "properties": {
                    "moderatorTags": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tag"
                        },
                        "example": [
                            "important",
                            "announcement"
                        ]
                    }
                },
                "type": "object"
            },
            "EditArticlePollOptionsRequest": {
                "required": [
                    "options"
                ],
                "properties": {
                    "options": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EditArticlePollOptionsRequest"
                        },
                        "example": [
                            "option A",
                            "option B"
                        ]
                    }
                },
                "type": "object"
            },
            "EditArticlePollTitleRequest": {
                "required": [
                    "title"
                ],
                "properties": {
                    "title": {
                        "type": "string",
                        "example": "My updated poll title"
                    }
                },
                "type": "object"
            },
            "EditArticlePublicLabelRequest": {
                "required": [
                    "publicLabel"
                ],
                "properties": {
                    "publicLabel": {
                        "type": "string",
                        "example": "News"
                    }
                },
                "type": "object"
            },
            "EditArticleReplyContentRequest": {
                "required": [
                    "content"
                ],
                "properties": {
                    "content": {
                        "type": "string",
                        "maxLength": 100000,
                        "minLength": 1,
                        "example": "My updated content"
                    }
                },
                "type": "object"
            },
            "EditArticleTagsRequest": {
                "required": [
                    "tags"
                ],
                "properties": {
                    "tags": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tag"
                        },
                        "example": [
                            "important",
                            "announcement"
                        ]
                    }
                },
                "type": "object"
            },
            "EditArticleTitleRequest": {
                "required": [
                    "title"
                ],
                "properties": {
                    "title": {
                        "type": "string",
                        "maxLength": 250,
                        "minLength": 1,
                        "example": "My updated title"
                    }
                },
                "type": "object"
            },
            "Editor": {
                "properties": {
                    "id": {
                        "type": "string",
                        "readOnly": true
                    },
                    "username": {
                        "type": "string",
                        "readOnly": true
                    },
                    "avatar": {
                        "type": "string",
                        "readOnly": true
                    }
                },
                "type": "object"
            },
            "ArticleMoveReplyRequest": {
                "required": [
                    "topicId",
                    "topicType"
                ],
                "properties": {
                    "topicId": {
                        "type": "string",
                        "example": "6"
                    },
                    "topicType": {
                        "type": "string",
                        "example": "question"
                    }
                },
                "type": "object"
            },
            "PromoteArticleReplyToConversationRequest": {
                "required": [
                    "categoryId"
                ],
                "properties": {
                    "categoryId": {
                        "type": "integer",
                        "format": "int32",
                        "minimum": 1,
                        "example": 31
                    },
                    "title": {
                        "type": "string",
                        "maxLength": 250,
                        "minLength": 1,
                        "pattern": "[a-z0-9]",
                        "example": "I have a question"
                    }
                },
                "type": "object"
            },
            "ReplyArticleRequest": {
                "required": [
                    "content"
                ],
                "properties": {
                    "content": {
                        "type": "string",
                        "maxLength": 100000,
                        "minLength": 1,
                        "example": "Can anyone help me?"
                    },
                    "highlight": {
                        "description": "Setting this to true will create a highlighted reply. This will require moderator access",
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "SetArticleModerationLabelRequest": {
                "required": [
                    "articleIds",
                    "moderationLabelId"
                ],
                "properties": {
                    "articleIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "31"
                        },
                        "minItems": 1
                    },
                    "moderationLabelId": {
                        "type": "string",
                        "example": "6"
                    }
                },
                "type": "object"
            },
            "ToggleArticleClosedRequest": {
                "required": [
                    "closed"
                ],
                "properties": {
                    "closed": {
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "ToggleArticleReplyHighlightRequest": {
                "required": [
                    "highlighted"
                ],
                "properties": {
                    "highlighted": {
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "ToggleArticleReplyTrashedRequest": {
                "required": [
                    "trashed"
                ],
                "properties": {
                    "trashed": {
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "ToggleArticleStickyStateRequest": {
                "required": [
                    "sticky"
                ],
                "properties": {
                    "sticky": {
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "ToggleArticleTrashedRequest": {
                "required": [
                    "trashed"
                ],
                "properties": {
                    "trashed": {
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "UnassignArticleModeratorRequest": {
                "required": [
                    "articleIds"
                ],
                "properties": {
                    "articleIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "1"
                        },
                        "minItems": 1
                    }
                },
                "type": "object"
            },
            "UnsetArticleModerationLabelRequest": {
                "required": [
                    "articleIds"
                ],
                "properties": {
                    "articleIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "31"
                        },
                        "minItems": 1
                    }
                },
                "type": "object"
            },
            "AbstractReportRequest": {
                "required": [
                    "reason"
                ],
                "properties": {
                    "reason": {
                        "type": "string",
                        "maxLength": 250,
                        "minLength": 1,
                        "pattern": "[a-z0-9]"
                    }
                },
                "type": "object"
            },
            "AddModeratorTagsRequest": {
                "required": [
                    "tags"
                ],
                "properties": {
                    "tags": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tag"
                        },
                        "example": [
                            "important",
                            "announcement"
                        ]
                    }
                },
                "type": "object"
            },
            "AddPublicTagsRequest": {
                "required": [
                    "tags"
                ],
                "properties": {
                    "tags": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tag"
                        },
                        "example": [
                            "important",
                            "announcement"
                        ]
                    }
                },
                "type": "object"
            },
            "AssignBugStatusRequest": {
                "required": [
                    "bugStatusId"
                ],
                "properties": {
                    "bugStatusId": {
                        "description": "The ID of the bug status to assign",
                        "type": "integer",
                        "format": "int32",
                        "minimum": 1,
                        "example": 3
                    }
                },
                "type": "object"
            },
            "MoveRequest": {
                "required": [
                    "categoryId"
                ],
                "properties": {
                    "categoryId": {
                        "type": "integer",
                        "format": "int32",
                        "minimum": 1,
                        "example": 31
                    }
                },
                "type": "object"
            },
            "RemoveCategoryRequest": [],
            "RemoveModeratorTagsRequest": {
                "required": [
                    "tags"
                ],
                "properties": {
                    "tags": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tag"
                        },
                        "example": [
                            "important",
                            "announcement"
                        ]
                    }
                },
                "type": "object"
            },
            "RemovePublicTagsRequest": {
                "required": [
                    "tags"
                ],
                "properties": {
                    "tags": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tag"
                        },
                        "example": [
                            "important",
                            "announcement"
                        ]
                    }
                },
                "type": "object"
            },
            "ContentStatusDto": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": true
                    },
                    "name": {
                        "type": "string",
                        "readOnly": true
                    },
                    "backgroundColor": {
                        "type": "string",
                        "readOnly": true
                    },
                    "textColor": {
                        "type": "string",
                        "readOnly": true
                    }
                },
                "type": "object"
            },
            "AssignConversationModeratorRequest": {
                "required": [
                    "conversationIds",
                    "assignedTo"
                ],
                "properties": {
                    "conversationIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "1"
                        },
                        "minItems": 1
                    },
                    "assignedTo": {
                        "type": "string",
                        "example": "6"
                    }
                },
                "type": "object"
            },
            "Category": {
                "properties": {
                    "id": {
                        "type": "string",
                        "readOnly": true
                    },
                    "name": {
                        "type": "string",
                        "readOnly": true
                    },
                    "order": {
                        "type": "integer",
                        "readOnly": true
                    }
                },
                "type": "object",
                "example": {
                    "id": "1",
                    "name": "An example category",
                    "order": 0
                }
            },
            "CategoryList": {
                "properties": {
                    "result": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Category"
                        }
                    }
                },
                "type": "object"
            },
            "Conversation": {
                "properties": {
                    "id": {
                        "type": "string",
                        "readOnly": true
                    },
                    "publicId": {
                        "type": "string",
                        "readOnly": true
                    },
                    "title": {
                        "type": "string",
                        "readOnly": true
                    },
                    "content": {
                        "type": "string",
                        "readOnly": true
                    },
                    "author": {
                        "$ref": "#/components/schemas/ConversationAuthor"
                    },
                    "categoryId": {
                        "type": "string",
                        "readOnly": true
                    },
                    "startedAt": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true
                    },
                    "lastActivityAt": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true
                    },
                    "replyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "spamReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "pendingReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "totalReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "trashedReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "inclusiveReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "inclusiveVisibleReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "readOnly": true
                    },
                    "moderatorTags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "readOnly": true
                    },
                    "likedBy": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "readOnly": true
                    },
                    "sticky": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "closed": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "trashed": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "spam": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "reported": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "reportedContent": {
                        "items": {
                            "$ref": "#/components/schemas/ReportedContent"
                        },
                        "readOnly": true
                    },
                    "containsPoll": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "pinnedReplyId": {
                        "type": "string",
                        "readOnly": true
                    },
                    "seoCommunityUrl": {
                        "type": "string",
                        "readOnly": true
                    }
                },
                "type": "object",
                "example": {
                    "id": "1",
                    "publicId": "5",
                    "title": "Let's start a conversation",
                    "content": "This is the opening post of a new conversation",
                    "author": {
                        "id": 7,
                        "username": "AwesomeUser",
                        "customTitle": "Employee",
                        "signature": "Always here to help you...",
                        "avatar": "http://example.com/avatar123.jpg",
                        "reputation": {
                            "rank": "Super Hero",
                            "rankIcon": "http://superhero.rank/icon.png",
                            "rankIconThumb": "http://superhero.rank/icon_thumb.png",
                            "likesReceived": 68,
                            "repliesMade": 324,
                            "badgesReceived": [
                                "http://frequent-poster.badge/icon.png",
                                "http://active-community-member.badge/icon.png"
                            ]
                        }
                    },
                    "categoryId": "6",
                    "startedAt": "2017-04-10T15:29:06+00:00",
                    "lastActivityAt": "2017-04-10T18:29:06+00:00",
                    "replyCount": 21,
                    "spamReplyCount": 21,
                    "pendingReplyCount": 20,
                    "trashedReplyCount": 19,
                    "totalReplyCount": 18,
                    "tags": [
                        "announcement",
                        "first topic"
                    ],
                    "moderatorTags": [],
                    "sticky": false,
                    "closed": true,
                    "trashed": false,
                    "pendingApproval": false,
                    "containsPoll": false,
                    "pinnedReplyId": "1",
                    "seoCommunityUrl": "/category-name-6/let-s-start-a-conversation-5"
                }
            },
            "ConversationAuthor": {
                "properties": {
                    "id": {
                        "description": "Author ID",
                        "type": "string",
                        "example": "7"
                    },
                    "username": {
                        "description": "Username of the author",
                        "type": "string",
                        "example": "john-doe"
                    },
                    "customTitle": {
                        "description": "Custom title of the author",
                        "type": "string",
                        "example": "awesome_user"
                    },
                    "signature": {
                        "description": "Custom title of the author",
                        "type": "string",
                        "example": "awesome_user"
                    },
                    "avatar": {
                        "description": "Avatar of the author",
                        "type": "string",
                        "example": "http://example.com/avatar123.jpg"
                    },
                    "reputation": {
                        "$ref": "#/components/schemas/Reputation"
                    }
                },
                "type": "object"
            },
            "ConversationList": {
                "properties": {
                    "result": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Conversation"
                        }
                    }
                },
                "type": "object"
            },
            "CopyConversationRequest": {
                "required": [
                    "categoryIds"
                ],
                "properties": {
                    "categoryIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "31"
                        },
                        "minItems": 1
                    }
                },
                "type": "object"
            },
            "CopyConversationResult": {
                "description": "List of conversation IDs for the newly created copies",
                "type": "array",
                "items": {
                    "type": "string",
                    "example": "6"
                },
                "example": [
                    "6",
                    "10",
                    "23"
                ]
            },
            "EditConversationContentRequest": {
                "required": [
                    "content"
                ],
                "properties": {
                    "content": {
                        "type": "string",
                        "maxLength": 100000,
                        "minLength": 1,
                        "example": "My updated content"
                    }
                },
                "type": "object"
            },
            "EditConversationModeratorTagsRequest": {
                "required": [
                    "moderatorTags"
                ],
                "properties": {
                    "moderatorTags": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tag"
                        },
                        "example": [
                            "important",
                            "announcement"
                        ]
                    }
                },
                "type": "object"
            },
            "EditConversationPollOptionsRequest": {
                "required": [
                    "options"
                ],
                "properties": {
                    "options": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EditConversationPollOptionsRequest"
                        },
                        "example": [
                            "option A",
                            "option B"
                        ]
                    }
                },
                "type": "object"
            },
            "EditConversationPollTitleRequest": {
                "required": [
                    "title"
                ],
                "properties": {
                    "title": {
                        "type": "string",
                        "example": "My updated poll title"
                    }
                },
                "type": "object"
            },
            "EditConversationTagsRequest": {
                "required": [
                    "tags"
                ],
                "properties": {
                    "tags": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tag"
                        },
                        "example": [
                            "improvement",
                            "suggestion"
                        ]
                    }
                },
                "type": "object"
            },
            "EditConversationTitleRequest": {
                "required": [
                    "title"
                ],
                "properties": {
                    "title": {
                        "type": "string",
                        "maxLength": 250,
                        "minLength": 1,
                        "example": "My updated title"
                    }
                },
                "type": "object"
            },
            "EditReplyContentRequest": {
                "required": [
                    "content"
                ],
                "properties": {
                    "content": {
                        "type": "string",
                        "maxLength": 100000,
                        "minLength": 1,
                        "example": "My updated content"
                    }
                },
                "type": "object"
            },
            "MoveConversationToTopicRequest": {
                "required": [
                    "topicId",
                    "topicType"
                ],
                "properties": {
                    "topicId": {
                        "type": "string",
                        "example": "6"
                    },
                    "topicType": {
                        "type": "string",
                        "example": "question"
                    }
                },
                "type": "object"
            },
            "MoveReplyRequest": {
                "required": [
                    "topicId",
                    "topicType"
                ],
                "properties": {
                    "topicId": {
                        "type": "string",
                        "example": "6"
                    },
                    "topicType": {
                        "type": "string",
                        "example": "conversation"
                    }
                },
                "type": "object"
            },
            "PollResult": {
                "properties": {
                    "title": {
                        "type": "string"
                    },
                    "votes": {
                        "type": "string",
                        "additionalProperties": []
                    }
                },
                "type": "object",
                "example": {
                    "title": "My Poll",
                    "votes": {
                        "Option A": 0,
                        "Option B": 2,
                        "Option C": 0
                    }
                }
            },
            "PollVoteRequest": {
                "required": [
                    "selectedOption"
                ],
                "properties": {
                    "selectedOption": {
                        "type": "string",
                        "example": "Option B"
                    }
                },
                "type": "object"
            },
            "PromoteReplyToConversationRequest": {
                "required": [
                    "categoryId"
                ],
                "properties": {
                    "categoryId": {
                        "type": "integer",
                        "format": "int32",
                        "minimum": 1,
                        "example": 31
                    },
                    "title": {
                        "type": "string",
                        "maxLength": 250,
                        "minLength": 1,
                        "pattern": "[a-z0-9]",
                        "example": "I have a question"
                    }
                },
                "type": "object"
            },
            "Reply": {
                "properties": {
                    "id": {
                        "type": "string",
                        "readOnly": true,
                        "example": "2"
                    },
                    "publicReplyId": {
                        "type": "string",
                        "readOnly": true,
                        "example": "5"
                    },
                    "content": {
                        "type": "string",
                        "readOnly": true,
                        "example": "I completely agree with the topic starter"
                    },
                    "author": {
                        "$ref": "#/components/schemas/ConversationAuthor"
                    },
                    "repliedAt": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "example": "2017-04-10T15:29:06+00:00"
                    },
                    "inclusiveReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "inclusiveVisibleReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "trashed": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": false
                    },
                    "spam": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "reported": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "reportedContent": {
                        "items": {
                            "$ref": "#/components/schemas/ReportedContent"
                        },
                        "readOnly": true
                    },
                    "pendingApproval": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": false
                    },
                    "highlighted": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": false
                    },
                    "likedBy": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "readOnly": true
                    },
                    "permalink": {
                        "description": "Direct URL to this reply",
                        "type": "string",
                        "readOnly": true,
                        "example": "https://community.example.com/category-1/topic-title-123?postid=5#post5"
                    }
                },
                "type": "object"
            },
            "ReplyConversationRequest": {
                "required": [
                    "content"
                ],
                "properties": {
                    "content": {
                        "type": "string",
                        "maxLength": 100000,
                        "minLength": 1,
                        "example": "Can anyone help me?"
                    },
                    "highlight": {
                        "description": "Setting this to true will create a highlighted reply. This will require moderator access",
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "ReplyList": {
                "properties": {
                    "result": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Reply"
                        }
                    }
                },
                "type": "object"
            },
            "Reputation": {
                "properties": {
                    "rank": {
                        "description": "Rank of the author",
                        "type": "string",
                        "example": "senior_replier"
                    },
                    "rankIcon": {
                        "description": "Rank icon",
                        "type": "string",
                        "example": "http://example.com/rank-icon.jpg"
                    },
                    "rankIconThumbnail": {
                        "description": "Rank icon thumbnail",
                        "type": "string",
                        "example": "http://example.com/rank-icon-thumbnail.jpg"
                    },
                    "likesReceived": {
                        "description": "Number of likes the author received",
                        "type": "integer"
                    },
                    "repliesMade": {
                        "description": "Total number of replies the author made in the community",
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "SetConversationModerationLabelRequest": {
                "required": [
                    "conversationIds",
                    "moderationLabelId"
                ],
                "properties": {
                    "conversationIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "31"
                        },
                        "minItems": 1
                    },
                    "moderationLabelId": {
                        "type": "string",
                        "example": "6"
                    }
                },
                "type": "object"
            },
            "StartConversationRequest": {
                "required": [
                    "title",
                    "content",
                    "categoryId"
                ],
                "properties": {
                    "title": {
                        "type": "string",
                        "maxLength": 250,
                        "minLength": 1,
                        "pattern": "[a-z0-9]",
                        "example": "Welcome to the community"
                    },
                    "content": {
                        "type": "string",
                        "maxLength": 100000,
                        "minLength": 1,
                        "example": "Is this your first visit to our community-driven Help Center? Well then welcome to our small world of awesomeness!"
                    },
                    "categoryId": {
                        "type": "integer",
                        "format": "int32",
                        "minimum": 1,
                        "example": 31
                    },
                    "poll": {
                        "$ref": "#/components/schemas/Poll"
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tag"
                        },
                        "example": [
                            "new",
                            "welcome"
                        ]
                    },
                    "sticky": {
                        "description": "Setting this property requires a moderator",
                        "type": "boolean",
                        "example": false
                    },
                    "closed": {
                        "description": "Setting this property requires a moderator",
                        "type": "boolean",
                        "example": false
                    },
                    "moderatorTags": {
                        "description": "Setting this property requires a moderator",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tag"
                        },
                        "example": [
                            "highlighted"
                        ]
                    }
                },
                "type": "object"
            },
            "ToggleConversationClosedRequest": {
                "required": [
                    "closed"
                ],
                "properties": {
                    "closed": {
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "ToggleConversationStickyStateRequest": {
                "required": [
                    "sticky"
                ],
                "properties": {
                    "sticky": {
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "ToggleConversationTrashRequest": {
                "required": [
                    "trashed"
                ],
                "properties": {
                    "trashed": {
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "ToggleReplyHighlightRequest": {
                "required": [
                    "highlighted"
                ],
                "properties": {
                    "highlighted": {
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "ToggleReplyTrashedRequest": {
                "required": [
                    "trashed"
                ],
                "properties": {
                    "trashed": {
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "UnassignConversationModeratorRequest": {
                "required": [
                    "conversationIds"
                ],
                "properties": {
                    "conversationIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "1"
                        },
                        "minItems": 1
                    }
                },
                "type": "object"
            },
            "UnsetConversationModerationLabelRequest": {
                "required": [
                    "conversationIds"
                ],
                "properties": {
                    "conversationIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "31"
                        },
                        "minItems": 1
                    }
                },
                "type": "object"
            },
            "AssignIdeaStatusRequest": {
                "required": [
                    "ideaStatusId"
                ],
                "properties": {
                    "ideaStatusId": {
                        "type": "string",
                        "example": "1"
                    }
                },
                "type": "object"
            },
            "AssignIdeaModeratorRequest": {
                "required": [
                    "ideaIds",
                    "assignedTo"
                ],
                "properties": {
                    "ideaIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "1"
                        },
                        "minItems": 1
                    },
                    "assignedTo": {
                        "type": "string",
                        "example": "6"
                    }
                },
                "type": "object"
            },
            "ChangeIdeaStatusTypeRequest": {
                "required": [
                    "type"
                ],
                "properties": {
                    "type": {
                        "description": "The type is used in analytics dashboards and lets the system know how to interpret various idea statuses.",
                        "type": "string",
                        "enum": [
                            "closed",
                            "delivered",
                            "open"
                        ],
                        "example": "closed"
                    }
                },
                "type": "object"
            },
            "ConvertIdeaToConversationRequest": {
                "required": [
                    "categoryId"
                ],
                "properties": {
                    "categoryId": {
                        "type": "integer",
                        "format": "int32",
                        "minimum": 1,
                        "example": 31
                    }
                },
                "type": "object"
            },
            "ConvertIdeaToQuestionRequest": {
                "required": [
                    "categoryId"
                ],
                "properties": {
                    "categoryId": {
                        "type": "integer",
                        "format": "int32",
                        "minimum": 1,
                        "example": 31
                    }
                },
                "type": "object"
            },
            "CreateIdeaStatusRequest": {
                "required": [
                    "name"
                ],
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 100,
                        "example": "An ideaStatus to be added"
                    },
                    "backgroundColor": {
                        "type": "string",
                        "maxLength": 6,
                        "minLength": 6,
                        "example": "#ffffff"
                    },
                    "textColor": {
                        "type": "string",
                        "maxLength": 6,
                        "minLength": 6,
                        "example": "#ffffff"
                    },
                    "default": {
                        "type": "boolean",
                        "example": "false"
                    },
                    "visible": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "type": {
                        "description": "The type assigned to an ideation status and lets the system know how to interpret various idea statuses.",
                        "type": "string",
                        "enum": [
                            "closed",
                            "delivered",
                            "open"
                        ],
                        "example": "open"
                    }
                },
                "type": "object"
            },
            "EditIdeaContentRequest": {
                "required": [
                    "content"
                ],
                "properties": {
                    "content": {
                        "type": "string",
                        "maxLength": 100000,
                        "minLength": 1,
                        "example": "My updated content"
                    }
                },
                "type": "object"
            },
            "EditIdeaModeratorTagsRequest": {
                "required": [
                    "moderatorTags"
                ],
                "properties": {
                    "moderatorTags": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tag"
                        },
                        "example": [
                            "important",
                            "announcement"
                        ]
                    }
                },
                "type": "object"
            },
            "EditIdeaProductAreasRequest": {
                "required": [
                    "productAreas"
                ],
                "properties": {
                    "productAreas": {
                        "description": "A comma-separated list of product area ids the Update refers to",
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "example": [
                            "1",
                            "2"
                        ]
                    }
                },
                "type": "object"
            },
            "EditIdeaStatusRequest": {
                "required": [
                    "name"
                ],
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 100,
                        "example": "An ideaStatus to be added"
                    },
                    "backgroundColor": {
                        "type": "string",
                        "maxLength": 6,
                        "minLength": 6,
                        "example": "#ffffff"
                    },
                    "textColor": {
                        "type": "string",
                        "maxLength": 6,
                        "minLength": 6,
                        "example": "#ffffff"
                    },
                    "default": {
                        "type": "boolean",
                        "example": "false"
                    },
                    "visible": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "type": {
                        "description": "The type assigned to an ideation status and lets the system know how to interpret various idea statuses.",
                        "type": "string",
                        "enum": [
                            "closed",
                            "delivered",
                            "open"
                        ],
                        "example": "open"
                    }
                },
                "type": "object"
            },
            "EditIdeaTagsRequest": {
                "required": [
                    "tags"
                ],
                "properties": {
                    "tags": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tag"
                        },
                        "example": [
                            "improvement",
                            "suggestion"
                        ]
                    }
                },
                "type": "object"
            },
            "EditIdeaTitleRequest": {
                "required": [
                    "title"
                ],
                "properties": {
                    "title": {
                        "type": "string",
                        "maxLength": 250,
                        "minLength": 1,
                        "example": "My updated title"
                    }
                },
                "type": "object"
            },
            "EditIdeaReplyContentRequest": {
                "required": [
                    "content"
                ],
                "properties": {
                    "content": {
                        "type": "string",
                        "maxLength": 100000,
                        "minLength": 1,
                        "example": "My updated content"
                    }
                },
                "type": "object"
            },
            "Idea": {
                "properties": {
                    "id": {
                        "type": "string",
                        "readOnly": true
                    },
                    "publicId": {
                        "type": "string",
                        "readOnly": true
                    },
                    "title": {
                        "type": "string",
                        "readOnly": true
                    },
                    "content": {
                        "type": "string",
                        "readOnly": true
                    },
                    "author": {
                        "$ref": "#/components/schemas/ConversationAuthor"
                    },
                    "submittedAt": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true
                    },
                    "lastActivityAt": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true
                    },
                    "replyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "spamReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "pendingReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "trashedReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "totalReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "inclusiveReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "inclusiveVisibleReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "readOnly": true
                    },
                    "moderatorTags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "readOnly": true
                    },
                    "votedBy": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "readOnly": true
                    },
                    "sticky": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "closed": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "trashed": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "spam": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "reported": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "reportedContent": {
                        "items": {
                            "$ref": "#/components/schemas/ReportedContent"
                        },
                        "readOnly": true
                    },
                    "assignedModerator": {
                        "type": "string",
                        "readOnly": true
                    },
                    "moderationLabel": {
                        "$ref": "#/components/schemas/ModerationLabel"
                    },
                    "pinnedReplyId": {
                        "type": "string",
                        "readOnly": true
                    },
                    "productAreas": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "readOnly": true
                    },
                    "ideaStatusChangedAt": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true
                    },
                    "seoCommunityUrl": {
                        "type": "string",
                        "readOnly": true
                    }
                },
                "type": "object",
                "example": {
                    "id": "1",
                    "publicId": "5",
                    "title": "Let's submit a idea",
                    "content": "This is the opening post of a new idea",
                    "author": {
                        "id": 7,
                        "username": "AwesomeUser",
                        "customTitle": "Employee",
                        "signature": "Always here to help you...",
                        "avatar": "http://example.com/avatar123.jpg",
                        "reputation": {
                            "rank": "Super Hero",
                            "rankIcon": "http://superhero.rank/icon.png",
                            "rankIconThumb": "http://superhero.rank/icon_thumb.png",
                            "votesReceived": 68,
                            "repliesMade": 324,
                            "badgesReceived": [
                                "http://frequent-poster.badge/icon.png",
                                "http://active-community-member.badge/icon.png"
                            ]
                        }
                    },
                    "submittedAt": "2017-04-10T15:29:06+00:00",
                    "lastActivityAt": "2017-04-10T18:29:06+00:00",
                    "replyCount": 21,
                    "spamReplyCount": 21,
                    "pendingReplyCount": 20,
                    "trashedReplyCount": 19,
                    "totalReplyCount": 18,
                    "tags": [
                        "announcement",
                        "first topic"
                    ],
                    "moderatorTags": [],
                    "sticky": false,
                    "closed": true,
                    "trashed": false,
                    "pendingApproval": false,
                    "assignedModerator": "1",
                    "moderationLabel": {
                        "id": "1",
                        "title": "Moderation Label"
                    },
                    "pinnedReplyId": "1",
                    "ideaStatus": {
                        "id": "1",
                        "name": "New",
                        "backgroundColor": "2aaae1",
                        "textColor": "ffffff",
                        "default": true,
                        "visible": true,
                        "type": "open"
                    },
                    "ideaStatusChangedAt": "2017-04-10T15:29:06+00:00",
                    "votedBy": [
                        "7",
                        "8"
                    ],
                    "seoCommunityUrl": "/ideas/let-s-submit-an-idea-5"
                }
            },
            "IdeaList": {
                "properties": {
                    "result": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Idea"
                        }
                    }
                },
                "type": "object"
            },
            "IdeaStatus": {
                "properties": {
                    "id": {
                        "type": "string",
                        "readOnly": true
                    },
                    "name": {
                        "type": "string",
                        "readOnly": true
                    },
                    "backgroundColor": {
                        "type": "string",
                        "readOnly": true
                    },
                    "textColor": {
                        "type": "string",
                        "readOnly": true
                    },
                    "default": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "visible": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "",
                            "closed",
                            "delivered",
                            "open"
                        ],
                        "readOnly": true
                    },
                    "displayOrder": {
                        "type": "integer",
                        "readOnly": true
                    }
                },
                "type": "object",
                "example": {
                    "id": "1",
                    "name": "An example IdeaStatus",
                    "backgroundColor": "ffffff",
                    "textColor": "000000",
                    "default": false,
                    "visible": true,
                    "type": "delivered",
                    "displayOrder": 0
                }
            },
            "IdeaStatusList": {
                "properties": {
                    "result": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/IdeaStatus"
                        }
                    }
                },
                "type": "object"
            },
            "MergeIdeaVotesRequest": {
                "required": [
                    "toIdeaId"
                ],
                "properties": {
                    "toIdeaId": {
                        "type": "string",
                        "example": "6"
                    }
                },
                "type": "object"
            },
            "MoveIdeaReplyRequest": {
                "required": [
                    "topicId",
                    "topicType"
                ],
                "properties": {
                    "topicId": {
                        "type": "string",
                        "example": "6"
                    }
                },
                "type": "object"
            },
            "PromoteIdeaReplyToConversationRequest": {
                "required": [
                    "categoryId"
                ],
                "properties": {
                    "categoryId": {
                        "type": "integer",
                        "format": "int32",
                        "minimum": 1,
                        "example": 31
                    },
                    "title": {
                        "type": "string",
                        "maxLength": 250,
                        "minLength": 1,
                        "pattern": "[a-z0-9]",
                        "example": "I have a question"
                    }
                },
                "type": "object"
            },
            "ReorderIdeaStatusesRequest": {
                "required": [
                    "order"
                ],
                "properties": {
                    "order": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "1"
                        },
                        "minItems": 1
                    }
                },
                "type": "object"
            },
            "IdeaReply": {
                "properties": {
                    "id": {
                        "type": "string",
                        "readOnly": true,
                        "example": "2"
                    },
                    "publicReplyId": {
                        "type": "string",
                        "readOnly": true,
                        "example": "5"
                    },
                    "content": {
                        "type": "string",
                        "readOnly": true,
                        "example": "I completely agree with the topic submiter"
                    },
                    "author": {
                        "$ref": "#/components/schemas/ConversationAuthor"
                    },
                    "repliedAt": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "example": "2017-04-10T15:29:06+00:00"
                    },
                    "inclusiveReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "inclusiveVisibleReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "trashed": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": false
                    },
                    "spam": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": false
                    },
                    "reported": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "reportedContent": {
                        "items": {
                            "$ref": "#/components/schemas/ReportedContent"
                        },
                        "readOnly": true
                    },
                    "pendingApproval": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": false
                    },
                    "highlighted": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": false
                    },
                    "likedBy": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "readOnly": true
                    },
                    "permalink": {
                        "description": "Direct URL to this reply",
                        "type": "string",
                        "readOnly": true,
                        "example": "https://community.example.com/category-1/topic-title-123?postid=5#post5"
                    }
                },
                "type": "object"
            },
            "ReplyIdeaRequest": {
                "required": [
                    "content"
                ],
                "properties": {
                    "content": {
                        "type": "string",
                        "maxLength": 100000,
                        "minLength": 1,
                        "example": "Can anyone help me?"
                    },
                    "highlight": {
                        "description": "Setting this to true will create a highlighted reply. This will require moderator access",
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "IdeaReplyList": {
                "properties": {
                    "result": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Reply"
                        }
                    }
                },
                "type": "object"
            },
            "SetIdeaModerationLabelRequest": {
                "required": [
                    "ideaIds",
                    "moderationLabelId"
                ],
                "properties": {
                    "ideaIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "31"
                        },
                        "minItems": 1
                    },
                    "moderationLabelId": {
                        "type": "string",
                        "example": "6"
                    }
                },
                "type": "object"
            },
            "SubmitIdeaRequest": {
                "required": [
                    "title",
                    "content"
                ],
                "properties": {
                    "title": {
                        "type": "string",
                        "maxLength": 250,
                        "minLength": 1,
                        "pattern": "[a-z0-9]",
                        "example": "Welcome to the community"
                    },
                    "content": {
                        "type": "string",
                        "maxLength": 100000,
                        "minLength": 1,
                        "example": "Is this your first visit to our community-driven Help Center? Well then welcome to our small world of awesomeness!"
                    },
                    "productAreaIds": {
                        "type": "string",
                        "example": "1,2,3"
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tag"
                        },
                        "example": [
                            "new",
                            "welcome"
                        ]
                    },
                    "categoryId": {
                        "description": "The ID of the category to submit the idea in. Required when the community has enabled categories for ideas and product updates.",
                        "type": "integer",
                        "format": "int32",
                        "minimum": 1,
                        "example": 16
                    },
                    "sticky": {
                        "description": "Setting this property requires a moderator",
                        "type": "boolean",
                        "example": false
                    },
                    "closed": {
                        "description": "Setting this property requires a moderator",
                        "type": "boolean",
                        "example": false
                    },
                    "moderatorTags": {
                        "description": "Setting this property requires a moderator",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tag"
                        },
                        "example": [
                            "highlighted"
                        ]
                    }
                },
                "type": "object"
            },
            "ToggleIdeaClosedRequest": {
                "required": [
                    "closed"
                ],
                "properties": {
                    "closed": {
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "ToggleIdeaStickyStateRequest": {
                "required": [
                    "sticky"
                ],
                "properties": {
                    "sticky": {
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "ToggleIdeaTrashRequest": {
                "required": [
                    "trashed"
                ],
                "properties": {
                    "trashed": {
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "ToggleIdeaReplyHighlightRequest": {
                "required": [
                    "highlighted"
                ],
                "properties": {
                    "highlighted": {
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "ToggleIdeaReplyTrashedRequest": {
                "required": [
                    "trashed"
                ],
                "properties": {
                    "trashed": {
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "UnassignIdeaModeratorRequest": {
                "required": [
                    "ideaIds"
                ],
                "properties": {
                    "ideaIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "1"
                        },
                        "minItems": 1
                    }
                },
                "type": "object"
            },
            "UnsetIdeaModerationLabelRequest": {
                "required": [
                    "ideaIds"
                ],
                "properties": {
                    "ideaIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "31"
                        },
                        "minItems": 1
                    }
                },
                "type": "object"
            },
            "ModerationLabel": {
                "properties": {
                    "id": {
                        "description": "Moderation label id",
                        "type": "string",
                        "example": "1"
                    },
                    "title": {
                        "description": "Moderation label title",
                        "type": "string",
                        "example": "Moderation Label"
                    }
                },
                "type": "object"
            },
            "CreateModeratorTagRequest": {
                "required": [
                    "tags"
                ],
                "properties": {
                    "tags": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tag"
                        },
                        "example": [
                            "important",
                            "announcement"
                        ]
                    }
                },
                "type": "object"
            },
            "DeleteModeratorTagsRequest": {
                "required": [
                    "moderatorTagIds"
                ],
                "properties": {
                    "moderatorTagIds": {
                        "description": "Moderator tag IDs to delete. Maximum of 1000 IDs can be provided",
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "1"
                        },
                        "minItems": 1
                    }
                },
                "type": "object"
            },
            "ModeratorTag": {
                "properties": {
                    "id": {
                        "type": "string",
                        "readOnly": true,
                        "example": "1"
                    },
                    "name": {
                        "type": "string",
                        "readOnly": true,
                        "example": "Review"
                    }
                },
                "type": "object"
            },
            "ModeratorTagList": {
                "properties": {
                    "result": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ModeratorTag"
                        }
                    }
                },
                "type": "object"
            },
            "AssignProductAreasRequest": {
                "required": [
                    "ideaIds",
                    "productAreaIds"
                ],
                "properties": {
                    "ideaIds": {
                        "type": "string",
                        "example": "1,2"
                    },
                    "productAreaIds": {
                        "type": "string",
                        "example": "1,2,3"
                    }
                },
                "type": "object"
            },
            "CreateProductAreaRequest": {
                "required": [
                    "name"
                ],
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 100,
                        "example": "A productArea to be added"
                    },
                    "parentId": {
                        "type": "string",
                        "example": "1"
                    }
                },
                "type": "object"
            },
            "DeleteProductAreaRequest": {
                "required": [
                    "id"
                ],
                "properties": {
                    "id": {
                        "type": "string",
                        "example": "1"
                    }
                },
                "type": "object"
            },
            "ProductArea": {
                "properties": {
                    "id": {
                        "type": "string",
                        "readOnly": true
                    },
                    "name": {
                        "type": "string",
                        "readOnly": true
                    }
                },
                "type": "object",
                "example": {
                    "id": "1",
                    "name": "An example productArea"
                }
            },
            "ProductAreaList": {
                "properties": {
                    "result": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ProductArea"
                        }
                    }
                },
                "type": "object"
            },
            "RenameProductAreaRequest": {
                "required": [
                    "id",
                    "name"
                ],
                "properties": {
                    "id": {
                        "type": "string",
                        "example": "1"
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 100,
                        "example": "A new productArea name"
                    }
                },
                "type": "object"
            },
            "AddProductUpdatePollRequest": {
                "required": [
                    "title",
                    "options"
                ],
                "properties": {
                    "title": {
                        "type": "string",
                        "example": "What is your favourite feature?"
                    },
                    "options": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "example": [
                            "Option A",
                            "Option B"
                        ]
                    }
                },
                "type": "object"
            },
            "AssignProductUpdateModeratorRequest": {
                "required": [
                    "productUpdateIds",
                    "assignedTo"
                ],
                "properties": {
                    "productUpdateIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "1"
                        },
                        "minItems": 1
                    },
                    "assignedTo": {
                        "type": "string",
                        "example": "6"
                    }
                },
                "type": "object"
            },
            "ChangeProductUpdateAuthorRequest": {
                "required": [
                    "authorId"
                ],
                "properties": {
                    "authorId": {
                        "type": "string",
                        "example": "7"
                    }
                },
                "type": "object"
            },
            "CreateProductUpdateRequest": {
                "required": [
                    "title",
                    "content"
                ],
                "properties": {
                    "title": {
                        "type": "string",
                        "maxLength": 250,
                        "minLength": 1,
                        "pattern": "[a-z0-9]",
                        "example": "This is an interesting productUpdate"
                    },
                    "featuredImage": {
                        "description": "Supported types: 'png', 'jpeg', 'jpg', 'gif'",
                        "type": "string",
                        "example": "https://example.com/some-optional-image.png"
                    },
                    "featuredImageAltText": {
                        "description": "Alternative text description for the featured image",
                        "type": "string",
                        "maxLength": 125,
                        "example": "Alt text for the featured image"
                    },
                    "publicLabel": {
                        "type": "string",
                        "maxLength": 100,
                        "example": "New"
                    },
                    "content": {
                        "type": "string",
                        "maxLength": 100000,
                        "minLength": 1,
                        "example": "This will explain all you need to know about everything"
                    },
                    "poll": {
                        "$ref": "#/components/schemas/Poll"
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tag"
                        },
                        "example": [
                            "question",
                            "urgent"
                        ]
                    },
                    "sticky": {
                        "description": "Setting this property requires a moderator",
                        "type": "boolean",
                        "example": false
                    },
                    "closed": {
                        "description": "Setting this property requires a moderator",
                        "type": "boolean",
                        "example": false
                    },
                    "moderatorTags": {
                        "description": "Setting this property requires a moderator",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tag"
                        },
                        "example": [
                            "highlighted"
                        ]
                    },
                    "createdAt": {
                        "description": "creation date in Unix timestamp format",
                        "type": "integer",
                        "format": "int32",
                        "example": "1706792282"
                    },
                    "productAreas": {
                        "description": "A comma-separated list of product area ids the Update refers to",
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "example": [
                            "1",
                            "2"
                        ]
                    },
                    "categoryId": {
                        "description": "The ID of the category to create the product update in. Required when the community has enabled categories for ideas and product updates.",
                        "type": "integer",
                        "format": "int32",
                        "minimum": 1,
                        "example": 16
                    }
                },
                "type": "object"
            },
            "EditProductUpdateContentRequest": {
                "required": [
                    "content"
                ],
                "properties": {
                    "content": {
                        "type": "string",
                        "maxLength": 100000,
                        "minLength": 1,
                        "example": "My updated content"
                    }
                },
                "type": "object"
            },
            "EditProductUpdateFeaturedImageAltTextRequest": {
                "required": [
                    "featuredImageAltText"
                ],
                "properties": {
                    "featuredImageAltText": {
                        "description": "Alternative text description for the featured image",
                        "type": "string",
                        "maxLength": 125,
                        "example": "Alt text for the featured image"
                    }
                },
                "type": "object"
            },
            "EditProductUpdateFeaturedImageRequest": {
                "required": [
                    "featuredImage"
                ],
                "properties": {
                    "featuredImage": {
                        "type": "string",
                        "example": "http://example.com/featuredImage.jpg"
                    }
                },
                "type": "object"
            },
            "EditProductUpdateModeratorTagsRequest": {
                "required": [
                    "moderatorTags"
                ],
                "properties": {
                    "moderatorTags": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tag"
                        },
                        "example": [
                            "important",
                            "announcement"
                        ]
                    }
                },
                "type": "object"
            },
            "EditProductUpdatePollOptionsRequest": {
                "required": [
                    "options"
                ],
                "properties": {
                    "options": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EditProductUpdatePollOptionsRequest"
                        },
                        "example": [
                            "option A",
                            "option B"
                        ]
                    }
                },
                "type": "object"
            },
            "EditProductUpdatePollTitleRequest": {
                "required": [
                    "title"
                ],
                "properties": {
                    "title": {
                        "type": "string",
                        "example": "My updated poll title"
                    }
                },
                "type": "object"
            },
            "EditProductUpdateProductAreasRequest": {
                "required": [
                    "productAreas"
                ],
                "properties": {
                    "productAreas": {
                        "description": "A comma-separated list of product area ids the Update refers to",
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "example": [
                            "1",
                            "2"
                        ]
                    }
                },
                "type": "object"
            },
            "EditProductUpdatePublicLabelRequest": {
                "required": [
                    "publicLabel"
                ],
                "properties": {
                    "publicLabel": {
                        "type": "string",
                        "example": "News"
                    }
                },
                "type": "object"
            },
            "EditProductUpdateReplyContentRequest": {
                "required": [
                    "content"
                ],
                "properties": {
                    "content": {
                        "type": "string",
                        "maxLength": 100000,
                        "minLength": 1,
                        "example": "My updated content"
                    }
                },
                "type": "object"
            },
            "EditProductUpdateTagsRequest": {
                "required": [
                    "tags"
                ],
                "properties": {
                    "tags": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tag"
                        },
                        "example": [
                            "important",
                            "announcement"
                        ]
                    }
                },
                "type": "object"
            },
            "EditProductUpdateTitleRequest": {
                "required": [
                    "title"
                ],
                "properties": {
                    "title": {
                        "type": "string",
                        "maxLength": 250,
                        "minLength": 1,
                        "example": "My updated title"
                    }
                },
                "type": "object"
            },
            "ProductUpdateEditor": {
                "properties": {
                    "id": {
                        "type": "string",
                        "readOnly": true
                    },
                    "username": {
                        "type": "string",
                        "readOnly": true
                    },
                    "avatar": {
                        "type": "string",
                        "readOnly": true
                    }
                },
                "type": "object"
            },
            "ProductUpdateMoveReplyRequest": {
                "required": [
                    "topicId",
                    "topicType"
                ],
                "properties": {
                    "topicId": {
                        "type": "string",
                        "example": "6"
                    }
                },
                "type": "object"
            },
            "ProductUpdate": {
                "properties": {
                    "id": {
                        "type": "string",
                        "readOnly": true
                    },
                    "publicId": {
                        "type": "string",
                        "readOnly": true
                    },
                    "title": {
                        "type": "string",
                        "readOnly": true
                    },
                    "featuredImage": {
                        "type": "string",
                        "readOnly": true
                    },
                    "featuredImageAltText": {
                        "type": "string",
                        "readOnly": true
                    },
                    "publicLabel": {
                        "type": "string",
                        "readOnly": true
                    },
                    "body": {
                        "type": "string",
                        "readOnly": true
                    },
                    "author": {
                        "$ref": "#/components/schemas/ConversationAuthor"
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true
                    },
                    "replyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "spamReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "pendingReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "trashedReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "totalReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "inclusiveReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "inclusiveVisibleReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "readOnly": true
                    },
                    "productAreas": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ProductArea"
                        },
                        "readOnly": true
                    },
                    "moderatorTags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "readOnly": true
                    },
                    "likedBy": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "readOnly": true
                    },
                    "sticky": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "closed": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "trashed": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "containsPoll": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "lastEdit": {
                        "$ref": "#/components/schemas/ProductUpdateEdit"
                    },
                    "status": {
                        "type": "string",
                        "readOnly": true
                    },
                    "scheduledBy": {
                        "$ref": "#/components/schemas/Editor"
                    },
                    "seoCommunityUrl": {
                        "type": "string",
                        "readOnly": true
                    }
                },
                "type": "object",
                "example": {
                    "id": "1",
                    "publicId": "5",
                    "title": "Let's create a product update",
                    "featuredImage": "https://example.com/some-optional-image.png",
                    "featuredImageAltText": "Alt text for the featured image",
                    "publicLabel": "new",
                    "content": "This is the content of a new productUpdate",
                    "author": {
                        "id": 7,
                        "username": "AwesomeUser",
                        "customTitle": "Employee",
                        "signature": "Always here to help you...",
                        "avatar": "http://example.com/avatar123.jpg",
                        "reputation": {
                            "rank": "Super Hero",
                            "rankIcon": "http://superhero.rank/icon.png",
                            "rankIconThumb": "http://superhero.rank/icon_thumb.png",
                            "likesReceived": 68,
                            "repliesMade": 324,
                            "badgesReceived": [
                                "http://frequent-poster.badge/icon.png",
                                "http://active-community-member.badge/icon.png"
                            ]
                        }
                    },
                    "createdAt": "2017-04-10T15:29:06+00:00",
                    "replyCount": 21,
                    "spamReplyCount": 21,
                    "pendingReplyCount": 20,
                    "trashedReplyCount": 19,
                    "totalReplyCount": 18,
                    "tags": [
                        "announcement",
                        "important productUpdate"
                    ],
                    "moderatorTags": [],
                    "sticky": false,
                    "closed": true,
                    "trashed": false,
                    "containsPoll": false,
                    "lastEdit": {
                        "id": "1",
                        "editor": {
                            "id": 7,
                            "username": "AwesomeUser"
                        },
                        "editedAt": "2017-04-11T15:29:06+00:00"
                    },
                    "seoCommunityUrl": "/product-updates/let-s-create-a-product-update-5"
                }
            },
            "ProductUpdateEdit": {
                "properties": {
                    "id": {
                        "type": "string",
                        "readOnly": true
                    },
                    "editor": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "readOnly": true
                    },
                    "editedAt": {
                        "type": "boolean",
                        "readOnly": true
                    }
                },
                "type": "object"
            },
            "ProductUpdateList": {
                "properties": {
                    "result": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ProductUpdate"
                        }
                    }
                },
                "type": "object"
            },
            "ProductUpdatePollVoteRequest": {
                "required": [
                    "selectedOption"
                ],
                "properties": {
                    "selectedOption": {
                        "type": "string",
                        "example": "Option B"
                    }
                },
                "type": "object"
            },
            "ProductUpdateReply": {
                "properties": {
                    "id": {
                        "type": "string",
                        "readOnly": true,
                        "example": "2"
                    },
                    "publicReplyId": {
                        "type": "string",
                        "readOnly": true,
                        "example": "5"
                    },
                    "content": {
                        "type": "string",
                        "readOnly": true,
                        "example": "I completely agree with the topic starter"
                    },
                    "author": {
                        "$ref": "#/components/schemas/ConversationAuthor"
                    },
                    "repliedAt": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "example": "2017-04-10T15:29:06+00:00"
                    },
                    "inclusiveReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "inclusiveVisibleReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "trashed": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": false
                    },
                    "spam": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": false
                    },
                    "reported": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "reportedContent": {
                        "items": {
                            "$ref": "#/components/schemas/ReportedContent"
                        },
                        "readOnly": true
                    },
                    "pendingApproval": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": false
                    },
                    "highlighted": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": false
                    },
                    "likedBy": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "readOnly": true
                    },
                    "permalink": {
                        "description": "Direct URL to this reply",
                        "type": "string",
                        "readOnly": true,
                        "example": "https://community.example.com/category-1/topic-title-123?postid=5#post5"
                    }
                },
                "type": "object"
            },
            "ProductUpdateReplyList": {
                "properties": {
                    "result": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ProductUpdateReply"
                        }
                    }
                },
                "type": "object"
            },
            "PromoteProductUpdateReplyToConversationRequest": {
                "required": [
                    "categoryId"
                ],
                "properties": {
                    "categoryId": {
                        "type": "integer",
                        "format": "int32",
                        "minimum": 1,
                        "example": 31
                    },
                    "title": {
                        "type": "string",
                        "maxLength": 250,
                        "minLength": 1,
                        "pattern": "[a-z0-9]",
                        "example": "I have a question"
                    }
                },
                "type": "object"
            },
            "ReplyProductUpdateRequest": {
                "required": [
                    "content"
                ],
                "properties": {
                    "content": {
                        "type": "string",
                        "maxLength": 100000,
                        "minLength": 1,
                        "example": "Can anyone help me?"
                    },
                    "highlight": {
                        "description": "Setting this to true will create a highlighted reply. This will require moderator access",
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "SetProductUpdateModerationLabelRequest": {
                "required": [
                    "productUpdateIds",
                    "moderationLabelId"
                ],
                "properties": {
                    "productUpdateIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "31"
                        },
                        "minItems": 1
                    },
                    "moderationLabelId": {
                        "type": "string",
                        "example": "6"
                    }
                },
                "type": "object"
            },
            "ToggleProductUpdateClosedRequest": {
                "required": [
                    "closed"
                ],
                "properties": {
                    "closed": {
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "ToggleProductUpdateReplyHighlightRequest": {
                "required": [
                    "highlighted"
                ],
                "properties": {
                    "highlighted": {
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "ToggleProductUpdateReplyTrashedRequest": {
                "required": [
                    "trashed"
                ],
                "properties": {
                    "trashed": {
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "ToggleProductUpdateStickyStateRequest": {
                "required": [
                    "sticky"
                ],
                "properties": {
                    "sticky": {
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "ToggleProductUpdateTrashedRequest": {
                "required": [
                    "trashed"
                ],
                "properties": {
                    "trashed": {
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "UnassignProductUpdateModeratorRequest": {
                "required": [
                    "productUpdateIds"
                ],
                "properties": {
                    "productUpdateIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "1"
                        },
                        "minItems": 1
                    }
                },
                "type": "object"
            },
            "UnsetProductUpdateModerationLabelRequest": {
                "required": [
                    "productUpdateIds"
                ],
                "properties": {
                    "productUpdateIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "31"
                        },
                        "minItems": 1
                    }
                },
                "type": "object"
            },
            "AddQuestionPollVoteRequest": {
                "required": [
                    "selectedOption"
                ],
                "properties": {
                    "selectedOption": {
                        "type": "string",
                        "example": "Option B"
                    }
                },
                "type": "object"
            },
            "AskQuestionRequest": {
                "required": [
                    "title",
                    "content",
                    "categoryId"
                ],
                "properties": {
                    "title": {
                        "type": "string",
                        "maxLength": 250,
                        "minLength": 1,
                        "pattern": "[a-z0-9]",
                        "example": "I have a question"
                    },
                    "content": {
                        "type": "string",
                        "maxLength": 100000,
                        "minLength": 1,
                        "example": "Can anyone help me?"
                    },
                    "categoryId": {
                        "type": "integer",
                        "format": "int32",
                        "minimum": 1,
                        "example": 31
                    },
                    "poll": {
                        "$ref": "#/components/schemas/Poll"
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tag"
                        },
                        "example": [
                            "question",
                            "urgent"
                        ]
                    },
                    "sticky": {
                        "description": "Setting this property requires a moderator",
                        "type": "boolean",
                        "example": false
                    },
                    "closed": {
                        "description": "Setting this property requires a moderator",
                        "type": "boolean",
                        "example": false
                    },
                    "moderatorTags": {
                        "description": "Setting this property requires a moderator",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tag"
                        },
                        "example": [
                            "highlighted"
                        ]
                    }
                },
                "type": "object"
            },
            "AssignQuestionModeratorRequest": {
                "required": [
                    "questionIds",
                    "assignedTo"
                ],
                "properties": {
                    "questionIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "1"
                        },
                        "minItems": 1
                    },
                    "assignedTo": {
                        "type": "string",
                        "example": "6"
                    }
                },
                "type": "object"
            },
            "EditQuestionContentRequest": {
                "required": [
                    "content"
                ],
                "properties": {
                    "content": {
                        "type": "string",
                        "maxLength": 100000,
                        "minLength": 1,
                        "example": "My updated content"
                    }
                },
                "type": "object"
            },
            "EditQuestionModeratorTagsRequest": {
                "required": [
                    "moderatorTags"
                ],
                "properties": {
                    "moderatorTags": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tag"
                        },
                        "example": [
                            "important",
                            "announcement"
                        ]
                    }
                },
                "type": "object"
            },
            "EditQuestionPollOptionsRequest": {
                "required": [
                    "options"
                ],
                "properties": {
                    "options": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EditQuestionPollOptionsRequest"
                        },
                        "example": [
                            "option A",
                            "option B"
                        ]
                    }
                },
                "type": "object"
            },
            "EditQuestionPollTitleRequest": {
                "required": [
                    "title"
                ],
                "properties": {
                    "title": {
                        "type": "string",
                        "example": "My updated poll title"
                    }
                },
                "type": "object"
            },
            "EditQuestionReplyContentRequest": {
                "required": [
                    "content"
                ],
                "properties": {
                    "content": {
                        "type": "string",
                        "maxLength": 100000,
                        "minLength": 1,
                        "example": "My updated content"
                    }
                },
                "type": "object"
            },
            "EditQuestionTagsRequest": {
                "required": [
                    "tags"
                ],
                "properties": {
                    "tags": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Tag"
                        },
                        "example": [
                            "improvement",
                            "suggestion"
                        ]
                    }
                },
                "type": "object"
            },
            "EditQuestionTitleRequest": {
                "required": [
                    "title"
                ],
                "properties": {
                    "title": {
                        "type": "string",
                        "maxLength": 250,
                        "minLength": 1,
                        "example": "My updated title"
                    }
                },
                "type": "object"
            },
            "MoveQuestionToTopicRequest": {
                "required": [
                    "topicId",
                    "topicType"
                ],
                "properties": {
                    "topicId": {
                        "type": "string",
                        "example": "6"
                    },
                    "topicType": {
                        "type": "string",
                        "example": "question"
                    }
                },
                "type": "object"
            },
            "QuestionMoveReplyRequest": {
                "required": [
                    "topicId",
                    "topicType"
                ],
                "properties": {
                    "topicId": {
                        "type": "string",
                        "example": "6"
                    },
                    "topicType": {
                        "type": "string",
                        "example": "question"
                    }
                },
                "type": "object",
                "enum": [
                    "question",
                    "conversation",
                    "article"
                ]
            },
            "PromoteQuestionReplyToConversationRequest": {
                "required": [
                    "categoryId"
                ],
                "properties": {
                    "categoryId": {
                        "type": "integer",
                        "format": "int32",
                        "minimum": 1,
                        "example": 31
                    },
                    "title": {
                        "type": "string",
                        "maxLength": 250,
                        "minLength": 1,
                        "pattern": "[a-z0-9]",
                        "example": "I have a question"
                    }
                },
                "type": "object"
            },
            "Question": {
                "properties": {
                    "id": {
                        "type": "string",
                        "readOnly": true,
                        "example": "1"
                    },
                    "publicId": {
                        "type": "string",
                        "readOnly": true,
                        "example": "5"
                    },
                    "title": {
                        "type": "string",
                        "readOnly": true,
                        "example": "How do I start a question?"
                    },
                    "content": {
                        "type": "string",
                        "readOnly": true,
                        "example": "Perhaps I should place my content here?"
                    },
                    "author": {
                        "$ref": "#/components/schemas/ConversationAuthor"
                    },
                    "categoryId": {
                        "type": "string",
                        "readOnly": true,
                        "example": "6"
                    },
                    "askedAt": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "example": "2017-04-10T15:29:06+00:00"
                    },
                    "lastActivityAt": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "example": "2017-04-10T18:29:06+00:00"
                    },
                    "replyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true,
                        "example": 21
                    },
                    "spamReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "pendingReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "trashedReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "totalReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "inclusiveReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "inclusiveVisibleReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "tags": {
                        "items": {
                            "type": "string"
                        },
                        "readOnly": true,
                        "example": [
                            "faq"
                        ]
                    },
                    "likedBy": {
                        "items": {
                            "type": "string"
                        },
                        "readOnly": true,
                        "example": [
                            "100",
                            "152",
                            "203"
                        ]
                    },
                    "answer": {
                        "description": "Refers to the reply ID of the reply which was accepted as best answer",
                        "type": "string",
                        "readOnly": true,
                        "example": "22"
                    },
                    "sticky": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": false
                    },
                    "closed": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": true
                    },
                    "trashed": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": false
                    },
                    "spam": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "reported": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "reportedContent": {
                        "items": {
                            "$ref": "#/components/schemas/ReportedContent"
                        },
                        "readOnly": true
                    },
                    "pendingApproval": {
                        "description": "Will be `true` if the question was created, but is still pending approval from a Moderator",
                        "type": "boolean",
                        "readOnly": true,
                        "example": false
                    },
                    "containsPoll": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "seoCommunityUrl": {
                        "type": "string",
                        "readOnly": true,
                        "example": "/category-name-6/how-do-i-start-a-question-5"
                    }
                },
                "type": "object"
            },
            "QuestionList": {
                "properties": {
                    "result": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Question"
                        }
                    }
                },
                "type": "object"
            },
            "QuestionReply": {
                "properties": {
                    "id": {
                        "type": "string",
                        "readOnly": true,
                        "example": "2"
                    },
                    "publicReplyId": {
                        "type": "string",
                        "readOnly": true,
                        "example": "5"
                    },
                    "content": {
                        "type": "string",
                        "readOnly": true,
                        "example": "I completely agree with the topic starter"
                    },
                    "author": {
                        "$ref": "#/components/schemas/ConversationAuthor"
                    },
                    "repliedAt": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true,
                        "example": "2017-04-10T15:29:06+00:00"
                    },
                    "inclusiveReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "inclusiveVisibleReplyCount": {
                        "type": "integer",
                        "format": "int32",
                        "readOnly": true
                    },
                    "trashed": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": false
                    },
                    "spam": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "reported": {
                        "type": "boolean",
                        "readOnly": true
                    },
                    "reportedContent": {
                        "items": {
                            "$ref": "#/components/schemas/ReportedContent"
                        },
                        "readOnly": true
                    },
                    "pendingApproval": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": false
                    },
                    "highlighted": {
                        "type": "boolean",
                        "readOnly": true,
                        "example": false
                    },
                    "likedBy": {
                        "items": {
                            "type": "string"
                        },
                        "readOnly": true
                    },
                    "permalink": {
                        "description": "Direct URL to this reply",
                        "type": "string",
                        "readOnly": true,
                        "example": "https://community.example.com/category-1/topic-title-123?postid=5#post5"
                    }
                },
                "type": "object"
            },
            "QuestionReplyList": {
                "properties": {
                    "result": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/QuestionReply"
                        }
                    }
                },
                "type": "object"
            },
            "ReplyQuestionRequest": {
                "required": [
                    "content"
                ],
                "properties": {
                    "content": {
                        "type": "string",
                        "maxLength": 100000,
                        "minLength": 1,
                        "example": "Can anyone help me?"
                    },
                    "highlight": {
                        "description": "Setting this to true will create a highlighted reply. This will require moderator access",
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "SetQuestionModerationLabelRequest": {
                "required": [
                    "questionIds",
                    "moderationLabelId"
                ],
                "properties": {
                    "questionIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "31"
                        },
                        "minItems": 1
                    },
                    "moderationLabelId": {
                        "type": "string",
                        "example": "6"
                    }
                },
                "type": "object"
            },
            "ToggleQuestionClosedRequest": {
                "required": [
                    "closed"
                ],
                "properties": {
                    "closed": {
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "ToggleQuestionReplyHighlightRequest": {
                "required": [
                    "highlighted"
                ],
                "properties": {
                    "highlighted": {
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "ToggleQuestionReplyTrashedRequest": {
                "required": [
                    "trashed"
                ],
                "properties": {
                    "trashed": {
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "ToggleQuestionStickyStateRequest": {
                "required": [
                    "sticky"
                ],
                "properties": {
                    "sticky": {
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "ToggleQuestionTrashRequest": {
                "required": [
                    "trashed"
                ],
                "properties": {
                    "trashed": {
                        "type": "boolean",
                        "example": false
                    }
                },
                "type": "object"
            },
            "UnassignQuestionModeratorRequest": {
                "required": [
                    "questionIds"
                ],
                "properties": {
                    "questionIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "1"
                        },
                        "minItems": 1
                    }
                },
                "type": "object"
            },
            "UnsetQuestionModerationLabelRequest": {
                "required": [
                    "questionIds"
                ],
                "properties": {
                    "questionIds": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "31"
                        },
                        "minItems": 1
                    }
                },
                "type": "object"
            },
            "ReportedContent": {
                "properties": {
                    "id": {
                        "type": "string",
                        "readOnly": true
                    },
                    "reason": {
                        "type": "string",
                        "readOnly": true
                    },
                    "reportedAt": {
                        "type": "string",
                        "format": "date-time",
                        "readOnly": true
                    },
                    "reportedBy": {
                        "$ref": "#/components/schemas/ConversationAuthor"
                    }
                },
                "type": "object",
                "example": {
                    "id": "1",
                    "reason": "reported reason",
                    "reportedAt": "2017-04-10T15:29:06+00:00",
                    "reportedBy": {
                        "id": 7,
                        "username": "AwesomeUser",
                        "customTitle": "Employee",
                        "signature": "Always here to help you...",
                        "avatar": "http://example.com/avatar123.jpg",
                        "reputation": {
                            "rank": "Super Hero",
                            "rankIcon": "http://superhero.rank/icon.png",
                            "rankIconThumb": "http://superhero.rank/icon_thumb.png",
                            "votesReceived": 68,
                            "repliesMade": 324,
                            "badgesReceived": [
                                "http://frequent-poster.badge/icon.png",
                                "http://active-community-member.badge/icon.png"
                            ]
                        }
                    }
                }
            },
            "CreatePublicTagRequest": {
                "required": [
                    "name"
                ],
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 45,
                        "example": "A tag to be added"
                    }
                },
                "type": "object"
            },
            "DeletePublicTagRequest": {
                "required": [
                    "id"
                ],
                "properties": {
                    "id": {
                        "type": "string",
                        "example": "1"
                    }
                },
                "type": "object"
            },
            "MergePublicTagsRequest": {
                "required": [
                    "ids",
                    "name"
                ],
                "properties": {
                    "name": {
                        "type": "string",
                        "maxLength": 45,
                        "example": "A new tag name"
                    },
                    "ids": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "example": "123"
                        }
                    }
                },
                "type": "object"
            },
            "PublicTag": {
                "properties": {
                    "id": {
                        "type": "string",
                        "readOnly": true
                    },
                    "name": {
                        "type": "string",
                        "readOnly": true
                    }
                },
                "type": "object",
                "example": {
                    "id": "1",
                    "name": "An example public tag"
                }
            },
            "PublicTagList": {
                "properties": {
                    "result": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PublicTag"
                        }
                    }
                },
                "type": "object"
            },
            "RenamePublicTagRequest": {
                "required": [
                    "id",
                    "name"
                ],
                "properties": {
                    "id": {
                        "type": "string",
                        "example": "1"
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 45,
                        "example": "A new tag name"
                    }
                },
                "type": "object"
            },
            "EventWebhookSubscription": {
                "properties": {
                    "eventName": {
                        "type": "string",
                        "readOnly": true,
                        "example": "conversation.Started"
                    },
                    "subscriptions": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "readOnly": true
                    }
                },
                "type": "object"
            },
            "SubscribeUrlWebhookRequest": {
                "required": [
                    "url"
                ],
                "properties": {
                    "url": {
                        "type": "string",
                        "example": "https://callback.example.com"
                    },
                    "username": {
                        "type": "string",
                        "example": "username for Basic Auth."
                    },
                    "secret": {
                        "type": "string",
                        "example": "password for Basic Auth."
                    },
                    "auth_type": {
                        "description": "Authentication type. Use 'aws_sigv4' for AWS Signature V4. Omit for Basic Auth.",
                        "type": "string",
                        "example": "aws_sigv4"
                    },
                    "role_arn": {
                        "description": "Customer IAM role ARN. Required when auth_type is aws_sigv4.",
                        "type": "string",
                        "example": "arn:aws:iam::123456789012:role/GainsightWebhookRole"
                    },
                    "external_id": {
                        "description": "External ID for STS AssumeRole. Required when auth_type is aws_sigv4.",
                        "type": "string",
                        "example": "gainsight-customer-prod-2026"
                    },
                    "region": {
                        "description": "AWS region of the target endpoint. Required when auth_type is aws_sigv4.",
                        "type": "string",
                        "example": "us-west-2"
                    },
                    "service": {
                        "description": "AWS service for signing scope. Optional, defaults to execute-api.",
                        "type": "string",
                        "example": "execute-api"
                    }
                },
                "type": "object"
            },
            "UnsubscribeUrlFromWebhookRequest": {
                "required": [
                    "url"
                ],
                "properties": {
                    "url": {
                        "type": "string",
                        "example": "https://callback.example.com"
                    }
                },
                "type": "object"
            },
            "InvalidJsonException": {
                "example": {
                    "message": "Bad Request",
                    "description": "Invalid JSON"
                },
                "allOf": [
                    {
                        "$ref": "#/components/schemas/Exception"
                    },
                    {
                        "properties": {
                            "description": {
                                "description": "Additional info about the error",
                                "type": "string",
                                "readOnly": true
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "ValidationException": {
                "example": {
                    "message": "Unprocessable Entity",
                    "errors": [
                        "Title is required"
                    ]
                },
                "allOf": [
                    {
                        "$ref": "#/components/schemas/Exception"
                    },
                    {
                        "properties": {
                            "errors": {
                                "type": "array",
                                "items": {
                                    "description": "Validation error message",
                                    "type": "string"
                                },
                                "readOnly": true,
                                "example": [
                                    "Title is required"
                                ]
                            }
                        },
                        "type": "object"
                    }
                ]
            }
        },
        "responses": {
            "CategoryRestricted": {
                "description": "Category restricted",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/BadRequestException"
                        },
                        "example": {
                            "message": "Forbidden",
                            "description": "Category is not accessible for this user"
                        }
                    }
                }
            },
            "MalformedInput": {
                "description": "Malformed input",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/InvalidJsonException"
                        }
                    }
                }
            },
            "NotFound": {
                "description": "Item not found",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/BadRequestException"
                        },
                        "example": {
                            "message": "Not Found",
                            "description": "Item does not exist"
                        }
                    }
                }
            },
            "ValidationError": {
                "description": "Validation error",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/ValidationException"
                        }
                    }
                }
            },
            "ServerError": {
                "description": "Unexpected error",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/Exception"
                        }
                    }
                }
            },
            "Poll": {
                "description": "Successful response",
                "content": {
                    "application/json": {
                        "schema": {
                            "properties": {
                                "result": {
                                    "$ref": "#/components/schemas/PollResult"
                                }
                            },
                            "type": "object"
                        }
                    }
                }
            },
            "Article": {
                "description": "Successful response",
                "content": {
                    "application/json": {
                        "schema": {
                            "properties": {
                                "result": {
                                    "$ref": "#/components/schemas/Article"
                                }
                            },
                            "type": "object"
                        }
                    }
                }
            },
            "ArticleList": {
                "description": "Successful response",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/ArticleList"
                        }
                    }
                }
            },
            "ArticleReply": {
                "description": "Successful response",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/ArticleReply"
                        }
                    }
                }
            },
            "ArticleReplyList": {
                "description": "Successful response",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/ArticleReplyList"
                        }
                    }
                }
            },
            "ProductUpdate": {
                "description": "Successful response",
                "content": {
                    "application/json": {
                        "schema": {
                            "properties": {
                                "result": {
                                    "$ref": "#/components/schemas/ProductUpdate"
                                }
                            },
                            "type": "object"
                        }
                    }
                }
            },
            "ProductUpdateList": {
                "description": "Successful response",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/ProductUpdateList"
                        }
                    }
                }
            },
            "ProductUpdateReply": {
                "description": "Successful response",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/ProductUpdateReply"
                        }
                    }
                }
            },
            "ProductUpdateReplyList": {
                "description": "Successful response",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/ProductUpdateReplyList"
                        }
                    }
                }
            },
            "Idea": {
                "description": "Successful response",
                "content": {
                    "application/json": {
                        "schema": {
                            "properties": {
                                "result": {
                                    "$ref": "#/components/schemas/Idea"
                                }
                            },
                            "type": "object"
                        }
                    }
                }
            },
            "IdeaList": {
                "description": "Successful response",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/IdeaList"
                        }
                    }
                }
            },
            "IdeaStatusList": {
                "description": "Successful response",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/IdeaStatusList"
                        }
                    }
                }
            },
            "IdeaReply": {
                "description": "Successful response",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/IdeaReply"
                        }
                    }
                }
            },
            "IdeaReplyList": {
                "description": "Successful response",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/IdeaReplyList"
                        }
                    }
                }
            },
            "Conversation": {
                "description": "Successful response",
                "content": {
                    "application/json": {
                        "schema": {
                            "properties": {
                                "result": {
                                    "$ref": "#/components/schemas/Conversation"
                                }
                            },
                            "type": "object"
                        }
                    }
                }
            },
            "ConversationList": {
                "description": "Successful response",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/ConversationList"
                        }
                    }
                }
            },
            "ConversationReply": {
                "description": "Successful response",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/Reply"
                        }
                    }
                }
            },
            "ConversationReplyList": {
                "description": "Successful response",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/ReplyList"
                        }
                    }
                }
            },
            "Question": {
                "description": "Successful response",
                "content": {
                    "application/json": {
                        "schema": {
                            "properties": {
                                "result": {
                                    "$ref": "#/components/schemas/Question"
                                }
                            },
                            "type": "object"
                        }
                    }
                }
            },
            "QuestionList": {
                "description": "Successful response",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/QuestionList"
                        }
                    }
                }
            },
            "QuestionReply": {
                "description": "Successful response",
                "content": {
                    "application/json": {
                        "schema": {
                            "properties": {
                                "result": {
                                    "$ref": "#/components/schemas/QuestionReply"
                                }
                            },
                            "type": "object"
                        }
                    }
                }
            },
            "QuestionReplyList": {
                "description": "Successful response",
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/QuestionReplyList"
                        }
                    }
                }
            },
            "TopicList": {
                "description": "Successful response",
                "content": {
                    "application/json": {
                        "schema": {
                            "properties": {
                                "result": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "contentType": {
                                                "description": "Refers to the the type of content this topic was projected from",
                                                "type": "string",
                                                "enum": [
                                                    "article",
                                                    "conversation",
                                                    "question"
                                                ],
                                                "readOnly": true,
                                                "example": "conversation"
                                            },
                                            "id": {
                                                "description": "The original ID of the content type this topic was based on. This ID can be used on the endpoints belonging to this content-type to fetch the original data",
                                                "type": "string",
                                                "readOnly": true,
                                                "example": "1"
                                            },
                                            "publicId": {
                                                "type": "string",
                                                "readOnly": true,
                                                "example": "5"
                                            },
                                            "title": {
                                                "type": "string",
                                                "readOnly": true,
                                                "example": "Some conversation title"
                                            },
                                            "content": {
                                                "type": "string",
                                                "readOnly": true,
                                                "example": "This is the content of a conversation"
                                            },
                                            "featuredImage": {
                                                "description": "**Note:** applies to **article** type only, other content-types will always have an empty string value. This value can be an absolute URL to the image featured for this article, or an empty string if no image was provided",
                                                "type": "string",
                                                "readOnly": true,
                                                "example": ""
                                            },
                                            "publicLabel": {
                                                "description": "**Note:** applies to **article** type only, other content-types will always have an empty string value. This value contains a user-defined label which will be shown to the public on the community",
                                                "type": "string",
                                                "readOnly": true,
                                                "example": ""
                                            },
                                            "categoryId": {
                                                "type": "string",
                                                "readOnly": true,
                                                "example": "6"
                                            },
                                            "categoryName": {
                                                "type": "string",
                                                "readOnly": true,
                                                "example": "News"
                                            },
                                            "tags": {
                                                "description": "A list of public tags assigned to the original content-type. These tags are shown to the public on the community",
                                                "items": {
                                                    "type": "string"
                                                },
                                                "readOnly": true,
                                                "example": [
                                                    "announcement",
                                                    "first topic"
                                                ]
                                            },
                                            "moderatorTags": {
                                                "description": "A list of moderator tags assigned to the original content-type. These tags are not shown to the public on the community. These tags can only be set by moderators in the Control environment",
                                                "items": {
                                                    "type": "string"
                                                },
                                                "readOnly": true,
                                                "example": [
                                                    "urgent",
                                                    "trending"
                                                ]
                                            },
                                            "moderationLabel": {
                                                "description": "A moderation label assigned to the original content-type. This label is not shown to the public on the community. This label can only be set by moderators in the Control environment",
                                                "type": "string",
                                                "readOnly": true,
                                                "example": "checkup"
                                            },
                                            "replyCount": {
                                                "description": "The total number of visible replies",
                                                "type": "integer",
                                                "readOnly": true,
                                                "example": 34
                                            },
                                            "likes": {
                                                "type": "integer",
                                                "readOnly": true,
                                                "example": 124
                                            },
                                            "votes": {
                                                "type": "integer",
                                                "readOnly": true,
                                                "example": 124
                                            },
                                            "voteSet": {
                                                "description": "A list of user ids that voted for this idea",
                                                "items": {
                                                    "type": "string"
                                                },
                                                "readOnly": true,
                                                "example": [
                                                    "124",
                                                    "345"
                                                ]
                                            },
                                            "trashed": {
                                                "description": "A flag indicating whether or not the original content-type was trashed. Trashed means not visible to the public on the community. If this value is `false` it means the content was visible",
                                                "type": "boolean",
                                                "readOnly": true,
                                                "example": false
                                            },
                                            "sticky": {
                                                "description": "A flag indicating whether or not the original content-type was made sticky on the community. Sticky topics will always appear at the top of the overview pages on the community",
                                                "type": "boolean",
                                                "readOnly": true
                                            },
                                            "bestAnswer": {
                                                "description": "A flag indicating if there is a best answer",
                                                "type": "boolean",
                                                "readOnly": true
                                            },
                                            "author": {
                                                "$ref": "#/components/schemas/Author"
                                            },
                                            "lastContributor": {
                                                "description": "Representation of the author that replied most recently to this topic",
                                                "$ref": "#/components/schemas/Author"
                                            },
                                            "createdAt": {
                                                "type": "string",
                                                "format": "date-time",
                                                "readOnly": true,
                                                "example": "2017-04-10T15:29:06+00:00"
                                            },
                                            "lastActivityAt": {
                                                "description": "Date indicating when the original content-type received it's latest reply",
                                                "type": "string",
                                                "format": "date-time",
                                                "readOnly": true,
                                                "example": "2017-08-10T16:45:54+00:00"
                                            },
                                            "status": {
                                                "type": "string",
                                                "readOnly": true,
                                                "example": "published"
                                            },
                                            "productAreas": {
                                                "description": "A list of product areas assigned to the original content-type",
                                                "items": {
                                                    "type": "string"
                                                },
                                                "readOnly": true,
                                                "example": [
                                                    "community",
                                                    "embeddable"
                                                ]
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            },
                            "type": "object"
                        }
                    }
                }
            }
        },
        "parameters": {
            "ReplySort": {
                "name": "sort",
                "in": "query",
                "description": "Defines the field to sort the results on. By default the response is sorted by oldest first. <br/><ul><li>oldestFirst : The least recent reply to the most recent reply.</li><li>mostRecentFirst : Ordered by most recent to least recent.</li> <li>mostLiked : Ordered by replies which have the most likes to the least likes.</li></ul>",
                "schema": {
                    "type": "string",
                    "default": "oldestFirst",
                    "enum": [
                        "oldestFirst",
                        "mostRecentFirst",
                        "mostLiked"
                    ]
                }
            },
            "PageNumber": {
                "name": "page",
                "in": "query",
                "description": "Selects the page to retrieve on paginated responses. Used in combination with the `pageSize` parameter to paginate over results",
                "schema": {
                    "type": "integer",
                    "default": 1,
                    "minimum": 1
                }
            },
            "PageSize": {
                "name": "pageSize",
                "in": "query",
                "description": "Limits the number of items returned in a single paginated response. Used in combination with the `page` parameter to paginate over results",
                "schema": {
                    "type": "integer",
                    "default": 25,
                    "maximum": 100,
                    "minimum": 1
                }
            },
            "TopicPublicIds": {
                "name": "publicIds[]",
                "in": "query",
                "description": "A list of public ids",
                "schema": {
                    "type": "string"
                },
                "example": [
                    "1",
                    "2"
                ]
            },
            "TopicCategoryId": {
                "name": "categoryId",
                "in": "query",
                "description": "Deprecated it's recommended to use categoryIds",
                "schema": {
                    "type": "string"
                },
                "example": "123"
            },
            "TopicCategoryIds": {
                "name": "categoryIds[]",
                "in": "query",
                "description": "A list of category ids",
                "schema": {
                    "type": "string"
                },
                "example": [
                    "1",
                    "2"
                ]
            },
            "TopicProductAreaIds": {
                "name": "productAreaIds[]",
                "in": "query",
                "description": "A list of product area ids",
                "schema": {
                    "type": "string"
                },
                "example": [
                    "1",
                    "2"
                ]
            },
            "ContentType": {
                "name": "contentType",
                "in": "query",
                "description": "Deprecated, it's recommended to use contentTypes",
                "schema": {
                    "type": "string",
                    "enum": [
                        "article",
                        "conversation",
                        "question",
                        "productUpdate"
                    ]
                }
            },
            "TopicContentTypes": {
                "name": "contentTypes[]",
                "in": "query",
                "description": "A list of topic content types",
                "schema": {
                    "type": "string"
                },
                "example": [
                    "idea",
                    "conversation"
                ]
            },
            "TopicTags": {
                "name": "tags",
                "in": "query",
                "description": "A comma-separated list of public tags",
                "schema": {
                    "type": "string"
                },
                "example": [
                    "announcement,official"
                ]
            },
            "TopicModeratorTags": {
                "name": "moderatorTags",
                "in": "query",
                "description": "A comma-separated list of moderator tags",
                "schema": {
                    "type": "string"
                },
                "example": [
                    "urgent,trending"
                ]
            },
            "TopicModerationLabels": {
                "name": "moderationLabels",
                "in": "query",
                "description": "A comma-separated list of moderation labels",
                "schema": {
                    "type": "string"
                },
                "example": [
                    "checkup,handled"
                ]
            },
            "TopicCreatedAt": {
                "name": "createdAt",
                "in": "query",
                "description": "A date range to filter topics based on creation date",
                "style": "deepObject",
                "explode": true,
                "schema": {
                    "$ref": "#/components/schemas/DateRange"
                }
            },
            "TopicLastActivity": {
                "name": "lastActivityAt",
                "in": "query",
                "description": "A date range to filter topics based on last activity",
                "style": "deepObject",
                "explode": true,
                "schema": {
                    "$ref": "#/components/schemas/DateRange"
                }
            },
            "TopicSort": {
                "name": "sort",
                "in": "query",
                "description": "Defines the field to sort the results on. The sort order will be descending. By default the results are ordered by recent activity from most recent to least recent",
                "schema": {
                    "type": "string",
                    "default": "lastActivityAt",
                    "enum": [
                        "lastActivityAt",
                        "createdAt",
                        "likes",
                        "voteCount",
                        "replyCount"
                    ]
                }
            },
            "PathArticleId": {
                "name": "id",
                "in": "path",
                "description": "ID of the article to interact with",
                "required": true,
                "schema": {
                    "type": "string"
                }
            },
            "PathArticleReplyId": {
                "name": "id",
                "in": "path",
                "description": "ID of the article reply to interact with",
                "required": true,
                "schema": {
                    "type": "string"
                }
            },
            "PathProductUpdateId": {
                "name": "id",
                "in": "path",
                "description": "ID of the product update to interact with",
                "required": true,
                "schema": {
                    "type": "string"
                }
            },
            "PathProductUpdateReplyId": {
                "name": "id",
                "in": "path",
                "description": "ID of the product update reply to interact with",
                "required": true,
                "schema": {
                    "type": "string"
                }
            },
            "PathIdeaId": {
                "name": "id",
                "in": "path",
                "description": "ID of the idea to interact with",
                "required": true,
                "schema": {
                    "type": "string"
                }
            },
            "PathIdeaReplyId": {
                "name": "id",
                "in": "path",
                "description": "ID of the idea reply to interact with",
                "required": true,
                "schema": {
                    "type": "string"
                }
            },
            "PathIdeaStatusId": {
                "name": "id",
                "in": "path",
                "description": "ID of the idea status to interact with",
                "required": true,
                "schema": {
                    "type": "string"
                }
            },
            "PathConversationId": {
                "name": "id",
                "in": "path",
                "description": "ID of the conversation to interact with",
                "required": true,
                "schema": {
                    "type": "string"
                }
            },
            "PathConversationReplyId": {
                "name": "id",
                "in": "path",
                "description": "ID of the conversation reply to interact with",
                "required": true,
                "schema": {
                    "type": "string"
                }
            },
            "PathQuestionId": {
                "name": "id",
                "in": "path",
                "description": "ID of the question to interact with",
                "required": true,
                "schema": {
                    "type": "string"
                }
            },
            "PathQuestionReplyId": {
                "name": "replyId",
                "in": "path",
                "description": "ID of the question reply to interact with",
                "required": true,
                "schema": {
                    "type": "string"
                }
            }
        },
        "securitySchemes": {
            "insided_auth": {
                "type": "oauth2",
                "flows": {
                    "clientCredentials": {
                        "tokenUrl": "/oauth2/token",
                        "scopes": {
                            "read": "Read access to the API",
                            "write": "Write access to the API"
                        }
                    }
                }
            }
        }
    },
    "security": [
        {
            "insided_auth": [
                "read"
            ]
        }
    ],
    "tags": [
        {
            "name": "Articles",
            "description": "Articles enable moderators to share rich content with the community. Articles can only be created by Moderators. Articles are created as drafts and can then be published (made publicly visible) separately.<br/><br/>\nYou can also add other rich elements to articles, including a featured image (displayed as a hero/thumbnail image on the community), and a public label (a description of the purpose/intent of the article, e.g. News, Update, Knowledge Base)."
        },
        {
            "name": "Conversations",
            "description": "Conversations enable users to start a conversation around a particular subject with the community by sharing content."
        },
        {
            "name": "Questions",
            "description": "A user can ask a question about a particular subject to the community. Users can reply to the question.<br/><br/>\nThe author who originally asked the question or any moderator can mark the reply that resolves the question as best answer. A question can only have one best answer.\nNote, the best answer to the question can be updated as the question receives more replies and the author (or any moderator) considers another reply to be a better answer."
        },
        {
            "name": "Unified content (Topics)",
            "description": "You can use these endpoints to build lists containing different content types (articles, conversations or questions).\n\nA topic is a read-only version of any article/conversation/question created in the community. A topic contains all the attributes shared between the content types. There are no specific behaviours for topics.\n\nThe attributes are projected in a unified way, regardless of the content type it originates from.  You can easily display lists of content created in the platform regardless of the differences between the content types.\n\nTopics endpoints have additional filtering and search functionality. For example, you can search for topics containing specific search terms across all content types; you can then use the response to retrieve specific data directly from the article/conversation/question endpoints.\n"
        },
        {
            "name": "Public Tags",
            "description": "Public tags are a way to help users on the community find relevant topics grouped around a subject that spans across different categories."
        }
    ]
}