Custom Page
- 16 Jun 2022
- 6 Minutes to read
- Print
- DarkLight
Custom Page
- Updated on 16 Jun 2022
- 6 Minutes to read
- Print
- DarkLight
Article summary
Did you find this summary helpful?
Thank you for your feedback
Custom Page
You need the Manage custom pages permission to manage custom pages.
Custom Pages
- Custom Pages ManageGET kb/customPages
- Get the list of Custom PagesGET kb/customPages/{id}
- Get a single Custom PagePOST kb/customPages
- Create a new Custom PagePUT kb/customPages/{id}
- Update the Custom PageDELETE kb/customPages/{id}
- Remove the Custom Page
Custom Page JSON Format
Custom Page is represented as simple flat JSON objects with the following keys:
Name | Type | Description |
---|---|---|
id | guid | Id of the custom page. |
title | string | Title of the custom page. |
kbId | guid | Id of the knowledage base. |
status | string | Allowed values are "draft", "published". |
customUrl | string | Custom url of the article. |
body | string | Content of the custom page. You can pass both plaintext and base64 encode text. If the request containing plaintext is blocked by comm100 WAF, use base64 format. When using base64, add "data:text/plain;base64," before the content. |
modifiedTime | timestamp | Time when the custom page was last modified. |
createdTime | datetime | Time when the custom page was created. |
Get the list of Custom Pages
GET kb/customPages
Parameters:
Name | Type | in | Required | Description |
---|---|---|---|---|
keywords | string | query | no | Search keywords. |
status | string | query | no | Allowed values are "draft", "published". |
kbId | guid | query | no | Id of the knowledage base. |
Response:
An array of Custom Page
Example
Sample Request:
curl https://api11.comm100.io/v4/kb/customPages \
-X 'GET' \
-H 'Authorization: Bearer {access_token}' \
Response:
HTTP/1.1 200 OK
[
{
"id": "87a9aac0-1f99-eb11-a80f-00155d081c1b",
"title": "Sample Custom Page",
"kbId": "b2754e68-b380-4a61-9c5b-a9570f1a4fcc",
"status": "draft",
"customUrl": "sample-custom-page",
"body": "\n?\n?\n? \n? \n? \n? \n? \n? \n? \n? \n?\n?\n? <div class="\"header\"">\n? <div class="\"container\"">\n? <div class="\"header_logo\""><img src="\"/kb/resources/your_logo.png\""></div>\n? <div class="\"header__title\""><span>Find answers in our Knowledge Base</span></div>\n? <div class="\"header__search\"">\n? <input type="\"text\"" class="\"search-input" placeholder="\"Enter" autocomplete="\"off\"">\n? <i class="\"iconfont"></i>\n? </div>\n? </div>\n? </div>\n? <div class="\"content\"">\n? <div class="\"container\"">\n? <div class="\"breadcrumbs\"">\n? {{breadcrumbs}}\n? </div>\n? <div class="\"category-list\"">\n? {% for category in categories %}\n? <div class="\"category-list__item\"">\n? <div class="\"category-list__item__header\"">\n? <i class="\"iconfont"></i>\n? <div class="\"category-list__item__name\""><a href="\"{{category.url}}\"">{{category.name}}</a></div>\n? <i class="\"iconfont"></i>\n? </div>\n? <div class="\"category-list__item__content">\n? <div class="\"article-list\"">\n? {% for article in articles %}\n? {% if category.id == article.category_id %}\n? <div class="\"article-list__title\"">\n? {% if article.if_featured %}\n? <i class="\"iconfont"></i>\n? {% endif %}\n? <a href="\"{{article.url}}\"">{{article.title}}</a>\n? </div>\n? {% endif %}\n? {% endfor %}\n? </div>\n? </div>\n? </div>\n? {% endfor %}\n? </div>\n? </div>\n? </div>\n?\n?",
"modifiedTime": "2021-04-09T10:38:47.243Z",
"createdTime": "2021-04-09T10:38:47.243Z"
}
]
Get a single Custom Page
GET kb/customPages/{id}
Parameters:
No Parameters
Response:
Example
Sample Request:
curl https://api11.comm100.io/v4/kb/customPages/87a9aac0-1f99-eb11-a80f-00155d081c1b \
-X 'GET' \
-H 'Authorization: Bearer {access_token}' \
Response:
HTTP/1.1 200 OK
{
"id": "87a9aac0-1f99-eb11-a80f-00155d081c1b",
"title": "Sample Custom Page",
"kbId": "b2754e68-b380-4a61-9c5b-a9570f1a4fcc",
"status": "draft",
"customUrl": "sample-custom-page",
"body": "\n?\n?\n? \n? \n? \n? \n? \n? \n? \n? \n?\n?\n? <div class="\"header\"">\n? <div class="\"container\"">\n? <div class="\"header_logo\""><img src="\"/kb/resources/your_logo.png\""></div>\n? <div class="\"header__title\""><span>Find answers in our Knowledge Base</span></div>\n? <div class="\"header__search\"">\n? <input type="\"text\"" class="\"search-input" placeholder="\"Enter" autocomplete="\"off\"">\n? <i class="\"iconfont"></i>\n? </div>\n? </div>\n? </div>\n? <div class="\"content\"">\n? <div class="\"container\"">\n? <div class="\"breadcrumbs\"">\n? {{breadcrumbs}}\n? </div>\n? <div class="\"category-list\"">\n? {% for category in categories %}\n? <div class="\"category-list__item\"">\n? <div class="\"category-list__item__header\"">\n? <i class="\"iconfont"></i>\n? <div class="\"category-list__item__name\""><a href="\"{{category.url}}\"">{{category.name}}</a></div>\n? <i class="\"iconfont"></i>\n? </div>\n? <div class="\"category-list__item__content">\n? <div class="\"article-list\"">\n? {% for article in articles %}\n? {% if category.id == article.category_id %}\n? <div class="\"article-list__title\"">\n? {% if article.if_featured %}\n? <i class="\"iconfont"></i>\n? {% endif %}\n? <a href="\"{{article.url}}\"">{{article.title}}</a>\n? </div>\n? {% endif %}\n? {% endfor %}\n? </div>\n? </div>\n? </div>\n? {% endfor %}\n? </div>\n? </div>\n? </div>\n?\n?",
"modifiedTime": "2021-04-09T10:38:47.243Z",
"createdTime": "2021-04-09T10:38:47.243Z"
}
Create a new Custom Page
POST kb/customPages
Parameters:
Name | Type | in | Required | Description |
---|---|---|---|---|
title | string | body | yes | Title of the custom page. |
kbId | guid | body | yes | Id of the knowledage base. |
status | string | body | yes | Allowed values are "draft", "published". |
customUrl | string | body | no | Custom url of the article. |
body | string | body | no | Content of the custom page. You can pass both plaintext and base64 encode text. If the request containing plaintext is blocked by comm100 WAF, use base64 format. When using base64, add "data:text/plain;base64," before the content. |
Response:
Example
Sample Request:
curl https://api11.comm100.io/v4/kb/customPages \
-X 'POST' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{"title":"Sample Custom Page","kbId":"b2754e68-b380-4a61-9c5b-a9570f1a4fcc","status":"draft","customUrl":"sample-custom-page","body":"\n?\n?\n? \n? \n? \n? \n? \n? \n? \n? \n?\n?\n? <div class="\"header\"">\n? <div class="\"container\"">\n? <div class="\"header_logo\""><img src="\"/kb/resources/your_logo.png\""></div>\n? <div class="\"header__title\""><span>Find answers in our Knowledge Base</span></div>\n? <div class="\"header__search\"">\n? <input type="\"text\"" class="\"search-input" placeholder="\"Enter" autocomplete="\"off\"">\n? <i class="\"iconfont"></i>\n? </div>\n? </div>\n? </div>\n? <div class="\"content\"">\n? <div class="\"container\"">\n? <div class="\"breadcrumbs\"">\n? {{breadcrumbs}}\n? </div>\n? <div class="\"category-list\"">\n? {% for category in categories %}\n? <div class="\"category-list__item\"">\n? <div class="\"category-list__item__header\"">\n? <i class="\"iconfont"></i>\n? <div class="\"category-list__item__name\""><a href="\"{{category.url}}\"">{{category.name}}</a></div>\n? <i class="\"iconfont"></i>\n? </div>\n? <div class="\"category-list__item__content">\n? <div class="\"article-list\"">\n? {% for article in articles %}\n? {% if category.id == article.category_id %}\n? <div class="\"article-list__title\"">\n? {% if article.if_featured %}\n? <i class="\"iconfont"></i>\n? {% endif %}\n? <a href="\"{{article.url}}\"">{{article.title}}</a>\n? </div>\n? {% endif %}\n? {% endfor %}\n? </div>\n? </div>\n? </div>\n? {% endfor %}\n? </div>\n? </div>\n? </div>\n?\n?"}'
Response:
HTTP/1.1 201 Created
{
"id": "87a9aac0-1f99-eb11-a80f-00155d081c1b",
"title": "Sample Custom Page",
"kbId": "b2754e68-b380-4a61-9c5b-a9570f1a4fcc",
"status": "draft",
"customUrl": "sample-custom-page",
"body": "\n?\n?\n? \n? \n? \n? \n? \n? \n? \n? \n?\n?\n? <div class="\"header\"">\n? <div class="\"container\"">\n? <div class="\"header_logo\""><img src="\"/kb/resources/your_logo.png\""></div>\n? <div class="\"header__title\""><span>Find answers in our Knowledge Base</span></div>\n? <div class="\"header__search\"">\n? <input type="\"text\"" class="\"search-input" placeholder="\"Enter" autocomplete="\"off\"">\n? <i class="\"iconfont"></i>\n? </div>\n? </div>\n? </div>\n? <div class="\"content\"">\n? <div class="\"container\"">\n? <div class="\"breadcrumbs\"">\n? {{breadcrumbs}}\n? </div>\n? <div class="\"category-list\"">\n? {% for category in categories %}\n? <div class="\"category-list__item\"">\n? <div class="\"category-list__item__header\"">\n? <i class="\"iconfont"></i>\n? <div class="\"category-list__item__name\""><a href="\"{{category.url}}\"">{{category.name}}</a></div>\n? <i class="\"iconfont"></i>\n? </div>\n? <div class="\"category-list__item__content">\n? <div class="\"article-list\"">\n? {% for article in articles %}\n? {% if category.id == article.category_id %}\n? <div class="\"article-list__title\"">\n? {% if article.if_featured %}\n? <i class="\"iconfont"></i>\n? {% endif %}\n? <a href="\"{{article.url}}\"">{{article.title}}</a>\n? </div>\n? {% endif %}\n? {% endfor %}\n? </div>\n? </div>\n? </div>\n? {% endfor %}\n? </div>\n? </div>\n? </div>\n?\n?",
"modifiedTime": "2021-04-09T10:38:47.243Z",
"createdTime": "2021-04-09T10:38:47.243Z"
}
Update the Custom Page
PUT kb/customPages/{id}
Parameters:
Name | Type | in | Required | Description |
---|---|---|---|---|
title | string | body | yes | Title of the custom page. |
kbId | guid | body | yes | Id of the knowledage base. |
status | string | body | yes | Allowed values are "draft", "published". |
customUrl | string | body | no | Custom url of the article. |
body | string | body | no | Content of the custom page. You can pass both plaintext and base64 encode text. If the request containing plaintext is blocked by comm100 WAF, use base64 format. When using base64, add "data:text/plain;base64," before the content. |
Response:
Example
Sample Request:
curl https://api11.comm100.io/v4/kb/customPages/87a9aac0-1f99-eb11-a80f-00155d081c1b \
-X 'PUT' \
-H 'Authorization: Bearer {access_token}' \
-H 'Content-Type: application/json' \
-D '{"title":"Sample Custom Page","kbId":"b2754e68-b380-4a61-9c5b-a9570f1a4fcc","status":"draft","customUrl":"sample-custom-page","body":"\n?\n?\n? \n? \n? \n? \n? \n? \n? \n? \n?\n?\n? <div class="\"header\"">\n? <div class="\"container\"">\n? <div class="\"header_logo\""><img src="\"/kb/resources/your_logo.png\""></div>\n? <div class="\"header__title\""><span>Find answers in our Knowledge Base</span></div>\n? <div class="\"header__search\"">\n? <input type="\"text\"" class="\"search-input" placeholder="\"Enter" autocomplete="\"off\"">\n? <i class="\"iconfont"></i>\n? </div>\n? </div>\n? </div>\n? <div class="\"content\"">\n? <div class="\"container\"">\n? <div class="\"breadcrumbs\"">\n? {{breadcrumbs}}\n? </div>\n? <div class="\"category-list\"">\n? {% for category in categories %}\n? <div class="\"category-list__item\"">\n? <div class="\"category-list__item__header\"">\n? <i class="\"iconfont"></i>\n? <div class="\"category-list__item__name\""><a href="\"{{category.url}}\"">{{category.name}}</a></div>\n? <i class="\"iconfont"></i>\n? </div>\n? <div class="\"category-list__item__content">\n? <div class="\"article-list\"">\n? {% for article in articles %}\n? {% if category.id == article.category_id %}\n? <div class="\"article-list__title\"">\n? {% if article.if_featured %}\n? <i class="\"iconfont"></i>\n? {% endif %}\n? <a href="\"{{article.url}}\"">{{article.title}}</a>\n? </div>\n? {% endif %}\n? {% endfor %}\n? </div>\n? </div>\n? </div>\n? {% endfor %}\n? </div>\n? </div>\n? </div>\n?\n?"}'
Response:
HTTP/1.1 200 OK
{
"id": "87a9aac0-1f99-eb11-a80f-00155d081c1b",
"title": "Sample Custom Page",
"kbId": "b2754e68-b380-4a61-9c5b-a9570f1a4fcc",
"status": "draft",
"customUrl": "sample-custom-page",
"body": "\n?\n?\n? \n? \n? \n? \n? \n? \n? \n? \n?\n?\n? <div class="\"header\"">\n? <div class="\"container\"">\n? <div class="\"header_logo\""><img src="\"/kb/resources/your_logo.png\""></div>\n? <div class="\"header__title\""><span>Find answers in our Knowledge Base</span></div>\n? <div class="\"header__search\"">\n? <input type="\"text\"" class="\"search-input" placeholder="\"Enter" autocomplete="\"off\"">\n? <i class="\"iconfont"></i>\n? </div>\n? </div>\n? </div>\n? <div class="\"content\"">\n? <div class="\"container\"">\n? <div class="\"breadcrumbs\"">\n? {{breadcrumbs}}\n? </div>\n? <div class="\"category-list\"">\n? {% for category in categories %}\n? <div class="\"category-list__item\"">\n? <div class="\"category-list__item__header\"">\n? <i class="\"iconfont"></i>\n? <div class="\"category-list__item__name\""><a href="\"{{category.url}}\"">{{category.name}}</a></div>\n? <i class="\"iconfont"></i>\n? </div>\n? <div class="\"category-list__item__content">\n? <div class="\"article-list\"">\n? {% for article in articles %}\n? {% if category.id == article.category_id %}\n? <div class="\"article-list__title\"">\n? {% if article.if_featured %}\n? <i class="\"iconfont"></i>\n? {% endif %}\n? <a href="\"{{article.url}}\"">{{article.title}}</a>\n? </div>\n? {% endif %}\n? {% endfor %}\n? </div>\n? </div>\n? </div>\n? {% endfor %}\n? </div>\n? </div>\n? </div>\n?\n?",
"modifiedTime": "2021-04-09T10:38:47.243Z",
"createdTime": "2021-04-09T10:38:47.243Z"
}
Remove the Custom Page
DELETE kb/customPages/{id}
Parameters:
No Parameters
Response:
No Content
Example
Sample Request:
curl https://api11.comm100.io/v4/kb/customPages/87a9aac0-1f99-eb11-a80f-00155d081c1b \
-X 'DELETE' \
-H 'Authorization: Bearer {access_token}' \
Response:
HTTP/1.1 204 No Content
Was this article helpful?