> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.ada.cx/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.ada.cx/_mcp/server.

# Updating a Knowledge API source needs the write scope

To update a knowledge source with `PATCH /v2/knowledge/sources/{id}`, your API key now needs the `knowledge_sources:write` scope. This is the scope that already creates and deletes sources. Until now, a key with only `knowledge_sources:read` could update a source too. If your integration updates sources with a read-only key, it now gets a 401 response. Add the write scope to the key, or to the scopes your App registers.

The same request is refused, and nothing is saved, when it:

* gives the source a name that another source already uses
* renames the **Created in Ada** source, or gives its name to another source
* sets a sync frequency on a source that is not a website import
* targets a source that is being deleted

Before this change, the sync frequency and the availability rules in a refused request were saved before the name was rejected. Creating a source named **Created in Ada** is refused on every API.

For more information, see [Sources](/reference/knowledge/sources) in the API reference.