> ## Documentation Index
> Fetch the complete documentation index at: https://docs.weav.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update knowledge base settings

> Requires a token with the external-api:write ability. improvement_enabled boolean Whether teammate corrections can propose KB drafts. mcp_enabled boolean Whether the public MCP server and WebMCP tools are available at the KB's /mcp URL. social_links object Partial HTTP(S) URLs, merged with stored…

```http
PATCH https://api.weav.com/v1/kb
```

Requires a token with the `external-api:write` ability.

## Body

<ParamField body="improvement_enabled" type="boolean">
Whether teammate corrections can propose KB drafts.
</ParamField>

<ParamField body="mcp_enabled" type="boolean">
Whether the public MCP server and WebMCP tools are available at the KB's /mcp URL.
</ParamField>

<ParamField body="social_links" type="object">
Partial HTTP(S) URLs, merged with stored links; null or empty removes a link.
</ParamField>

<ParamField body="banner" type="object">
Partial banner update. Enabling a banner requires nonblank content.
</ParamField>

<ParamField body="seo" type="object">
Partial SEO settings update; values omitted from nested objects are preserved.
</ParamField>

## Request

<CodeGroup>

```bash 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
    }
  }
}'
```

```js 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 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 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();
```

</CodeGroup>

## Response

<CodeGroup>

```json 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"
}
```

</CodeGroup>

- `422` Unprocessable Content

## Response fields

<ParamField body="seo" type="object">

</ParamField>

<ParamField body="sitemap_url" type="string">
Format: `uri`.
</ParamField>

---

This knowledge base is built and hosted on [Weav](https://weav.com).
