--- title: "Custom Page" slug: "server-api-kb-custom-page" updated: 2022-06-16T07:58:08Z published: 2022-06-16T07:58:08Z canonical: "developer.comm100.com/server-api-kb-custom-page" --- > ## Documentation Index > Fetch the complete documentation index at: https://developer.comm100.com/llms.txt > Use this file to discover all available pages before exploring further. # Custom Page ## Custom Page You need the Manage custom pages permission to manage custom pages. - `Custom Pages` - Custom Pages Manage - `GET kb/customPages` - [Get the list of Custom Pages](/docs/server-api-kb-custom-page#get-the-list-of-custom-pages) - `GET kb/customPages/{id}` - [Get a single Custom Page](/docs/server-api-kb-custom-page#get-a-single-custom-page) - `POST kb/customPages` - [Create a new Custom Page](/docs/server-api-kb-custom-page#create-a-new-custom-page) - `PUT kb/customPages/{id}` - [Update the Custom Page](/docs/server-api-kb-custom-page#update-the-custom-page) - `DELETE kb/customPages/{id}` - [Remove the Custom Page](/docs/server-api-kb-custom-page#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](/docs/server-api-kb-custom-page#custom-page-json-format) - #### 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?
\n?
\n?
\n?
Find answers in our Knowledge Base
\n?
\n? \n? \n?
\n?
\n?
\n?
\n?
\n?
\n? {{breadcrumbs}}\n?
\n?
\n? {% for category in categories %}\n?
\n?
\n? \n? \n? \n?
\n?
\n?
\n? {% for article in articles %}\n? {% if category.id == article.category_id %}\n?
\n? {% if article.if_featured %}\n? \n? {% endif %}\n? {{article.title}}\n?
\n? {% endif %}\n? {% endfor %}\n?
\n?
\n?
\n? {% endfor %}\n?
\n?
\n?
\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: [Custom Page](/docs/server-api-kb-custom-page#custom-page-json-format) - #### 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?
\n?
\n?
\n?
Find answers in our Knowledge Base
\n?
\n? \n? \n?
\n?
\n?
\n?
\n?
\n?
\n? {{breadcrumbs}}\n?
\n?
\n? {% for category in categories %}\n?
\n?
\n? \n? \n? \n?
\n?
\n?
\n? {% for article in articles %}\n? {% if category.id == article.category_id %}\n?
\n? {% if article.if_featured %}\n? \n? {% endif %}\n? {{article.title}}\n?
\n? {% endif %}\n? {% endfor %}\n?
\n?
\n?
\n? {% endfor %}\n?
\n?
\n?
\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: [Custom Page](/docs/server-api-kb-custom-page#custom-page-json-format) - #### 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?
\n?
\n?
\n?
Find answers in our Knowledge Base
\n?
\n? \n? \n?
\n?
\n?
\n?
\n?
\n?
\n? {{breadcrumbs}}\n?
\n?
\n? {% for category in categories %}\n?
\n?
\n? \n? \n? \n?
\n?
\n?
\n? {% for article in articles %}\n? {% if category.id == article.category_id %}\n?
\n? {% if article.if_featured %}\n? \n? {% endif %}\n? {{article.title}}\n?
\n? {% endif %}\n? {% endfor %}\n?
\n?
\n?
\n? {% endfor %}\n?
\n?
\n?
\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?
\n?
\n?
\n?
Find answers in our Knowledge Base
\n?
\n? \n? \n?
\n?
\n?
\n?
\n?
\n?
\n? {{breadcrumbs}}\n?
\n?
\n? {% for category in categories %}\n?
\n?
\n? \n? \n? \n?
\n?
\n?
\n? {% for article in articles %}\n? {% if category.id == article.category_id %}\n?
\n? {% if article.if_featured %}\n? \n? {% endif %}\n? {{article.title}}\n?
\n? {% endif %}\n? {% endfor %}\n?
\n?
\n?
\n? {% endfor %}\n?
\n?
\n?
\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: [Custom Page](/docs/server-api-kb-custom-page#custom-page-json-format) - #### 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?
\n?
\n?
\n?
Find answers in our Knowledge Base
\n?
\n? \n? \n?
\n?
\n?
\n?
\n?
\n?
\n? {{breadcrumbs}}\n?
\n?
\n? {% for category in categories %}\n?
\n?
\n? \n? \n? \n?
\n?
\n?
\n? {% for article in articles %}\n? {% if category.id == article.category_id %}\n?
\n? {% if article.if_featured %}\n? \n? {% endif %}\n? {{article.title}}\n?
\n? {% endif %}\n? {% endfor %}\n?
\n?
\n?
\n? {% endfor %}\n?
\n?
\n?
\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?
\n?
\n?
\n?
Find answers in our Knowledge Base
\n?
\n? \n? \n?
\n?
\n?
\n?
\n?
\n?
\n? {{breadcrumbs}}\n?
\n?
\n? {% for category in categories %}\n?
\n?
\n? \n? \n? \n?
\n?
\n?
\n? {% for article in articles %}\n? {% if category.id == article.category_id %}\n?
\n? {% if article.if_featured %}\n? \n? {% endif %}\n? {{article.title}}\n?
\n? {% endif %}\n? {% endfor %}\n?
\n?
\n?
\n? {% endfor %}\n?
\n?
\n?
\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