Update knowledge base settings
PATCH https://api.weav.com/v1/kb
Requires a token with the external-api:write ability.
Body
improvement_enabledbooleanWhether teammate corrections can propose KB drafts.
mcp_enabledbooleanWhether the public MCP server and WebMCP tools are available at the KB's /mcp URL.
social_linksobjectPartial HTTP(S) URLs, merged with stored links; null or empty removes a link.
bannerobjectPartial banner update. Enabling a banner requires nonblank content.
seoobjectPartial SEO settings update; values omitted from nested objects are preserved.
Request
cURL
curl --request PATCH \
--url 'https://api.weav.com/v1/kb' \
--header "Authorization: Bearer ${WEAV_API_TOKEN}" \
--header 'Content-Type: application/json' \
--data '{
"improvement_enabled": true,
"mcp_enabled": true,
"social_links": {
"x": "string",
"linkedin": "string",
"facebook": "string",
"instagram": "string",
"youtube": "string",
"github": "string",
"discord": "string",
"website": "string"
},
"banner": {
"enabled": true,
"content": "string",
"dismissible": true,
"type": "info",
"light_color": "string",
"dark_color": "string"
},
"seo": {
"indexing_enabled": true,
"description": "string",
"agent_instructions": "string",
"og_image_url": "https://example.com",
"verification": {
"google": "string",
"bing": "string",
"yandex": "string"
},
"content_signals": {
"ai_train": true,
"search": true,
"ai_input": true
}
}
}'
JavaScript
const body = {
"improvement_enabled": true,
"mcp_enabled": true,
"social_links": {
"x": "string",
"linkedin": "string",
"facebook": "string",
"instagram": "string",
"youtube": "string",
"github": "string",
"discord": "string",
"website": "string"
},
"banner": {
"enabled": true,
"content": "string",
"dismissible": true,
"type": "info",
"light_color": "string",
"dark_color": "string"
},
"seo": {
"indexing_enabled": true,
"description": "string",
"agent_instructions": "string",
"og_image_url": "https://example.com",
"verification": {
"google": "string",
"bing": "string",
"yandex": "string"
},
"content_signals": {
"ai_train": true,
"search": true,
"ai_input": true
}
}
};
const response = await fetch("https://api.weav.com/v1/kb", {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.WEAV_API_TOKEN}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(body)
});
console.log(await response.json());
Python
import os
import requests
headers = {"Authorization": f"Bearer {os.environ['WEAV_API_TOKEN']}"}
body = {"improvement_enabled": True, "mcp_enabled": True, "social_links": {"x": "string", "linkedin": "string", "facebook": "string", "instagram": "string", "youtube": "string", "github": "string", "discord": "string", "website": "string"}, "banner": {"enabled": True, "content": "string", "dismissible": True, "type": "info", "light_color": "string", "dark_color": "string"}, "seo": {"indexing_enabled": True, "description": "string", "agent_instructions": "string", "og_image_url": "https://example.com", "verification": {"google": "string", "bing": "string", "yandex": "string"}, "content_signals": {"ai_train": True, "search": True, "ai_input": True}}}
response = requests.patch("https://api.weav.com/v1/kb", headers=headers, json=body)
print(response.json())
PHP
use GuzzleHttp\Client;
$client = new Client();
$response = $client->request('PATCH', 'https://api.weav.com/v1/kb', [
'headers' => ['Authorization' => 'Bearer '.getenv('WEAV_API_TOKEN')],
'json' => array (
'improvement_enabled' => true,
'mcp_enabled' => true,
'social_links' =>
(object) array(
'x' => 'string',
'linkedin' => 'string',
'facebook' => 'string',
'instagram' => 'string',
'youtube' => 'string',
'github' => 'string',
'discord' => 'string',
'website' => 'string',
),
'banner' =>
(object) array(
'enabled' => true,
'content' => 'string',
'dismissible' => true,
'type' => 'info',
'light_color' => 'string',
'dark_color' => 'string',
),
'seo' =>
(object) array(
'indexing_enabled' => true,
'description' => 'string',
'agent_instructions' => 'string',
'og_image_url' => 'https://example.com',
'verification' =>
(object) array(
'google' => 'string',
'bing' => 'string',
'yandex' => 'string',
),
'content_signals' =>
(object) array(
'ai_train' => true,
'search' => true,
'ai_input' => true,
),
),
),
]);
echo $response->getBody();
Response
200 OK
{
"seo": {
"indexing_enabled": false,
"description": "string",
"agent_instructions": "string",
"og_image_url": "https://example.com",
"verification": {
"google": "string",
"bing": "string",
"yandex": "string"
},
"content_signals": {
"ai_train": false,
"search": false,
"ai_input": false
}
},
"sitemap_url": "https://example.com"
}
422Unprocessable Content
Response fields
seoobjectsitemap_urlstringFormat: uri.
