Skip to main content
POST
Creating a source validates and stores its configuration. It does not read anything. To ingest the source, call Sync a source. configuration is a flat object. Every value is a string, and lists are comma-separated inside one string, for example "docs/,README.md". Numbers are accepted and converted to strings. Booleans, arrays and nested objects are refused. The configuration is checked for its source_type when you create the source, so a malformed URL or repository name returns 400 here, not later during ingestion. The response returns the stored form: keys the source type does not read are dropped, and optional keys you left out are filled in with their defaults. No credential can be passed in configuration. Everything in it is readable by every member of your organization. Creating a source requires a role that can manage knowledge. A read-only member receives 403. A collection_id that is not in your organization returns 404. See Knowledge sources for guidance on choosing a source type.
string
required
ID (a UUID) of the collection to ingest into. A malformed ID returns 400. Syncing a source whose collection is archived is accepted, and the job then ends failed.
string
required
One of website, sitemap, github or upload. Any other value returns 400.
string
required
Display name, 1 to 255 characters after trimming.
object
Settings for the source type. At most 50 keys, and each value at most 8,192 characters. The keys each type reads are listed below. The field itself may be omitted, but every source type has a required setting, so in practice a source created without configuration is refused with 400.
In include_paths and exclude_paths, * matches within one path segment, ** matches across segments, ? matches one character, and a trailing / matches everything below a directory.

Response

Returns 201 with the new source.
string
required
Source ID (a UUID).
string
required
Collection the source ingests into.
string
required
website, sitemap, github or upload.
string
required
The trimmed name.
object
required
The stored configuration. Every key the source type reads is present, with defaults filled in, and every value is a string.
string
required
active for a new source.
string | null
required
null until the source has been ingested.
string | null
required
null until the source has been ingested.
string
required
When the source was created, ISO 8601 in UTC.
string
required
When the source was last changed, ISO 8601 in UTC.
Last modified on September 26, 2026