> Portal Navigation:
>
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt
## Resource: Wix Forum Collections
## Article: Wix Forum Collections
## Article Link: https://dev.wix.com/docs/api-reference/business-solutions/cms/collection-management/wix-app-collections/wix-forum-collections.md
## Article Content:
# Wix Forum Collections
This article explains the fixed permissions and field structure for the following Wix Forum collections:
- [Categories](#categories)
- [Comments](#comments)
- [Posts](#posts)
> **Note:** These collections are system collections, so you can't change their permissions in the CMS.
**Tip:**
Before continuing, make sure you've read [Working with Wix App Collections](https://dev.wix.com/docs/develop-websites/articles/databases/wix-data/collections/working-with-wix-app-collections-and-code.md).
## Categories
This section explains the permissions and fields available in the Categories collection.
To use the Categories collection in code, refer to it as `Forum/Categories`.
::::tabs
:::REST_TAB
```
curl -X POST \
'https://www.wixapis.com/wix-data/v2/items/query' \
-H 'Content-Type: application/json' \
-H 'Authorization: ' \
-d '{
"dataCollectionId": "Forum/Categories",
"query": {}
}'
```
:::
:::SDK_TAB
```js
import { items } from "@wix/data";
items.query("Forum/Categories")
.find()
.then((results) => {
// handle the results
});
```
:::
::::
### Permissions
The Categories collection has the following [permissions](https://support.wix.com/en/article/cms-collection-permissions-overview):
- `read`: `ANYONE`
- `create`: None
- `update`: None
- `remove`: None
### Fields
This section describes each field in this collection and its properties.
> **Note:** This app collection contains read-only fields that cannot be managed from the collection. You can update the fields from the relevant app in your site’s [dashboard](https://support.wix.com/en/article/accessing-your-sites-dashboard).
Each field heading shows the field name followed by the field ID in parentheses, in the format "fieldName (`fieldId`)".
The fields are listed in the same order as the collection's default order in the CMS.
#### ID (`_id`)
**Description:** The category ID.
**Type:** Text
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** `eq`, `ne`, `hasSome`
**Read-only:** Yes
#### Parent ID (`parentId`)
**Description:** ID of the parent category (for subcategories).
**Type:** Text
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** `eq`, `ne`
**Read-only:** Yes
#### Name (`name`)
**Description:** Category name.
**Type:** Text
**Can connect to data:** Yes
**Can use in dynamic page URL:** Yes
**Sortable:** No
**Filter Support:** `eq`, `ne`, `contains`, `startsWith`, `hasSome`
**Read-only:** Yes
#### Header Title (`headerTitle`)
**Description:** Title in the category header.
**Type:** Text
**Can connect to data:** Yes
**Can use in dynamic page URL:** Yes
**Sortable:** No
**Filter Support:** `eq`, `ne`, `contains`, `startsWith`, `hasSome`
**Read-only:** Yes
#### Description (`description`)
**Description:** Description in the category header.
**Type:** Text
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** `contains`, `startsWith`, `hasAll`
**Read-only:** Yes
#### Header Type (`headerType`)
**Description:** Type of category header.
**Type:** String
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** `eq`, `ne`
**Read-only:** Yes
> **Note:** The `headerType` field has one of the following values:
>
> - `ABANDONED`
> - `RECOVERED`
#### Header Image (`headerImage`)
**Description:** Header Image.
**Type:** Image
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** No
**Read-only:** Yes
#### Header Image Overlay Color (`headerImageOverlayColor`)
**Description:** Header image overlay color.
**Type:** Text
**Can connect to data:** No
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** No
**Read-only:** Yes
#### Header Background Color (`headerBackgroundColor`)
**Description:** Header background color.
**Type:** Text
**Can connect to data:** No
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** No
**Read-only:** Yes
#### Header Text Color (`headerTextColor`)
**Description:** Header text color.
**Type:** No
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** No
**Read-only:** Yes
#### Rank (`rank`)
**Description:** Category order, where 0 indicates the first category.
**Type:** Number
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** Yes
**Filter Support:** `eq`, `ne`, `lt`, `lte`, `gt`, `gte`
**Read-only:** Yes
#### Post Count (`postCount`)
**Description:** Number of posts in the category.
**Type:** Number
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** Yes
**Filter Support:** `eq`, `ne`, `lt`, `lte`, `gt`, `gte`
**Read-only:** Yes
#### Post View Count (`postViewCount`)
**Description:** Number of times the posts in the category have been viewed.
**Type:** Number
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** Yes
**Filter Support:** `eq`, `ne`, `lt`, `lte`, `gt`, `gte`
**Read-only:** Yes
#### Write Protection
**Description:**
**Type:** Boolean
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** No
**Read-only:** Yes
#### Page URL (`pageUrl`)
**Description:** URL of the category page.
**Type:** URL
**Can connect to data:** Yes, can connect as a button click action.
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** No
**Read-only:** Yes
#### Slug (`slug`)
**Description:** The category's slug, which is its URL-friendly name that is unique across the forum.
**Type:** Text
**Can connect to data:** Yes
**Can use in dynamic page URL:** Yes
**Sortable:** No
**Filter Support:** Yes
**Read-only:** Yes
## Comments
This section explains the permissions and fields available in the Comments collection.
To use the Comments collection in code, refer to it as `Forum/Comments`.
::::tabs
:::REST_TAB
```
curl -X POST \
'https://www.wixapis.com/wix-data/v2/items/query' \
-H 'Content-Type: application/json' \
-H 'Authorization: ' \
-d '{
"dataCollectionId": "Forum/Comments",
"query": {}
}'
```
:::
:::SDK_TAB
```js
import { items } from "@wix/data";
items.query("Forum/Comments")
.find()
.then((results) => {
// handle the results
});
```
:::
::::
### Permissions
The Comments collection has the following [permissions](https://support.wix.com/en/article/cms-collection-permissions-overview):
- `read`: `ANYONE`
- `create`: None
- `update`: None
- `remove`: None
### Fields
This section describes each field in this collection and its properties.
> **Note:** This app collection contains read-only fields that cannot be managed from the collection. You can update the fields from the relevant app in your site’s [dashboard](https://support.wix.com/en/article/accessing-your-sites-dashboard).
Each field heading shows the field name followed by the field ID in parentheses, in the format "fieldName (`fieldId`)".
The fields are listed in the same order as the collection's default order in the CMS.
#### ID (`_id`)
**Description:** The comment ID.
**Type:** Text
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** `eq`, `ne`, `hasSome`, `contains`
**Read-only:** Yes
#### Parent ID (`parentId`)
**Description:** ID of the parent comment (for replies).
**Type:** Text
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** `eq`, `ne`
**Read-only:** Yes
#### Post ID (`postId`)
**Description:** ID of the post that the comment is commenting on.
**Type:** Text
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** `eq`, `ne`
**Read-only:** Yes
#### Owner ID (`ownerId`)
**Description:** ID of the comment owner.
**Type:** Text
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** Yes
**Read-only:** Yes
#### Plain Content (`plainContent`)
**Description:** Plain content of the comment.
**Type:** Text
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** No
**Read-only:** Yes
#### Reply Count (`replyCount`)
**Description:** Number of replies to the comment.
**Type:** Number
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** Yes
**Filter Support:** `eq`, `ne`, `lt`, `lte`, `gt`, `gte`
**Read-only:** Yes
#### Like Count (`likeCount`)
**Description:** Number of likes on the comment.
**Type:** Number
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** Yes
**Filter Support:** `eq`, `ne`, `lt`, `lte`, `gt`, `gte`
**Read-only:** Yes
#### Created Date (`_createdDate`)
**Description:** Date and time the comment was created.
**Type:** Date and Time
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** Yes
**Filter Support:** `eq`, `ne`, `lt`, `lte`, `gt`, `gte`
**Read-only:** Yes
#### Edited Date (`_editedDate`)
**Description:** Date and time the comment was last edited.
**Type:** Date and Time
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** `eq`, `ne`, `lt`, `lte`, `gt`, `gte`
**Read-only:** Yes
#### Last Activity Date (`lastActivityDate`)
**Description:** Date and time of the last activity on the comment.
**Type:** Date and Time
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** Yes
**Filter Support:** `eq`, `ne`, `lt`, `lte`, `gt`, `gte`
**Read-only:** Yes
#### Page URL (`pageUrl`)
**Description:** URL of the comment page.
**Type:** URL
**Can connect to data:** Yes, can connect as a button click action.
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** No
**Read-only:** Yes
#### Upvote Count (`upvoteCount`)
**Description:** Number of upvotes on the comment.
**Type:** Number
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** `eq`, `ne`, `lt`, `lte`, `gt`, `gte`
**Read-only:** Yes
#### Downvote Count (`downvoteCount`)
**Description:** Number of downvotes on the comment.
**Type:** Number
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** `eq`, `ne`, `lt`, `lte`, `gt`, `gte`
**Read-only:** Yes
#### Score (`score`)
**Description:** Number of upvotes minus the number of downvotes.
**Type:** Number
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** Yes
**Filter Support:** `eq`, `ne`, `lt`, `lte`, `gt`, `gte`
**Read-only:** Yes
## Posts
This section explains the permissions and fields available in the Posts collection.
To use the Posts collection in code, refer to it as `Forum/Posts`.
::::tabs
:::REST_TAB
```
curl -X POST \
'https://www.wixapis.com/wix-data/v2/items/query' \
-H 'Content-Type: application/json' \
-H 'Authorization: ' \
-d '{
"dataCollectionId": "Forum/Posts",
"query": {}
}'
```
:::
:::SDK_TAB
```js
import { items } from "@wix/data";
items.query("Forum/Posts")
.find()
.then((results) => {
// handle the results
});
```
:::
::::
### Permissions
The Posts collection has the following [permissions](https://support.wix.com/en/article/cms-collection-permissions-overview):
- `read`: `ANYONE`
- `create`: None
- `update`: None
- `remove`: None
### Fields
This section describes each field in this collection and its properties.
> **Note:** This app collection contains read-only fields that cannot be managed from the collection. You can update the fields from the relevant app in your site’s [dashboard](https://support.wix.com/en/article/accessing-your-sites-dashboard).
Each field heading shows the field name followed by the field ID in parentheses, in the format "fieldName (`fieldId`)".
The fields are listed in the same order as the collection's default order in the CMS.
#### ID (`_id`)
**Description:** The post ID.
**Type:** Text
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** `eq`, `ne`, `hasSome`
**Read-only:** Yes
#### Category ID (`categoryId`)
**Description:** Post category ID.
**Type:** Text
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** `eq`, `ne`
**Read-only:** Yes
#### Owner ID (`ownerId`)
**Description:** Post owner's ID.
**Type:** Text
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** `eq`, `ne`
**Read-only:** Yes
#### Title (`title`)
**Description:** Post title.
**Type:** Text
**Can connect to data:** Yes
**Can use in dynamic page URL:** Yes
**Sortable:** No
**Filter Support:** `eq`, `ne`, `contains`, `startsWith`, `hasSome`
**Read-only:** Yes
#### Plain Content (`plainContent`)
**Description:** Plain content of the forum post.
**Type:** Text
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** `contains`, `startsWith`, `hasAll`
**Read-only:** Yes
#### Best Answer Comment ID (`bestAnswerCommentId`)
**Description:** ID of the comment marked as the best answer.
**Type:** String
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** `eq`, `ne`
**Read-only:** Yes
#### Pinned (`pinned`)
**Description:** Whether the post is pinned.
**Type:** Boolean
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** Yes
**Filter Support:** `eq`, `ne`
**Read-only:** Yes
#### Commenting Disabled (`commentingDisabled`)
**Description:** Whether comments are disabled for the post.
**Type:** Boolean
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** `eq`, `ne`
**Read-only:** Yes
#### Comment Count (`commentCount`)
**Description:** Number of comments on the post.
**Type:** Number
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** Yes
**Filter Support:** `eq`, `ne`, `lt`, `lte`, `gt`, `gte`
**Read-only:** Yes
#### Like Count (`likeCount`)
**Description:** Number of likes on the post.
**Type:** Number
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** Yes
**Filter Support:** `eq`, `ne`, `lt`, `lte`, `gt`, `gte`
**Read-only:** Yes
#### View Count (`viewCount`)
**Description:** Number of times the post has been viewed.
**Type:** Number
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** Yes
**Filter Support:** `eq`, `ne`, `lt`, `lte`, `gt`, `gte`
**Read-only:** Yes
#### Created Date (`_createdDate`)
**Description:** Date and time the post was created.
**Type:** Date and Time
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** Yes
**Filter Support:** `eq`, `ne`, `lt`, `lte`, `gt`, `gte`
**Read-only:** Yes
#### Edited Date (`_editedDate`)
**Description:** Date and time the post was last edited.
**Type:** Date and Time
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** `eq`, `ne`, `lt`, `lte`, `gt`, `gte`
**Read-only:** Yes
#### Last Activity Date (`lastActivityDate`)
**Description:** Date and time of the last activity performed on the post.
**Type:** Date and Time
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** Yes
**Filter Support:** `eq`, `ne`, `lt`, `lte`, `gt`, `gte`
**Read-only:** Yes
#### Page URL (`pageUrl`)
**Description:** URL of the post page.
**Type:** URL
**Can connect to data:** Yes, can connect as a button click action.
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** No
**Read-only:** Yes
#### Slug (`slug`)
**Description:** The post's slug, which is its URL-friendly name that is unique across the forum.
**Type:** Text
**Can connect to data:** Yes
**Can use in dynamic page URL:** Yes
**Sortable:** No
**Filter Support:** Yes
**Read-only:** Yes
#### Post Type (`postType`)
**Description:** Type of post.
**Type:** Text
**Can connect to data:** Yes
**Can use in dynamic page URL:** No
**Sortable:** No
**Filter Support:** `eq`, `ne`
**Read-only:** Yes
> **Note:** The `postType` field has one of the following values:
>
> - `DISCUSSION`
> - `QUESTION`