{ "code": "validation_error", "message": "The source URL is not valid." }
{ "code": "authorization_error", "message": "You do not have permission to perform this action." }
{ "code": "not_found", "message": "The knowledge collection was not found." }
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. A source that signs in names a saved connection with connection_id instead, and the token stays in the connection.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.
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.
Settings for the source type. At most 50 keys, and each value at most 8,192 characters, except an upload source’s files, which may hold up to 102,400 (its 200 entries at their longest). 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.
Show website
Crawls a documentation site from a seed URL, following links on the same origin (scheme, host and port) only. Redirects are not followed, so a page that redirects is treated as unreadable. URLs ending in image, media, archive, font, stylesheet or script extensions are skipped.
Crawl only paths at or below this prefix, for example /docs. It must start with / and must not contain ... Matching is by path segment, so /docs does not match /docs-internal.
Comma-separated globs matched against the URL path. Matching pages are skipped, even when they also match include_paths. At most 100 globs of up to 512 characters each.
Show sitemap
Reads the URLs listed in a sitemap.xml without following links. It takes the same keys as website. Listed URLs must still be on the sitemap’s origin and pass path_prefix, include_paths and exclude_paths. max_pages caps the pages read. max_depth is validated but not used. A sitemap index is followed to at most 100 child sitemaps.
Absolute http or https URL of the sitemap, at most 2,048 characters.
Show github
Reads a GitHub repository at a branch, tag or commit. Nothing secret is stored on the source. A public repository is read with the access your deployment is configured with; a private one with the github connection you name in connection_id.
Branch, tag or commit SHA: letters, digits, ., _, / and -, starting with a letter or digit, at most 255 characters. It must not contain .. or //. Leave it empty to follow the repository’s default branch.
Comma-separated globs for files to skip. An exclusion wins over an include. A value you send replaces the default list rather than adding to it. At most 100 globs of up to 512 characters each.
Show upload
Ingests files you stored with Upload files. Post that response’s configuration object back unchanged.
The manifest: one storage_key|filename entry per file, entries separated by newlines. At most 200 files, with no storage key listed twice. Every storage key must be one issued to your organization.
Show github_issues, github_pull_requests and github_discussions
Reads a repository’s issues, pull requests or discussions, one document each, with comments. All three take the keys below, and are read with the GitHub access your deployment is configured with. github_discussions is in beta and needs that access even for a public repository: without it the source is created and its sync fails.
github_pull_requests only. "true" also reads the review comments left on lines of code.
Show openapi
Reads one public OpenAPI 3.x or Swagger 2.x schema, in JSON or YAML, and produces one document per operation. A $ref to another file or host is not followed, and a schema larger than the deployment’s fetch limit, 1 MiB by default, fails to sync.
Maximum operations read. An integer from 1 to 2000.
Show custom_answers
Holds question-and-answer pairs you write, one document per pair. It fetches nothing. A source takes 1 to 25 pairs, and the same question cannot appear twice in it.
Reads the topics of a public Discourse forum, one document per topic holding its first posts. A forum that requires signing in, or one installed under a path, cannot be read.
Posts read from each topic. An integer from 1 to 20.
Show confluence
Reads the current pages of a Confluence Cloud site, one document per page. The site is the one saved with the atlassian connection named in connection_id, which is required; there is no address in the configuration. See Connect Confluence.
Comma-separated space keys, such as ENG,DOCS: letters, digits, ., _ and -, optionally starting with ~, at most 25. Empty reads every space the connection’s account can see.
Reads the issues of chosen Jira Cloud projects, one document per issue with its description and comments. Comments restricted to a role or group, and internal service-desk comments, are left out, and no person’s name is kept. The site is the one saved with the atlassian connection named in connection_id, which is required. See Connect Jira.
Maximum issues read, oldest first. An integer from 1 to 5000.
Show jira_service_management
Reads the requests of one service desk, one document per request with its public comments only. Internal comments are never read. The site is the one saved with the atlassian connection named in connection_id, which is required. See Connect Jira Service Management.
Reads the solved and closed tickets of a Zendesk Support account, one document per ticket with its public replies only. Internal notes are never kept. The account is the one saved with the zendesk connection named in connection_id, which is required. See Connect Zendesk tickets.
ID (a UUID) of a saved connection to read the source with. Required for confluence, jira and jira_service_management (an atlassian connection), notion (a notion connection) and zendesk_tickets (a zendesk connection); optional for the four GitHub types, where a github connection reads a private repository. Any other type refuses one with 400, as does a connection of the wrong service. A connection in another organization returns 404. You need the owner or admin role to name one. It cannot be changed later, and it is not returned in the response.
Answer each person only from the documents the source system lets them read. See Source
permissions. Offered only where the response’s
source_permissions_available is true; true anywhere else returns 400. Left out, a new
source takes the default: on wherever it is available.
Sources describes what each type reads and its limits. To change a source after it is created, see Update a source.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.
{ "code": "validation_error", "message": "The source URL is not valid." }
{ "code": "authorization_error", "message": "You do not have permission to perform this action." }
{ "code": "not_found", "message": "The knowledge collection was not found." }
{"docsConfig":{"theme":"sequoia","$schema":"https://mintlify.com/docs.json","name":"MITHUNAI Docs","description":"Documentation for MITHUNAI: RAG answers questions from your own documentation with citations, through a website widget, an HTTP API and MCP; Chat, the Gateway, Agents and Team share one account and one sign-in.","colors":{"primary":"#B83E0E","light":"#ED733B","dark":"#B83E0E"},"logo":{"light":"https://mintcdn.com/mithunai/bCUwfPGz6sPBjymO/logo/docs-light.svg?fit=max\u0026auto=format\u0026n=bCUwfPGz6sPBjymO\u0026q=85\u0026s=15cb114eaa2525258b9135ffdf2817ee","dark":"https://mintcdn.com/mithunai/bCUwfPGz6sPBjymO/logo/docs-dark.svg?fit=max\u0026auto=format\u0026n=bCUwfPGz6sPBjymO\u0026q=85\u0026s=6a19fe1581aff13f217356cca6bec212","href":"/"},"favicon":{"light":"https://mintcdn.com/mithunai/bCUwfPGz6sPBjymO/logo/favicon-light.png?fit=max\u0026auto=format\u0026n=bCUwfPGz6sPBjymO\u0026q=85\u0026s=51d47c7fa29f5979c6395fc849ada558","dark":"https://mintcdn.com/mithunai/bCUwfPGz6sPBjymO/logo/favicon-dark.png?fit=max\u0026auto=format\u0026n=bCUwfPGz6sPBjymO\u0026q=85\u0026s=5c5141e387c130da7f64e7fc25b591d7"},"api":{"playground":{"display":"interactive","proxy":true},"examples":{"defaults":"required","languages":["bash","python","javascript"]},"mdx":{"auth":{"method":"bearer"},"server":"https://app.mithunai.com/mithunai/api/v1"}},"appearance":{"default":"light"},"background":{"color":{"light":"#FFFFFF","dark":"#000000"}},"navbar":{"links":[{"href":"https://www.mithunai.com/product","label":"Product"},{"href":"https://www.mithunai.com/pricing","label":"Pricing"},{"href":"https://www.mithunai.com/demo","label":"Book a demo"}],"primary":{"type":"button","label":"Sign in","href":"https://app.mithunai.com/"}},"footer":{"socials":{"website":"https://www.mithunai.com"},"links":[{"header":"Get started","items":[{"label":"Quickstart","href":"/quickstart"},{"label":"Add Ask AI to your website","href":"/channels/widget"},{"label":"Connect sources","href":"/knowledge/sources"},{"label":"Open the console","href":"https://app.mithunai.com/"}]},{"header":"Developers","items":[{"label":"API reference","href":"/api-reference/introduction"},{"label":"HTTP API","href":"/channels/api"},{"label":"MCP server","href":"/channels/mcp"},{"label":"Changelog","href":"/resources/changelog"}]},{"header":"Trust and support","items":[{"label":"Security","href":"/security"},{"label":"Product status","href":"/resources/product-status"},{"label":"Troubleshooting","href":"/resources/troubleshooting"},{"label":"Book a demo","href":"https://www.mithunai.com/demo"}]}]},"search":{"prompt":"Search the docs"},"seo":{"metatags":{"canonical":"https://docs.mithunai.com","og:site_name":"MITHUNAI Docs","og:locale":"en_GB"},"organization":{"id":"https://www.mithunai.com/#organization","name":"MITHUNAI","url":"https://www.mithunai.com","logo":"https://docs.mithunai.com/logo/light.svg"},"indexing":"navigable"},"fonts":{"heading":{"family":"Newsreader","weight":400},"body":{"family":"Inter","weight":400}},"icons":{"library":"lucide"},"styling":{"eyebrows":"breadcrumbs","codeblocks":{"theme":{"light":"github-light","dark":"github-dark"}},"latex":false},"errors":{"404":{"redirect":false,"title":"Page not found","description":"That page does not exist, or has moved. Search the docs, or start from the [introduction](/) or the [quickstart](/quickstart)."}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","cursor","vscode"],"display":"header"},"metadata":{"timestamp":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"mithunai","hasAudioNarration":false,"actualSubdomain":"mithunai","customDomains":["docs.mithunai.com"],"gitSource":{"type":"github","owner":"mithunaihq","repo":"mithunai","deployBranch":"main","contentDirectory":"docs-portal","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6af63d45ddc63e6e75817332","clientVersion":"0.0.4124","searchFilterCounts":[{"language":"default","tag":"API reference","count":193},{"language":"default","tag":"RAG","count":42},{"language":"default","tag":"AI employees","count":41},{"language":"default","tag":"Platform","count":24},{"language":"default","tag":"Knowledge","count":21},{"language":"default","tag":"Team","count":15},{"language":"default","tag":"MITHUNAI Team","count":15},{"language":"default","tag":"Knowledge sources","count":14},{"language":"default","tag":"Get started","count":13},{"language":"default","tag":"AI search visibility","count":13}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":".mdx-content :is(h1,h2,h3){font-weight:400;font-synthesis:none}.mdx-content :is(h4,h5,h6),.card h2{font-family:inherit;font-weight:600;letter-spacing:-0.01em}:where(a,button,input,summary,[tabindex]):focus-visible{outline:2px solid rgb(var(--primary));outline-offset:2px}.dark :where(a,button,input,summary,[tabindex]):focus-visible{outline-color:rgb(var(--primary-light))}.dark .beta-badge{color:#bfbbb4}kbd{font-size:0.8125em}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}}"}],"page":{"pagePath":"api-reference/knowledge/create-source","slug":"/api-reference/knowledge/create-source","pageMetadata":{"title":"Create a knowledge source to ingest","sidebarTitle":"Create a source","api":"POST /knowledge/sources","description":"Connect a website, repository, schema, help centre, Confluence, Notion, Jira, Zendesk, files or custom answers to a collection. Nothing is read yet.","href":"/api-reference/knowledge/create-source"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Connect a website, repository, schema, help centre, Confluence, Notion, Jira, Zendesk, files or custom answers to a collection. Nothing is read yet.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Expandable,Heading,ParamField,ResponseField}=_components;if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Creating a source validates and stores its configuration. It does not read anything. To ingest the source, call `,_jsx(_components.a,{href:`/api-reference/knowledge/sync-source`,children:`Sync a source`}),`.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`configuration`}),` is a flat object. Every value is a string, and lists are comma-separated inside one string, for example `,_jsx(_components.code,{children:`\"docs/,README.md\"`}),`. Numbers are accepted and converted to strings. Booleans, arrays and nested objects are refused. The configuration is checked for its `,_jsx(_components.code,{children:`source_type`}),` when you create the source, so a malformed URL or repository name returns `,_jsx(_components.code,{children:`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.`]}),`\n`,_jsxs(_components.p,{children:[`No credential can be passed in `,_jsx(_components.code,{children:`configuration`}),`. Everything in it is readable by every member of your organization. A source that signs in names a `,_jsx(_components.a,{href:`/knowledge/connections`,children:`saved connection`}),` with `,_jsx(_components.code,{children:`connection_id`}),` instead, and the token stays in the connection.`]}),`\n`,_jsxs(_components.p,{children:[`Creating a source requires a role that can manage knowledge. A read-only member receives `,_jsx(_components.code,{children:`403`}),`. A `,_jsx(_components.code,{children:`collection_id`}),` that is not in your organization returns `,_jsx(_components.code,{children:`404`}),`. See `,_jsx(_components.a,{href:`/knowledge/sources`,children:`Knowledge sources`}),` for guidance on choosing a source type.`]}),`\n`,_jsx(ParamField,{body:`collection_id`,type:`string`,required:true,id:`param-collection-id`,children:_jsxs(_components.p,{children:[`ID (a UUID) of the collection to ingest into. A malformed ID returns `,_jsx(_components.code,{children:`400`}),`. Syncing a source whose collection is archived is accepted, and the job then ends `,_jsx(_components.code,{children:`failed`}),`.`]})}),`\n`,_jsx(ParamField,{body:`source_type`,type:`string`,required:true,id:`param-source-type`,children:_jsxs(_components.p,{children:[`One of the `,_jsx(_components.code,{children:`source_type`}),` values listed on `,_jsx(_components.a,{href:`/knowledge/connectors`,children:`Connectors`}),`, such as `,_jsx(_components.code,{children:`website`}),`,\n`,_jsx(_components.code,{children:`github`}),` or `,_jsx(_components.code,{children:`upload`}),`. Any other value returns `,_jsx(_components.code,{children:`400`}),`.`]})}),`\n`,_jsx(ParamField,{body:`name`,type:`string`,required:true,id:`param-name`,children:_jsx(_components.p,{children:`Display name, 1 to 255 characters after trimming.`})}),`\n`,_jsxs(ParamField,{body:`configuration`,type:`object`,id:`param-configuration`,children:[_jsxs(_components.p,{children:[`Settings for the source type. At most 50 keys, and each value at most 8,192 characters, except an upload source’s `,_jsx(_components.code,{children:`files`}),`, which may hold up to 102,400 (its 200 entries at their longest). 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 `,_jsx(_components.code,{children:`configuration`}),` is refused with `,_jsx(_components.code,{children:`400`}),`.`]}),_jsxs(Expandable,{title:`website`,children:[_jsx(_components.p,{children:`Crawls a documentation site from a seed URL, following links on the same origin (scheme, host and port) only. Redirects are not followed, so a page that redirects is treated as unreadable. URLs ending in image, media, archive, font, stylesheet or script extensions are skipped.`}),_jsx(ParamField,{body:`seed_url`,type:`string`,required:true,id:`param-seed-url`,children:_jsxs(_components.p,{children:[`Absolute `,_jsx(_components.code,{children:`http`}),` or `,_jsx(_components.code,{children:`https`}),` URL the crawl starts from, at most 2,048 characters. It must not contain a username or password.`]})}),_jsx(ParamField,{body:`path_prefix`,type:`string`,default:``,id:`param-path-prefix`,children:_jsxs(_components.p,{children:[`Crawl only paths at or below this prefix, for example `,_jsx(_components.code,{children:`/docs`}),`. It must start with `,_jsx(_components.code,{children:`/`}),` and must not contain `,_jsx(_components.code,{children:`..`}),`. Matching is by path segment, so `,_jsx(_components.code,{children:`/docs`}),` does not match `,_jsx(_components.code,{children:`/docs-internal`}),`.`]})}),_jsx(ParamField,{body:`max_depth`,type:`string`,default:`3`,id:`param-max-depth`,children:_jsxs(_components.p,{children:[`Number of links followed from the seed. An integer from `,_jsx(_components.code,{children:`1`}),` to `,_jsx(_components.code,{children:`10`}),`.`]})}),_jsx(ParamField,{body:`max_pages`,type:`string`,default:`500`,id:`param-max-pages`,children:_jsxs(_components.p,{children:[`Maximum pages collected in one run. An integer from `,_jsx(_components.code,{children:`1`}),` to `,_jsx(_components.code,{children:`5000`}),`.`]})}),_jsx(ParamField,{body:`include_paths`,type:`string`,default:``,id:`param-include-paths`,children:_jsx(_components.p,{children:`Comma-separated globs matched against the URL path. When set, only matching pages are ingested. At most 100 globs of up to 512 characters each.`})}),_jsx(ParamField,{body:`exclude_paths`,type:`string`,default:``,id:`param-exclude-paths`,children:_jsxs(_components.p,{children:[`Comma-separated globs matched against the URL path. Matching pages are skipped, even when they also match `,_jsx(_components.code,{children:`include_paths`}),`. At most 100 globs of up to 512 characters each.`]})})]}),_jsxs(Expandable,{title:`sitemap`,children:[_jsxs(_components.p,{children:[`Reads the URLs listed in a `,_jsx(_components.code,{children:`sitemap.xml`}),` without following links. It takes the same keys as `,_jsx(_components.code,{children:`website`}),`. Listed URLs must still be on the sitemap’s origin and pass `,_jsx(_components.code,{children:`path_prefix`}),`, `,_jsx(_components.code,{children:`include_paths`}),` and `,_jsx(_components.code,{children:`exclude_paths`}),`. `,_jsx(_components.code,{children:`max_pages`}),` caps the pages read. `,_jsx(_components.code,{children:`max_depth`}),` is validated but not used. A sitemap index is followed to at most 100 child sitemaps.`]}),_jsx(ParamField,{body:`seed_url`,type:`string`,required:true,id:`param-seed-url-1`,children:_jsxs(_components.p,{children:[`Absolute `,_jsx(_components.code,{children:`http`}),` or `,_jsx(_components.code,{children:`https`}),` URL of the sitemap, at most 2,048 characters.`]})})]}),_jsxs(Expandable,{title:`github`,children:[_jsxs(_components.p,{children:[`Reads a GitHub repository at a branch, tag or commit. Nothing secret is stored on the source. A public repository is read with the access your deployment is configured with; a private one with the `,_jsx(_components.code,{children:`github`}),` connection you name in `,_jsx(_components.code,{children:`connection_id`}),`.`]}),_jsx(ParamField,{body:`owner`,type:`string`,required:true,id:`param-owner`,children:_jsxs(_components.p,{children:[`Account or organization name. Letters, digits, `,_jsx(_components.code,{children:`.`}),`, `,_jsx(_components.code,{children:`_`}),` and `,_jsx(_components.code,{children:`-`}),`, starting with a letter or digit, not ending in `,_jsx(_components.code,{children:`.`}),`, at most 100 characters.`]})}),_jsx(ParamField,{body:`repository`,type:`string`,required:true,id:`param-repository`,children:_jsxs(_components.p,{children:[`Repository name, with the same rules as `,_jsx(_components.code,{children:`owner`}),`.`]})}),_jsx(ParamField,{body:`ref`,type:`string`,default:``,id:`param-ref`,children:_jsxs(_components.p,{children:[`Branch, tag or commit SHA: letters, digits, `,_jsx(_components.code,{children:`.`}),`, `,_jsx(_components.code,{children:`_`}),`, `,_jsx(_components.code,{children:`/`}),` and `,_jsx(_components.code,{children:`-`}),`, starting with a letter or digit, at most 255 characters. It must not contain `,_jsx(_components.code,{children:`..`}),` or `,_jsx(_components.code,{children:`//`}),`. Leave it empty to follow the repository’s default branch.`]})}),_jsx(ParamField,{body:`include_paths`,type:`string`,default:``,id:`param-include-paths-1`,children:_jsx(_components.p,{children:`Comma-separated globs matched against repository paths. When set, only matching files are ingested. At most 100 globs of up to 512 characters each.`})}),_jsx(ParamField,{body:`exclude_paths`,type:`string`,default:`.git/,node_modules/,vendor/,dist/,build/,target/,.venv/,**/__pycache__/,**/*.min.js,**/*.lock`,id:`param-exclude-paths-1`,children:_jsx(_components.p,{children:`Comma-separated globs for files to skip. An exclusion wins over an include. A value you send replaces the default list rather than adding to it. At most 100 globs of up to 512 characters each.`})})]}),_jsxs(Expandable,{title:`upload`,children:[_jsxs(_components.p,{children:[`Ingests files you stored with `,_jsx(_components.a,{href:`/api-reference/knowledge/upload-files`,children:`Upload files`}),`. Post that response’s `,_jsx(_components.code,{children:`configuration`}),` object back unchanged.`]}),_jsx(ParamField,{body:`files`,type:`string`,required:true,id:`param-files`,children:_jsxs(_components.p,{children:[`The manifest: one `,_jsx(_components.code,{children:`storage_key|filename`}),` entry per file, entries separated by newlines. At most 200 files, with no storage key listed twice. Every storage key must be one issued to your organization.`]})})]}),_jsxs(Expandable,{title:`github_issues, github_pull_requests and github_discussions`,children:[_jsxs(_components.p,{children:[`Reads a repository’s issues, pull requests or discussions, one document each, with comments. All three take the keys below, and are read with the GitHub access your deployment is configured with. `,_jsx(_components.code,{children:`github_discussions`}),` is in beta and needs that access even for a public repository: without it the source is created and its sync fails.`]}),_jsx(ParamField,{body:`owner`,type:`string`,required:true,id:`param-owner-1`,children:_jsxs(_components.p,{children:[`Account or organization name, with the same rules as for `,_jsx(_components.code,{children:`github`}),`.`]})}),_jsx(ParamField,{body:`repository`,type:`string`,required:true,id:`param-repository-1`,children:_jsxs(_components.p,{children:[`Repository name, with the same rules as `,_jsx(_components.code,{children:`owner`}),`.`]})}),_jsx(ParamField,{body:`state`,type:`string`,default:`all`,id:`param-state`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`open`}),`, `,_jsx(_components.code,{children:`closed`}),` or `,_jsx(_components.code,{children:`all`}),`.`]})}),_jsx(ParamField,{body:`max_age_days`,type:`string`,default:`365`,id:`param-max-age-days`,children:_jsxs(_components.p,{children:[`Skip anything last updated longer ago than this. An integer from `,_jsx(_components.code,{children:`0`}),` to `,_jsx(_components.code,{children:`3650`}),`; `,_jsx(_components.code,{children:`0`}),` means no limit.`]})}),_jsx(ParamField,{body:`include_labels`,type:`string`,default:``,id:`param-include-labels`,children:_jsx(_components.p,{children:`Comma-separated labels. When set, only items carrying at least one are read. At most 50 labels of up to 100 characters each.`})}),_jsx(ParamField,{body:`exclude_labels`,type:`string`,default:``,id:`param-exclude-labels`,children:_jsxs(_components.p,{children:[`Comma-separated labels to skip. An exclusion wins over an include. The same bounds as `,_jsx(_components.code,{children:`include_labels`}),`.`]})}),_jsx(ParamField,{body:`max_items`,type:`string`,default:`200`,id:`param-max-items`,children:_jsxs(_components.p,{children:[`How many to read, newest first. An integer from `,_jsx(_components.code,{children:`1`}),` to `,_jsx(_components.code,{children:`1000`}),`.`]})}),_jsx(ParamField,{body:`max_comments`,type:`string`,default:`30`,id:`param-max-comments`,children:_jsxs(_components.p,{children:[`Comments read per item. An integer from `,_jsx(_components.code,{children:`0`}),` to `,_jsx(_components.code,{children:`100`}),`.`]})}),_jsx(ParamField,{body:`exclude_closed_unmerged`,type:`string`,default:`true`,id:`param-exclude-closed-unmerged`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`github_pull_requests`}),` only. `,_jsx(_components.code,{children:`\"true\"`}),` skips pull requests closed without being merged.`]})}),_jsx(ParamField,{body:`include_conversation_comments`,type:`string`,default:`true`,id:`param-include-conversation-comments`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`github_pull_requests`}),` only. `,_jsx(_components.code,{children:`\"true\"`}),` reads the comments on the pull request’s conversation.`]})}),_jsx(ParamField,{body:`include_review_comments`,type:`string`,default:`false`,id:`param-include-review-comments`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`github_pull_requests`}),` only. `,_jsx(_components.code,{children:`\"true\"`}),` also reads the review comments left on lines of code.`]})})]}),_jsxs(Expandable,{title:`openapi`,children:[_jsxs(_components.p,{children:[`Reads one public OpenAPI 3.x or Swagger 2.x schema, in JSON or YAML, and produces one document per operation. A `,_jsx(_components.code,{children:`$ref`}),` to another file or host is not followed, and a schema larger than the deployment’s fetch limit, 1 MiB by default, fails to sync.`]}),_jsx(ParamField,{body:`schema_url`,type:`string`,required:true,id:`param-schema-url`,children:_jsxs(_components.p,{children:[`Absolute `,_jsx(_components.code,{children:`http`}),` or `,_jsx(_components.code,{children:`https`}),` URL of the schema, at most 2,048 characters. It must not contain a username or password.`]})}),_jsx(ParamField,{body:`max_operations`,type:`string`,default:`500`,id:`param-max-operations`,children:_jsxs(_components.p,{children:[`Maximum operations read. An integer from `,_jsx(_components.code,{children:`1`}),` to `,_jsx(_components.code,{children:`2000`}),`.`]})})]}),_jsxs(Expandable,{title:`custom_answers`,children:[_jsx(_components.p,{children:`Holds question-and-answer pairs you write, one document per pair. It fetches nothing. A source takes 1 to 25 pairs, and the same question cannot appear twice in it.`}),_jsx(ParamField,{body:`question_1`,type:`string`,required:true,id:`param-question-1`,children:_jsxs(_components.p,{children:[`The first question, on one line, at most 500 characters. Further pairs are `,_jsx(_components.code,{children:`question_2`}),`, `,_jsx(_components.code,{children:`question_3`}),` and so on; the numbers set the order.`]})}),_jsx(ParamField,{body:`answer_1`,type:`string`,required:true,id:`param-answer-1`,children:_jsxs(_components.p,{children:[`The answer to `,_jsx(_components.code,{children:`question_1`}),`, in Markdown, at most 4,000 characters. Every question needs an answer with the same number.`]})})]}),_jsxs(Expandable,{title:`zendesk_help_center`,children:[_jsx(_components.p,{children:`Reads the articles of a Zendesk help centre that a signed-out visitor can read. A help centre that requires signing in fails to sync.`}),_jsx(ParamField,{body:`help_center_url`,type:`string`,required:true,id:`param-help-center-url`,children:_jsxs(_components.p,{children:[`Any `,_jsx(_components.code,{children:`http`}),` or `,_jsx(_components.code,{children:`https`}),` page of the help centre. Only its origin is stored. It must not contain a username or password.`]})}),_jsx(ParamField,{body:`locale`,type:`string`,default:``,id:`param-locale`,children:_jsxs(_components.p,{children:[`A locale of the help centre, such as `,_jsx(_components.code,{children:`en-us`}),`. Empty reads its default.`]})}),_jsx(ParamField,{body:`category_id`,type:`string`,default:``,id:`param-category-id`,children:_jsxs(_components.p,{children:[`Read one category only. Digits. Cannot be combined with `,_jsx(_components.code,{children:`section_id`}),`.`]})}),_jsx(ParamField,{body:`section_id`,type:`string`,default:``,id:`param-section-id`,children:_jsxs(_components.p,{children:[`Read one section only. Digits. Cannot be combined with `,_jsx(_components.code,{children:`category_id`}),`.`]})}),_jsx(ParamField,{body:`max_articles`,type:`string`,default:`500`,id:`param-max-articles`,children:_jsxs(_components.p,{children:[`Maximum articles read. An integer from `,_jsx(_components.code,{children:`1`}),` to `,_jsx(_components.code,{children:`2000`}),`.`]})})]}),_jsxs(Expandable,{title:`discourse`,children:[_jsx(_components.p,{children:`Reads the topics of a public Discourse forum, one document per topic holding its first posts. A forum that requires signing in, or one installed under a path, cannot be read.`}),_jsx(ParamField,{body:`forum_url`,type:`string`,required:true,id:`param-forum-url`,children:_jsxs(_components.p,{children:[`Any `,_jsx(_components.code,{children:`http`}),` or `,_jsx(_components.code,{children:`https`}),` page of the forum. Only its origin is stored. It must not contain a username or password.`]})}),_jsx(ParamField,{body:`category_id`,type:`string`,default:``,id:`param-category-id-1`,children:_jsxs(_components.p,{children:[`Read one category only. Digits. Cannot be combined with `,_jsx(_components.code,{children:`tag`}),`.`]})}),_jsx(ParamField,{body:`tag`,type:`string`,default:``,id:`param-tag`,children:_jsxs(_components.p,{children:[`Read one tag only: lower-case letters, digits, `,_jsx(_components.code,{children:`-`}),`, `,_jsx(_components.code,{children:`.`}),` and `,_jsx(_components.code,{children:`_`}),`, at most 100 characters. Cannot be combined with `,_jsx(_components.code,{children:`category_id`}),`.`]})}),_jsx(ParamField,{body:`solved_only`,type:`string`,default:`false`,id:`param-solved-only`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`\"true\"`}),` reads only topics with an accepted answer. The sync fails on a forum that does not report accepted answers.`]})}),_jsx(ParamField,{body:`max_topics`,type:`string`,default:`100`,id:`param-max-topics`,children:_jsxs(_components.p,{children:[`Maximum topics read, latest first. An integer from `,_jsx(_components.code,{children:`1`}),` to `,_jsx(_components.code,{children:`500`}),`.`]})}),_jsx(ParamField,{body:`max_posts_per_topic`,type:`string`,default:`20`,id:`param-max-posts-per-topic`,children:_jsxs(_components.p,{children:[`Posts read from each topic. An integer from `,_jsx(_components.code,{children:`1`}),` to `,_jsx(_components.code,{children:`20`}),`.`]})})]}),_jsxs(Expandable,{title:`confluence`,children:[_jsxs(_components.p,{children:[`Reads the current pages of a Confluence Cloud site, one document per page. The site is the one saved with the `,_jsx(_components.code,{children:`atlassian`}),` connection named in `,_jsx(_components.code,{children:`connection_id`}),`, which is required; there is no address in the configuration. See `,_jsx(_components.a,{href:`/knowledge/confluence`,children:`Connect Confluence`}),`.`]}),_jsx(ParamField,{body:`space_keys`,type:`string`,default:``,id:`param-space-keys`,children:_jsxs(_components.p,{children:[`Comma-separated space keys, such as `,_jsx(_components.code,{children:`ENG,DOCS`}),`: letters, digits, `,_jsx(_components.code,{children:`.`}),`, `,_jsx(_components.code,{children:`_`}),` and `,_jsx(_components.code,{children:`-`}),`, optionally starting with `,_jsx(_components.code,{children:`~`}),`, at most 25. Empty reads every space the connection’s account can see.`]})}),_jsx(ParamField,{body:`max_pages`,type:`string`,default:`500`,id:`param-max-pages-1`,children:_jsxs(_components.p,{children:[`Maximum pages read. An integer from `,_jsx(_components.code,{children:`1`}),` to `,_jsx(_components.code,{children:`5000`}),`.`]})})]}),_jsxs(Expandable,{title:`notion`,children:[_jsxs(_components.p,{children:[`Reads the pages and database rows shared with the Notion connection named in `,_jsx(_components.code,{children:`connection_id`}),`, which is required. See `,_jsx(_components.a,{href:`/knowledge/notion`,children:`Connect Notion`}),`.`]}),_jsx(ParamField,{body:`max_pages`,type:`string`,default:`500`,id:`param-max-pages-2`,children:_jsxs(_components.p,{children:[`Maximum pages read. An integer from `,_jsx(_components.code,{children:`1`}),` to `,_jsx(_components.code,{children:`5000`}),`.`]})})]}),_jsxs(Expandable,{title:`jira`,children:[_jsxs(_components.p,{children:[`Reads the issues of chosen Jira Cloud projects, one document per issue with its description and comments. Comments restricted to a role or group, and internal service-desk comments, are left out, and no person’s name is kept. The site is the one saved with the `,_jsx(_components.code,{children:`atlassian`}),` connection named in `,_jsx(_components.code,{children:`connection_id`}),`, which is required. See `,_jsx(_components.a,{href:`/knowledge/jira`,children:`Connect Jira`}),`.`]}),_jsx(ParamField,{body:`project_keys`,type:`string`,required:true,id:`param-project-keys`,children:_jsxs(_components.p,{children:[`Comma-separated project keys, such as `,_jsx(_components.code,{children:`ENG,OPS`}),`: a letter, then letters, digits or `,_jsx(_components.code,{children:`_`}),`, at most 25. Lowercase is accepted and stored uppercase.`]})}),_jsx(ParamField,{body:`resolved_only`,type:`string`,default:`false`,id:`param-resolved-only`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`\"true\"`}),` reads only issues whose status is in the Done category.`]})}),_jsx(ParamField,{body:`max_issues`,type:`string`,default:`500`,id:`param-max-issues`,children:_jsxs(_components.p,{children:[`Maximum issues read, oldest first. An integer from `,_jsx(_components.code,{children:`1`}),` to `,_jsx(_components.code,{children:`5000`}),`.`]})})]}),_jsxs(Expandable,{title:`jira_service_management`,children:[_jsxs(_components.p,{children:[`Reads the requests of one service desk, one document per request with its `,_jsx(_components.strong,{children:`public`}),` comments only. Internal comments are never read. The site is the one saved with the `,_jsx(_components.code,{children:`atlassian`}),` connection named in `,_jsx(_components.code,{children:`connection_id`}),`, which is required. See `,_jsx(_components.a,{href:`/knowledge/jira-service-management`,children:`Connect Jira Service Management`}),`.`]}),_jsx(ParamField,{body:`service_desk_id`,type:`string`,required:true,id:`param-service-desk-id`,children:_jsxs(_components.p,{children:[`The service desk’s number: the digits after `,_jsx(_components.code,{children:`/portal/`}),` in its customer portal address.`]})}),_jsx(ParamField,{body:`closed_only`,type:`string`,default:`true`,id:`param-closed-only`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`\"false\"`}),` also reads requests that are still open.`]})}),_jsx(ParamField,{body:`max_requests`,type:`string`,default:`500`,id:`param-max-requests`,children:_jsxs(_components.p,{children:[`Maximum requests read. An integer from `,_jsx(_components.code,{children:`1`}),` to `,_jsx(_components.code,{children:`5000`}),`.`]})})]}),_jsxs(Expandable,{title:`zendesk_tickets`,children:[_jsxs(_components.p,{children:[`Reads the solved and closed tickets of a Zendesk Support account, one document per ticket with its `,_jsx(_components.strong,{children:`public`}),` replies only. Internal notes are never kept. The account is the one saved with the `,_jsx(_components.code,{children:`zendesk`}),` connection named in `,_jsx(_components.code,{children:`connection_id`}),`, which is required. See `,_jsx(_components.a,{href:`/knowledge/zendesk-tickets`,children:`Connect Zendesk tickets`}),`.`]}),_jsx(ParamField,{body:`max_tickets`,type:`string`,default:`500`,id:`param-max-tickets`,children:_jsxs(_components.p,{children:[`Maximum tickets read, oldest first. An integer from `,_jsx(_components.code,{children:`1`}),` to `,_jsx(_components.code,{children:`5000`}),`.`]})})]})]}),`\n`,_jsx(ParamField,{body:`connection_id`,type:`string`,id:`param-connection-id`,children:_jsxs(_components.p,{children:[`ID (a UUID) of a `,_jsx(_components.a,{href:`/knowledge/connections`,children:`saved connection`}),` to read the source with. `,_jsx(_components.strong,{children:`Required`}),` for `,_jsx(_components.code,{children:`confluence`}),`, `,_jsx(_components.code,{children:`jira`}),` and `,_jsx(_components.code,{children:`jira_service_management`}),` (an `,_jsx(_components.code,{children:`atlassian`}),` connection), `,_jsx(_components.code,{children:`notion`}),` (a `,_jsx(_components.code,{children:`notion`}),` connection) and `,_jsx(_components.code,{children:`zendesk_tickets`}),` (a `,_jsx(_components.code,{children:`zendesk`}),` connection); optional for the four GitHub types, where a `,_jsx(_components.code,{children:`github`}),` connection reads a private repository. Any other type refuses one with `,_jsx(_components.code,{children:`400`}),`, as does a connection of the wrong service. A connection in another organization returns `,_jsx(_components.code,{children:`404`}),`. You need the owner or admin role to name one. It cannot be changed later, and it is not returned in the response.`]})}),`\n`,_jsx(ParamField,{body:`respect_source_permissions`,type:`boolean`,id:`param-respect-source-permissions`,children:_jsxs(_components.p,{children:[`Answer each person only from the documents the source system lets them read. See `,_jsx(_components.a,{href:`/knowledge/source-permissions`,children:`Source\npermissions`}),`. Offered only where the response’s\n`,_jsx(_components.code,{children:`source_permissions_available`}),` is `,_jsx(_components.code,{children:`true`}),`; `,_jsx(_components.code,{children:`true`}),` anywhere else returns `,_jsx(_components.code,{children:`400`}),`. Left out, a new\nsource takes the default: on wherever it is available.`]})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/knowledge/sources`,children:`Sources`}),` describes what each type reads and its limits. To change a source after it is created, see `,_jsx(_components.a,{href:`/api-reference/knowledge/update-source`,children:`Update a source`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`In `,_jsx(_components.code,{children:`include_paths`}),` and `,_jsx(_components.code,{children:`exclude_paths`}),`, `,_jsx(_components.code,{children:`*`}),` matches within one path segment, `,_jsx(_components.code,{children:`**`}),` matches across segments, `,_jsx(_components.code,{children:`?`}),` matches one character, and a trailing `,_jsx(_components.code,{children:`/`}),` matches everything below a directory.`]}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[`Returns `,_jsx(_components.code,{children:`201`}),` with the new source.`]}),`\n`,_jsx(ResponseField,{name:`id`,type:`string`,required:true,id:`param-id`,children:_jsx(_components.p,{children:`Source ID (a UUID).`})}),`\n`,_jsx(ResponseField,{name:`collection_id`,type:`string`,required:true,id:`param-collection-id-1`,children:_jsx(_components.p,{children:`Collection the source ingests into.`})}),`\n`,_jsx(ResponseField,{name:`source_type`,type:`string`,required:true,id:`param-source-type-1`,children:_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`source_type`}),` the source was created with.`]})}),`\n`,_jsx(ResponseField,{name:`name`,type:`string`,required:true,id:`param-name-1`,children:_jsx(_components.p,{children:`The trimmed name.`})}),`\n`,_jsx(ResponseField,{name:`configuration`,type:`object`,required:true,id:`param-configuration-1`,children:_jsx(_components.p,{children:`The stored configuration. Every key the source type reads is present, with defaults filled in, and\nevery value is a string.`})}),`\n`,_jsx(ResponseField,{name:`status`,type:`string`,required:true,id:`param-status`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`active`}),` for a new source.`]})}),`\n`,_jsx(ResponseField,{name:`last_source_version`,type:`string | null`,required:true,id:`param-last-source-version`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`null`}),` until the source has been ingested.`]})}),`\n`,_jsx(ResponseField,{name:`last_ingested_at`,type:`string | null`,required:true,id:`param-last-ingested-at`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`null`}),` until the source has been ingested.`]})}),`\n`,_jsx(ResponseField,{name:`created_at`,type:`string`,required:true,id:`param-created-at`,children:_jsx(_components.p,{children:`When the source was created, ISO 8601 in UTC.`})}),`\n`,_jsx(ResponseField,{name:`updated_at`,type:`string`,required:true,id:`param-updated-at`,children:_jsx(_components.p,{children:`When the source was last changed, ISO 8601 in UTC.`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"github-light","dark":"github-dark"}},"config":{},"pageMetadata":{"title":"Create a knowledge source to ingest","sidebarTitle":"Create a source","api":"POST /knowledge/sources","description":"Connect a website, repository, schema, help centre, Confluence, Notion, Jira, Zendesk, files or custom answers to a collection. Nothing is read yet.","href":"/api-reference/knowledge/create-source"}}},"mdxSourceWithNoJs":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,..._provideComponents(),...props.components},{CodeBlock,Expandable,Heading,ParamField,RequestExample,ResponseExample,ResponseField}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!RequestExample)_missingMdxReference(`RequestExample`,true);if(!ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Creating a source validates and stores its configuration. It does not read anything. To ingest the source, call `,_jsx(_components.a,{href:`/api-reference/knowledge/sync-source`,children:`Sync a source`}),`.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`configuration`}),` is a flat object. Every value is a string, and lists are comma-separated inside one string, for example `,_jsx(_components.code,{children:`\"docs/,README.md\"`}),`. Numbers are accepted and converted to strings. Booleans, arrays and nested objects are refused. The configuration is checked for its `,_jsx(_components.code,{children:`source_type`}),` when you create the source, so a malformed URL or repository name returns `,_jsx(_components.code,{children:`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.`]}),`\n`,_jsxs(_components.p,{children:[`No credential can be passed in `,_jsx(_components.code,{children:`configuration`}),`. Everything in it is readable by every member of your organization. A source that signs in names a `,_jsx(_components.a,{href:`/knowledge/connections`,children:`saved connection`}),` with `,_jsx(_components.code,{children:`connection_id`}),` instead, and the token stays in the connection.`]}),`\n`,_jsxs(_components.p,{children:[`Creating a source requires a role that can manage knowledge. A read-only member receives `,_jsx(_components.code,{children:`403`}),`. A `,_jsx(_components.code,{children:`collection_id`}),` that is not in your organization returns `,_jsx(_components.code,{children:`404`}),`. See `,_jsx(_components.a,{href:`/knowledge/sources`,children:`Knowledge sources`}),` for guidance on choosing a source type.`]}),`\n`,_jsx(ParamField,{body:`collection_id`,type:`string`,required:true,id:`param-collection-id`,children:_jsxs(_components.p,{children:[`ID (a UUID) of the collection to ingest into. A malformed ID returns `,_jsx(_components.code,{children:`400`}),`. Syncing a source whose collection is archived is accepted, and the job then ends `,_jsx(_components.code,{children:`failed`}),`.`]})}),`\n`,_jsx(ParamField,{body:`source_type`,type:`string`,required:true,id:`param-source-type`,children:_jsxs(_components.p,{children:[`One of the `,_jsx(_components.code,{children:`source_type`}),` values listed on `,_jsx(_components.a,{href:`/knowledge/connectors`,children:`Connectors`}),`, such as `,_jsx(_components.code,{children:`website`}),`,\n`,_jsx(_components.code,{children:`github`}),` or `,_jsx(_components.code,{children:`upload`}),`. Any other value returns `,_jsx(_components.code,{children:`400`}),`.`]})}),`\n`,_jsx(ParamField,{body:`name`,type:`string`,required:true,id:`param-name`,children:_jsx(_components.p,{children:`Display name, 1 to 255 characters after trimming.`})}),`\n`,_jsxs(ParamField,{body:`configuration`,type:`object`,id:`param-configuration`,children:[_jsxs(_components.p,{children:[`Settings for the source type. At most 50 keys, and each value at most 8,192 characters, except an upload source’s `,_jsx(_components.code,{children:`files`}),`, which may hold up to 102,400 (its 200 entries at their longest). 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 `,_jsx(_components.code,{children:`configuration`}),` is refused with `,_jsx(_components.code,{children:`400`}),`.`]}),_jsxs(Expandable,{title:`website`,children:[_jsx(_components.p,{children:`Crawls a documentation site from a seed URL, following links on the same origin (scheme, host and port) only. Redirects are not followed, so a page that redirects is treated as unreadable. URLs ending in image, media, archive, font, stylesheet or script extensions are skipped.`}),_jsx(ParamField,{body:`seed_url`,type:`string`,required:true,id:`param-seed-url`,children:_jsxs(_components.p,{children:[`Absolute `,_jsx(_components.code,{children:`http`}),` or `,_jsx(_components.code,{children:`https`}),` URL the crawl starts from, at most 2,048 characters. It must not contain a username or password.`]})}),_jsx(ParamField,{body:`path_prefix`,type:`string`,default:``,id:`param-path-prefix`,children:_jsxs(_components.p,{children:[`Crawl only paths at or below this prefix, for example `,_jsx(_components.code,{children:`/docs`}),`. It must start with `,_jsx(_components.code,{children:`/`}),` and must not contain `,_jsx(_components.code,{children:`..`}),`. Matching is by path segment, so `,_jsx(_components.code,{children:`/docs`}),` does not match `,_jsx(_components.code,{children:`/docs-internal`}),`.`]})}),_jsx(ParamField,{body:`max_depth`,type:`string`,default:`3`,id:`param-max-depth`,children:_jsxs(_components.p,{children:[`Number of links followed from the seed. An integer from `,_jsx(_components.code,{children:`1`}),` to `,_jsx(_components.code,{children:`10`}),`.`]})}),_jsx(ParamField,{body:`max_pages`,type:`string`,default:`500`,id:`param-max-pages`,children:_jsxs(_components.p,{children:[`Maximum pages collected in one run. An integer from `,_jsx(_components.code,{children:`1`}),` to `,_jsx(_components.code,{children:`5000`}),`.`]})}),_jsx(ParamField,{body:`include_paths`,type:`string`,default:``,id:`param-include-paths`,children:_jsx(_components.p,{children:`Comma-separated globs matched against the URL path. When set, only matching pages are ingested. At most 100 globs of up to 512 characters each.`})}),_jsx(ParamField,{body:`exclude_paths`,type:`string`,default:``,id:`param-exclude-paths`,children:_jsxs(_components.p,{children:[`Comma-separated globs matched against the URL path. Matching pages are skipped, even when they also match `,_jsx(_components.code,{children:`include_paths`}),`. At most 100 globs of up to 512 characters each.`]})})]}),_jsxs(Expandable,{title:`sitemap`,children:[_jsxs(_components.p,{children:[`Reads the URLs listed in a `,_jsx(_components.code,{children:`sitemap.xml`}),` without following links. It takes the same keys as `,_jsx(_components.code,{children:`website`}),`. Listed URLs must still be on the sitemap’s origin and pass `,_jsx(_components.code,{children:`path_prefix`}),`, `,_jsx(_components.code,{children:`include_paths`}),` and `,_jsx(_components.code,{children:`exclude_paths`}),`. `,_jsx(_components.code,{children:`max_pages`}),` caps the pages read. `,_jsx(_components.code,{children:`max_depth`}),` is validated but not used. A sitemap index is followed to at most 100 child sitemaps.`]}),_jsx(ParamField,{body:`seed_url`,type:`string`,required:true,id:`param-seed-url-1`,children:_jsxs(_components.p,{children:[`Absolute `,_jsx(_components.code,{children:`http`}),` or `,_jsx(_components.code,{children:`https`}),` URL of the sitemap, at most 2,048 characters.`]})})]}),_jsxs(Expandable,{title:`github`,children:[_jsxs(_components.p,{children:[`Reads a GitHub repository at a branch, tag or commit. Nothing secret is stored on the source. A public repository is read with the access your deployment is configured with; a private one with the `,_jsx(_components.code,{children:`github`}),` connection you name in `,_jsx(_components.code,{children:`connection_id`}),`.`]}),_jsx(ParamField,{body:`owner`,type:`string`,required:true,id:`param-owner`,children:_jsxs(_components.p,{children:[`Account or organization name. Letters, digits, `,_jsx(_components.code,{children:`.`}),`, `,_jsx(_components.code,{children:`_`}),` and `,_jsx(_components.code,{children:`-`}),`, starting with a letter or digit, not ending in `,_jsx(_components.code,{children:`.`}),`, at most 100 characters.`]})}),_jsx(ParamField,{body:`repository`,type:`string`,required:true,id:`param-repository`,children:_jsxs(_components.p,{children:[`Repository name, with the same rules as `,_jsx(_components.code,{children:`owner`}),`.`]})}),_jsx(ParamField,{body:`ref`,type:`string`,default:``,id:`param-ref`,children:_jsxs(_components.p,{children:[`Branch, tag or commit SHA: letters, digits, `,_jsx(_components.code,{children:`.`}),`, `,_jsx(_components.code,{children:`_`}),`, `,_jsx(_components.code,{children:`/`}),` and `,_jsx(_components.code,{children:`-`}),`, starting with a letter or digit, at most 255 characters. It must not contain `,_jsx(_components.code,{children:`..`}),` or `,_jsx(_components.code,{children:`//`}),`. Leave it empty to follow the repository’s default branch.`]})}),_jsx(ParamField,{body:`include_paths`,type:`string`,default:``,id:`param-include-paths-1`,children:_jsx(_components.p,{children:`Comma-separated globs matched against repository paths. When set, only matching files are ingested. At most 100 globs of up to 512 characters each.`})}),_jsx(ParamField,{body:`exclude_paths`,type:`string`,default:`.git/,node_modules/,vendor/,dist/,build/,target/,.venv/,**/__pycache__/,**/*.min.js,**/*.lock`,id:`param-exclude-paths-1`,children:_jsx(_components.p,{children:`Comma-separated globs for files to skip. An exclusion wins over an include. A value you send replaces the default list rather than adding to it. At most 100 globs of up to 512 characters each.`})})]}),_jsxs(Expandable,{title:`upload`,children:[_jsxs(_components.p,{children:[`Ingests files you stored with `,_jsx(_components.a,{href:`/api-reference/knowledge/upload-files`,children:`Upload files`}),`. Post that response’s `,_jsx(_components.code,{children:`configuration`}),` object back unchanged.`]}),_jsx(ParamField,{body:`files`,type:`string`,required:true,id:`param-files`,children:_jsxs(_components.p,{children:[`The manifest: one `,_jsx(_components.code,{children:`storage_key|filename`}),` entry per file, entries separated by newlines. At most 200 files, with no storage key listed twice. Every storage key must be one issued to your organization.`]})})]}),_jsxs(Expandable,{title:`github_issues, github_pull_requests and github_discussions`,children:[_jsxs(_components.p,{children:[`Reads a repository’s issues, pull requests or discussions, one document each, with comments. All three take the keys below, and are read with the GitHub access your deployment is configured with. `,_jsx(_components.code,{children:`github_discussions`}),` is in beta and needs that access even for a public repository: without it the source is created and its sync fails.`]}),_jsx(ParamField,{body:`owner`,type:`string`,required:true,id:`param-owner-1`,children:_jsxs(_components.p,{children:[`Account or organization name, with the same rules as for `,_jsx(_components.code,{children:`github`}),`.`]})}),_jsx(ParamField,{body:`repository`,type:`string`,required:true,id:`param-repository-1`,children:_jsxs(_components.p,{children:[`Repository name, with the same rules as `,_jsx(_components.code,{children:`owner`}),`.`]})}),_jsx(ParamField,{body:`state`,type:`string`,default:`all`,id:`param-state`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`open`}),`, `,_jsx(_components.code,{children:`closed`}),` or `,_jsx(_components.code,{children:`all`}),`.`]})}),_jsx(ParamField,{body:`max_age_days`,type:`string`,default:`365`,id:`param-max-age-days`,children:_jsxs(_components.p,{children:[`Skip anything last updated longer ago than this. An integer from `,_jsx(_components.code,{children:`0`}),` to `,_jsx(_components.code,{children:`3650`}),`; `,_jsx(_components.code,{children:`0`}),` means no limit.`]})}),_jsx(ParamField,{body:`include_labels`,type:`string`,default:``,id:`param-include-labels`,children:_jsx(_components.p,{children:`Comma-separated labels. When set, only items carrying at least one are read. At most 50 labels of up to 100 characters each.`})}),_jsx(ParamField,{body:`exclude_labels`,type:`string`,default:``,id:`param-exclude-labels`,children:_jsxs(_components.p,{children:[`Comma-separated labels to skip. An exclusion wins over an include. The same bounds as `,_jsx(_components.code,{children:`include_labels`}),`.`]})}),_jsx(ParamField,{body:`max_items`,type:`string`,default:`200`,id:`param-max-items`,children:_jsxs(_components.p,{children:[`How many to read, newest first. An integer from `,_jsx(_components.code,{children:`1`}),` to `,_jsx(_components.code,{children:`1000`}),`.`]})}),_jsx(ParamField,{body:`max_comments`,type:`string`,default:`30`,id:`param-max-comments`,children:_jsxs(_components.p,{children:[`Comments read per item. An integer from `,_jsx(_components.code,{children:`0`}),` to `,_jsx(_components.code,{children:`100`}),`.`]})}),_jsx(ParamField,{body:`exclude_closed_unmerged`,type:`string`,default:`true`,id:`param-exclude-closed-unmerged`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`github_pull_requests`}),` only. `,_jsx(_components.code,{children:`\"true\"`}),` skips pull requests closed without being merged.`]})}),_jsx(ParamField,{body:`include_conversation_comments`,type:`string`,default:`true`,id:`param-include-conversation-comments`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`github_pull_requests`}),` only. `,_jsx(_components.code,{children:`\"true\"`}),` reads the comments on the pull request’s conversation.`]})}),_jsx(ParamField,{body:`include_review_comments`,type:`string`,default:`false`,id:`param-include-review-comments`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`github_pull_requests`}),` only. `,_jsx(_components.code,{children:`\"true\"`}),` also reads the review comments left on lines of code.`]})})]}),_jsxs(Expandable,{title:`openapi`,children:[_jsxs(_components.p,{children:[`Reads one public OpenAPI 3.x or Swagger 2.x schema, in JSON or YAML, and produces one document per operation. A `,_jsx(_components.code,{children:`$ref`}),` to another file or host is not followed, and a schema larger than the deployment’s fetch limit, 1 MiB by default, fails to sync.`]}),_jsx(ParamField,{body:`schema_url`,type:`string`,required:true,id:`param-schema-url`,children:_jsxs(_components.p,{children:[`Absolute `,_jsx(_components.code,{children:`http`}),` or `,_jsx(_components.code,{children:`https`}),` URL of the schema, at most 2,048 characters. It must not contain a username or password.`]})}),_jsx(ParamField,{body:`max_operations`,type:`string`,default:`500`,id:`param-max-operations`,children:_jsxs(_components.p,{children:[`Maximum operations read. An integer from `,_jsx(_components.code,{children:`1`}),` to `,_jsx(_components.code,{children:`2000`}),`.`]})})]}),_jsxs(Expandable,{title:`custom_answers`,children:[_jsx(_components.p,{children:`Holds question-and-answer pairs you write, one document per pair. It fetches nothing. A source takes 1 to 25 pairs, and the same question cannot appear twice in it.`}),_jsx(ParamField,{body:`question_1`,type:`string`,required:true,id:`param-question-1`,children:_jsxs(_components.p,{children:[`The first question, on one line, at most 500 characters. Further pairs are `,_jsx(_components.code,{children:`question_2`}),`, `,_jsx(_components.code,{children:`question_3`}),` and so on; the numbers set the order.`]})}),_jsx(ParamField,{body:`answer_1`,type:`string`,required:true,id:`param-answer-1`,children:_jsxs(_components.p,{children:[`The answer to `,_jsx(_components.code,{children:`question_1`}),`, in Markdown, at most 4,000 characters. Every question needs an answer with the same number.`]})})]}),_jsxs(Expandable,{title:`zendesk_help_center`,children:[_jsx(_components.p,{children:`Reads the articles of a Zendesk help centre that a signed-out visitor can read. A help centre that requires signing in fails to sync.`}),_jsx(ParamField,{body:`help_center_url`,type:`string`,required:true,id:`param-help-center-url`,children:_jsxs(_components.p,{children:[`Any `,_jsx(_components.code,{children:`http`}),` or `,_jsx(_components.code,{children:`https`}),` page of the help centre. Only its origin is stored. It must not contain a username or password.`]})}),_jsx(ParamField,{body:`locale`,type:`string`,default:``,id:`param-locale`,children:_jsxs(_components.p,{children:[`A locale of the help centre, such as `,_jsx(_components.code,{children:`en-us`}),`. Empty reads its default.`]})}),_jsx(ParamField,{body:`category_id`,type:`string`,default:``,id:`param-category-id`,children:_jsxs(_components.p,{children:[`Read one category only. Digits. Cannot be combined with `,_jsx(_components.code,{children:`section_id`}),`.`]})}),_jsx(ParamField,{body:`section_id`,type:`string`,default:``,id:`param-section-id`,children:_jsxs(_components.p,{children:[`Read one section only. Digits. Cannot be combined with `,_jsx(_components.code,{children:`category_id`}),`.`]})}),_jsx(ParamField,{body:`max_articles`,type:`string`,default:`500`,id:`param-max-articles`,children:_jsxs(_components.p,{children:[`Maximum articles read. An integer from `,_jsx(_components.code,{children:`1`}),` to `,_jsx(_components.code,{children:`2000`}),`.`]})})]}),_jsxs(Expandable,{title:`discourse`,children:[_jsx(_components.p,{children:`Reads the topics of a public Discourse forum, one document per topic holding its first posts. A forum that requires signing in, or one installed under a path, cannot be read.`}),_jsx(ParamField,{body:`forum_url`,type:`string`,required:true,id:`param-forum-url`,children:_jsxs(_components.p,{children:[`Any `,_jsx(_components.code,{children:`http`}),` or `,_jsx(_components.code,{children:`https`}),` page of the forum. Only its origin is stored. It must not contain a username or password.`]})}),_jsx(ParamField,{body:`category_id`,type:`string`,default:``,id:`param-category-id-1`,children:_jsxs(_components.p,{children:[`Read one category only. Digits. Cannot be combined with `,_jsx(_components.code,{children:`tag`}),`.`]})}),_jsx(ParamField,{body:`tag`,type:`string`,default:``,id:`param-tag`,children:_jsxs(_components.p,{children:[`Read one tag only: lower-case letters, digits, `,_jsx(_components.code,{children:`-`}),`, `,_jsx(_components.code,{children:`.`}),` and `,_jsx(_components.code,{children:`_`}),`, at most 100 characters. Cannot be combined with `,_jsx(_components.code,{children:`category_id`}),`.`]})}),_jsx(ParamField,{body:`solved_only`,type:`string`,default:`false`,id:`param-solved-only`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`\"true\"`}),` reads only topics with an accepted answer. The sync fails on a forum that does not report accepted answers.`]})}),_jsx(ParamField,{body:`max_topics`,type:`string`,default:`100`,id:`param-max-topics`,children:_jsxs(_components.p,{children:[`Maximum topics read, latest first. An integer from `,_jsx(_components.code,{children:`1`}),` to `,_jsx(_components.code,{children:`500`}),`.`]})}),_jsx(ParamField,{body:`max_posts_per_topic`,type:`string`,default:`20`,id:`param-max-posts-per-topic`,children:_jsxs(_components.p,{children:[`Posts read from each topic. An integer from `,_jsx(_components.code,{children:`1`}),` to `,_jsx(_components.code,{children:`20`}),`.`]})})]}),_jsxs(Expandable,{title:`confluence`,children:[_jsxs(_components.p,{children:[`Reads the current pages of a Confluence Cloud site, one document per page. The site is the one saved with the `,_jsx(_components.code,{children:`atlassian`}),` connection named in `,_jsx(_components.code,{children:`connection_id`}),`, which is required; there is no address in the configuration. See `,_jsx(_components.a,{href:`/knowledge/confluence`,children:`Connect Confluence`}),`.`]}),_jsx(ParamField,{body:`space_keys`,type:`string`,default:``,id:`param-space-keys`,children:_jsxs(_components.p,{children:[`Comma-separated space keys, such as `,_jsx(_components.code,{children:`ENG,DOCS`}),`: letters, digits, `,_jsx(_components.code,{children:`.`}),`, `,_jsx(_components.code,{children:`_`}),` and `,_jsx(_components.code,{children:`-`}),`, optionally starting with `,_jsx(_components.code,{children:`~`}),`, at most 25. Empty reads every space the connection’s account can see.`]})}),_jsx(ParamField,{body:`max_pages`,type:`string`,default:`500`,id:`param-max-pages-1`,children:_jsxs(_components.p,{children:[`Maximum pages read. An integer from `,_jsx(_components.code,{children:`1`}),` to `,_jsx(_components.code,{children:`5000`}),`.`]})})]}),_jsxs(Expandable,{title:`notion`,children:[_jsxs(_components.p,{children:[`Reads the pages and database rows shared with the Notion connection named in `,_jsx(_components.code,{children:`connection_id`}),`, which is required. See `,_jsx(_components.a,{href:`/knowledge/notion`,children:`Connect Notion`}),`.`]}),_jsx(ParamField,{body:`max_pages`,type:`string`,default:`500`,id:`param-max-pages-2`,children:_jsxs(_components.p,{children:[`Maximum pages read. An integer from `,_jsx(_components.code,{children:`1`}),` to `,_jsx(_components.code,{children:`5000`}),`.`]})})]}),_jsxs(Expandable,{title:`jira`,children:[_jsxs(_components.p,{children:[`Reads the issues of chosen Jira Cloud projects, one document per issue with its description and comments. Comments restricted to a role or group, and internal service-desk comments, are left out, and no person’s name is kept. The site is the one saved with the `,_jsx(_components.code,{children:`atlassian`}),` connection named in `,_jsx(_components.code,{children:`connection_id`}),`, which is required. See `,_jsx(_components.a,{href:`/knowledge/jira`,children:`Connect Jira`}),`.`]}),_jsx(ParamField,{body:`project_keys`,type:`string`,required:true,id:`param-project-keys`,children:_jsxs(_components.p,{children:[`Comma-separated project keys, such as `,_jsx(_components.code,{children:`ENG,OPS`}),`: a letter, then letters, digits or `,_jsx(_components.code,{children:`_`}),`, at most 25. Lowercase is accepted and stored uppercase.`]})}),_jsx(ParamField,{body:`resolved_only`,type:`string`,default:`false`,id:`param-resolved-only`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`\"true\"`}),` reads only issues whose status is in the Done category.`]})}),_jsx(ParamField,{body:`max_issues`,type:`string`,default:`500`,id:`param-max-issues`,children:_jsxs(_components.p,{children:[`Maximum issues read, oldest first. An integer from `,_jsx(_components.code,{children:`1`}),` to `,_jsx(_components.code,{children:`5000`}),`.`]})})]}),_jsxs(Expandable,{title:`jira_service_management`,children:[_jsxs(_components.p,{children:[`Reads the requests of one service desk, one document per request with its `,_jsx(_components.strong,{children:`public`}),` comments only. Internal comments are never read. The site is the one saved with the `,_jsx(_components.code,{children:`atlassian`}),` connection named in `,_jsx(_components.code,{children:`connection_id`}),`, which is required. See `,_jsx(_components.a,{href:`/knowledge/jira-service-management`,children:`Connect Jira Service Management`}),`.`]}),_jsx(ParamField,{body:`service_desk_id`,type:`string`,required:true,id:`param-service-desk-id`,children:_jsxs(_components.p,{children:[`The service desk’s number: the digits after `,_jsx(_components.code,{children:`/portal/`}),` in its customer portal address.`]})}),_jsx(ParamField,{body:`closed_only`,type:`string`,default:`true`,id:`param-closed-only`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`\"false\"`}),` also reads requests that are still open.`]})}),_jsx(ParamField,{body:`max_requests`,type:`string`,default:`500`,id:`param-max-requests`,children:_jsxs(_components.p,{children:[`Maximum requests read. An integer from `,_jsx(_components.code,{children:`1`}),` to `,_jsx(_components.code,{children:`5000`}),`.`]})})]}),_jsxs(Expandable,{title:`zendesk_tickets`,children:[_jsxs(_components.p,{children:[`Reads the solved and closed tickets of a Zendesk Support account, one document per ticket with its `,_jsx(_components.strong,{children:`public`}),` replies only. Internal notes are never kept. The account is the one saved with the `,_jsx(_components.code,{children:`zendesk`}),` connection named in `,_jsx(_components.code,{children:`connection_id`}),`, which is required. See `,_jsx(_components.a,{href:`/knowledge/zendesk-tickets`,children:`Connect Zendesk tickets`}),`.`]}),_jsx(ParamField,{body:`max_tickets`,type:`string`,default:`500`,id:`param-max-tickets`,children:_jsxs(_components.p,{children:[`Maximum tickets read, oldest first. An integer from `,_jsx(_components.code,{children:`1`}),` to `,_jsx(_components.code,{children:`5000`}),`.`]})})]})]}),`\n`,_jsx(ParamField,{body:`connection_id`,type:`string`,id:`param-connection-id`,children:_jsxs(_components.p,{children:[`ID (a UUID) of a `,_jsx(_components.a,{href:`/knowledge/connections`,children:`saved connection`}),` to read the source with. `,_jsx(_components.strong,{children:`Required`}),` for `,_jsx(_components.code,{children:`confluence`}),`, `,_jsx(_components.code,{children:`jira`}),` and `,_jsx(_components.code,{children:`jira_service_management`}),` (an `,_jsx(_components.code,{children:`atlassian`}),` connection), `,_jsx(_components.code,{children:`notion`}),` (a `,_jsx(_components.code,{children:`notion`}),` connection) and `,_jsx(_components.code,{children:`zendesk_tickets`}),` (a `,_jsx(_components.code,{children:`zendesk`}),` connection); optional for the four GitHub types, where a `,_jsx(_components.code,{children:`github`}),` connection reads a private repository. Any other type refuses one with `,_jsx(_components.code,{children:`400`}),`, as does a connection of the wrong service. A connection in another organization returns `,_jsx(_components.code,{children:`404`}),`. You need the owner or admin role to name one. It cannot be changed later, and it is not returned in the response.`]})}),`\n`,_jsx(ParamField,{body:`respect_source_permissions`,type:`boolean`,id:`param-respect-source-permissions`,children:_jsxs(_components.p,{children:[`Answer each person only from the documents the source system lets them read. See `,_jsx(_components.a,{href:`/knowledge/source-permissions`,children:`Source\npermissions`}),`. Offered only where the response’s\n`,_jsx(_components.code,{children:`source_permissions_available`}),` is `,_jsx(_components.code,{children:`true`}),`; `,_jsx(_components.code,{children:`true`}),` anywhere else returns `,_jsx(_components.code,{children:`400`}),`. Left out, a new\nsource takes the default: on wherever it is available.`]})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/knowledge/sources`,children:`Sources`}),` describes what each type reads and its limits. To change a source after it is created, see `,_jsx(_components.a,{href:`/api-reference/knowledge/update-source`,children:`Update a source`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`In `,_jsx(_components.code,{children:`include_paths`}),` and `,_jsx(_components.code,{children:`exclude_paths`}),`, `,_jsx(_components.code,{children:`*`}),` matches within one path segment, `,_jsx(_components.code,{children:`**`}),` matches across segments, `,_jsx(_components.code,{children:`?`}),` matches one character, and a trailing `,_jsx(_components.code,{children:`/`}),` matches everything below a directory.`]}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[`Returns `,_jsx(_components.code,{children:`201`}),` with the new source.`]}),`\n`,_jsx(ResponseField,{name:`id`,type:`string`,required:true,id:`param-id`,children:_jsx(_components.p,{children:`Source ID (a UUID).`})}),`\n`,_jsx(ResponseField,{name:`collection_id`,type:`string`,required:true,id:`param-collection-id-1`,children:_jsx(_components.p,{children:`Collection the source ingests into.`})}),`\n`,_jsx(ResponseField,{name:`source_type`,type:`string`,required:true,id:`param-source-type-1`,children:_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`source_type`}),` the source was created with.`]})}),`\n`,_jsx(ResponseField,{name:`name`,type:`string`,required:true,id:`param-name-1`,children:_jsx(_components.p,{children:`The trimmed name.`})}),`\n`,_jsx(ResponseField,{name:`configuration`,type:`object`,required:true,id:`param-configuration-1`,children:_jsx(_components.p,{children:`The stored configuration. Every key the source type reads is present, with defaults filled in, and\nevery value is a string.`})}),`\n`,_jsx(ResponseField,{name:`status`,type:`string`,required:true,id:`param-status`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`active`}),` for a new source.`]})}),`\n`,_jsx(ResponseField,{name:`last_source_version`,type:`string | null`,required:true,id:`param-last-source-version`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`null`}),` until the source has been ingested.`]})}),`\n`,_jsx(ResponseField,{name:`last_ingested_at`,type:`string | null`,required:true,id:`param-last-ingested-at`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`null`}),` until the source has been ingested.`]})}),`\n`,_jsx(ResponseField,{name:`created_at`,type:`string`,required:true,id:`param-created-at`,children:_jsx(_components.p,{children:`When the source was created, ISO 8601 in UTC.`})}),`\n`,_jsx(ResponseField,{name:`updated_at`,type:`string`,required:true,id:`param-updated-at`,children:_jsx(_components.p,{children:`When the source was last changed, ISO 8601 in UTC.`})}),`\n`,_jsxs(RequestExample,{children:[_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`14`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`14`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`curl`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` --request`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` POST`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`$MITHUNAI_URL`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`/mithunai/api/v1/knowledge/sources\"`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` --header`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`$MITHUNAI_API_KEY`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` --header`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` --data`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"collection_id\": \"0b6f2c14-8a3d-4e91-9c77-2f5b1d0a4e88\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"source_type\": \"website\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"name\": \"Product documentation site\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"configuration\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"seed_url\": \"https://docs.example.com/\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"path_prefix\": \"/guides\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"max_pages\": \"1000\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"exclude_paths\": \"/guides/archive/\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Python`,numberOfLines:`20`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`20`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`import`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` os, requests`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`response `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` requests.post(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:` f`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`{`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`os.environ[`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`'MITHUNAI_URL'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`]`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`}`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`/mithunai/api/v1/knowledge/sources\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#FFAB70`},children:` headers`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`{`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"Authorization\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`f`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"Bearer `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`{`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`os.environ[`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`'MITHUNAI_API_KEY'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`]`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`}`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#FFAB70`},children:` json`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"collection_id\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"0b6f2c14-8a3d-4e91-9c77-2f5b1d0a4e88\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"source_type\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"website\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"Product documentation site\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"configuration\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"seed_url\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"https://docs.example.com/\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"path_prefix\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"/guides\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"max_pages\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"1000\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` \"exclude_paths\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"/guides/archive/\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#FFAB70`},children:` timeout`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`=`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`60`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`response.raise_for_status()`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`print`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`(response.json())`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`JavaScript`,numberOfLines:`19`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`19`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`const`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` response`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:` =`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:` await`}),_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:` fetch`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`(`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:\"`${\"}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`process`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`env`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`.`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`MITHUNAI_URL`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:\"}/mithunai/api/v1/knowledge/sources`\"}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`, {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` method: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`'POST'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` headers: {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` Authorization: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:\"`Bearer ${\"}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`process`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`env`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`.`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`MITHUNAI_API_KEY`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:\"}`\"}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:` 'Content-Type'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`'application/json'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` body: `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`JSON`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`.`}),_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`stringify`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` collection_id: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`'0b6f2c14-8a3d-4e91-9c77-2f5b1d0a4e88'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` source_type: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`'website'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` name: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`'Product documentation site'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` configuration: {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` seed_url: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`'https://docs.example.com/'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` path_prefix: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`'/guides'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` max_pages: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`'1000'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` exclude_paths: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`'/guides/archive/'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` }),`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`})`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`console.`}),_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`log`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`(`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#F97583`},children:`await`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` response.`}),_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#B392F0`},children:`json`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`())`})]}),`\n`]})})})]}),`\n`,_jsxs(ResponseExample,{children:[_jsx(CodeBlock,{filename:`201`,numberOfLines:`19`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`19`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"5d1e7a90-3c4b-4f2a-8e61-7b9c0d2f4a13\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"collection_id\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"0b6f2c14-8a3d-4e91-9c77-2f5b1d0a4e88\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"source_type\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"website\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"Product documentation site\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"configuration\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"seed_url\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"https://docs.example.com/\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"path_prefix\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"/guides\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"max_depth\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"3\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"max_pages\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"1000\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"include_paths\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"exclude_paths\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"/guides/archive/\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"active\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"last_source_version\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`null`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"last_ingested_at\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`null`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"created_at\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"2026-09-24T10:15:02.418331\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:` \"updated_at\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"2026-09-24T10:15:02.418331\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`400`,numberOfLines:`1`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`{ `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`\"code\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"validation_error\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`, `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`\"message\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"The source URL is not valid.\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` }`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`403`,numberOfLines:`1`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`{ `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`\"code\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"authorization_error\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`, `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`\"message\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"You do not have permission to perform this action.\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` }`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`404`,numberOfLines:`1`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-dark`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#24292e`,color:`#24292e`,\"--shiki-dark\":`#e1e4e8`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`{ `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`\"code\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"not_found\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`, `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#79B8FF`},children:`\"message\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#9ECBFF`},children:`\"The knowledge collection was not found.\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#E1E4E8`},children:` }`})]}),`\n`]})})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"github-light","dark":"github-dark"}},"config":{},"pageMetadata":{"title":"Create a knowledge source to ingest","sidebarTitle":"Create a source","api":"POST /knowledge/sources","description":"Connect a website, repository, schema, help centre, Confluence, Notion, Jira, Zendesk, files or custom answers to a collection. Nothing is read yet.","href":"/api-reference/knowledge/create-source"}}}},"mdxExtracts":{"tableOfContents":[{"title":"Response","slug":"response","depth":2,"children":[]}],"codeExamples":{"request":{"type":"RequestExample","children":[{"filename":"cURL","html":"\u003cpre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" language=\"shellscript\">\u003ccode language=\"shellscript\" numberOfLines=\"14\">\u003cspan class=\"line\">\u003cspan style=\"color:#6F42C1;--shiki-dark:#B392F0\">curl\u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> --request\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> POST\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">$MITHUNAI_URL\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">/mithunai/api/v1/knowledge/sources\"\u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> --header\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"Authorization: Bearer \u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">$MITHUNAI_API_KEY\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"\u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> --header\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"Content-Type: application/json\"\u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> --data\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> '{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"collection_id\": \"0b6f2c14-8a3d-4e91-9c77-2f5b1d0a4e88\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"source_type\": \"website\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"name\": \"Product documentation site\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"configuration\": {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"seed_url\": \"https://docs.example.com/\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"path_prefix\": \"/guides\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"max_pages\": \"1000\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"exclude_paths\": \"/guides/archive/\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> }'\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"Python","html":"\u003cpre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" language=\"python\">\u003ccode language=\"python\" numberOfLines=\"20\">\u003cspan class=\"line\">\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">import\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> os, requests\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">response \u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">=\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> requests.post(\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\"> f\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"\u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">{\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">os.environ[\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'MITHUNAI_URL'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">]\u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">}\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">/mithunai/api/v1/knowledge/sources\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#E36209;--shiki-dark:#FFAB70\"> headers\u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">=\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">{\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"Authorization\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">f\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"Bearer \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">{\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">os.environ[\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'MITHUNAI_API_KEY'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">]\u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">}\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">},\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#E36209;--shiki-dark:#FFAB70\"> json\u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">=\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"collection_id\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"0b6f2c14-8a3d-4e91-9c77-2f5b1d0a4e88\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"source_type\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"website\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"name\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"Product documentation site\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"configuration\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"seed_url\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"https://docs.example.com/\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"path_prefix\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"/guides\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"max_pages\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"1000\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> \"exclude_paths\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"/guides/archive/\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#E36209;--shiki-dark:#FFAB70\"> timeout\u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">=\u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">60\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">)\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">response.raise_for_status()\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">print\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">(response.json())\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"JavaScript","html":"\u003cpre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" language=\"javascript\">\u003ccode language=\"javascript\" numberOfLines=\"19\">\u003cspan class=\"line\">\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">const\u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> response\u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\"> =\u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\"> await\u003c/span>\u003cspan style=\"color:#6F42C1;--shiki-dark:#B392F0\"> fetch\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">(\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">`${\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">process\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">.\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">env\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">.\u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">MITHUNAI_URL\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">}/mithunai/api/v1/knowledge/sources`\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">, {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> method: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'POST'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> headers: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> Authorization: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">`Bearer ${\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">process\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">.\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">env\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">.\u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">MITHUNAI_API_KEY\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">}`\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> 'Content-Type'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'application/json'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> body: \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">JSON\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">.\u003c/span>\u003cspan style=\"color:#6F42C1;--shiki-dark:#B392F0\">stringify\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">({\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> collection_id: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'0b6f2c14-8a3d-4e91-9c77-2f5b1d0a4e88'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> source_type: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'website'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> name: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'Product documentation site'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> configuration: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> seed_url: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'https://docs.example.com/'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> path_prefix: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'/guides'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> max_pages: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'1000'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> exclude_paths: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'/guides/archive/'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }),\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">})\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">console.\u003c/span>\u003cspan style=\"color:#6F42C1;--shiki-dark:#B392F0\">log\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">(\u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">await\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> response.\u003c/span>\u003cspan style=\"color:#6F42C1;--shiki-dark:#B392F0\">json\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">())\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]},"response":{"type":"ResponseExample","children":[{"filename":"201","html":"\u003cpre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"19\">\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"id\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"5d1e7a90-3c4b-4f2a-8e61-7b9c0d2f4a13\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"collection_id\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"0b6f2c14-8a3d-4e91-9c77-2f5b1d0a4e88\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"source_type\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"website\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"name\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"Product documentation site\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"configuration\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"seed_url\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"https://docs.example.com/\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"path_prefix\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"/guides\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"max_depth\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"3\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"max_pages\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"1000\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"include_paths\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"exclude_paths\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"/guides/archive/\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"status\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"active\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"last_source_version\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">null\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"last_ingested_at\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">null\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"created_at\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"2026-09-24T10:15:02.418331\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> \"updated_at\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"2026-09-24T10:15:02.418331\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"400","html":"\u003cpre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"1\">\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">{ \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">\"code\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"validation_error\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">, \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">\"message\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"The source URL is not valid.\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"403","html":"\u003cpre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"1\">\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">{ \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">\"code\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"authorization_error\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">, \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">\"message\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"You do not have permission to perform this action.\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"404","html":"\u003cpre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"1\">\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">{ \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">\"code\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"not_found\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">, \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">\"message\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">\"The knowledge collection was not found.\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}},"endpoint":{"title":"Create a knowledge source to ingest","path":"/knowledge/sources","servers":[{"url":"https://app.mithunai.com/mithunai/api/v1"}],"method":"post","request":{"security":[{"title":"Bearer Auth","parameters":{"header":{"Authorization":{"type":"http","scheme":"bearer","description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token."}},"query":{},"cookie":{}}}],"parameters":{"query":{},"header":{},"cookie":{},"path":{}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"collection_id":[{"type":"string","description":"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` .","required":true}],"source_type":[{"type":"string","description":"One of the `source_type` values listed on Connectors , such as `website` , `github` or `upload` . Any other value returns `400` .","required":true}],"name":[{"type":"string","description":"Display name, 1 to 255 characters after trimming.","required":true}],"configuration":[{"type":"object","properties":{"seed_url":[{"type":"string","description":"Absolute `http` or `https` URL of the sitemap, at most 2,048 characters.","required":true}],"path_prefix":[{"type":"string","description":"Crawl only paths at or below this prefix, for example `/docs` . It must start with `/` and must not contain `..` . Matching is by path segment, so `/docs` does not match `/docs-internal` ."}],"max_depth":[{"type":"string","description":"Number of links followed from the seed. An integer from `1` to `10` ."}],"max_pages":[{"type":"string","description":"Maximum pages read. An integer from `1` to `5000` ."}],"include_paths":[{"type":"string","description":"Comma-separated globs matched against repository paths. When set, only matching files are ingested. At most 100 globs of up to 512 characters each."}],"exclude_paths":[{"type":"string","description":"Comma-separated globs for files to skip. An exclusion wins over an include. A value you send replaces the default list rather than adding to it. At most 100 globs of up to 512 characters each."}],"owner":[{"type":"string","description":"Account or organization name, with the same rules as for `github` .","required":true}],"repository":[{"type":"string","description":"Repository name, with the same rules as `owner` .","required":true}],"ref":[{"type":"string","description":"Branch, tag or commit SHA: letters, digits, `.` , `_` , `/` and `-` , starting with a letter or digit, at most 255 characters. It must not contain `..` or `//` . Leave it empty to follow the repository’s default branch."}],"files":[{"type":"string","description":"The manifest: one `storage_key|filename` entry per file, entries separated by newlines. At most 200 files, with no storage key listed twice. Every storage key must be one issued to your organization.","required":true}],"state":[{"type":"string","description":"`open` , `closed` or `all` ."}],"max_age_days":[{"type":"string","description":"Skip anything last updated longer ago than this. An integer from `0` to `3650` ; `0` means no limit."}],"include_labels":[{"type":"string","description":"Comma-separated labels. When set, only items carrying at least one are read. At most 50 labels of up to 100 characters each."}],"exclude_labels":[{"type":"string","description":"Comma-separated labels to skip. An exclusion wins over an include. The same bounds as `include_labels` ."}],"max_items":[{"type":"string","description":"How many to read, newest first. An integer from `1` to `1000` ."}],"max_comments":[{"type":"string","description":"Comments read per item. An integer from `0` to `100` ."}],"exclude_closed_unmerged":[{"type":"string","description":"`github_pull_requests` only. `\"true\"` skips pull requests closed without being merged."}],"include_conversation_comments":[{"type":"string","description":"`github_pull_requests` only. `\"true\"` reads the comments on the pull request’s conversation."}],"include_review_comments":[{"type":"string","description":"`github_pull_requests` only. `\"true\"` also reads the review comments left on lines of code."}],"schema_url":[{"type":"string","description":"Absolute `http` or `https` URL of the schema, at most 2,048 characters. It must not contain a username or password.","required":true}],"max_operations":[{"type":"string","description":"Maximum operations read. An integer from `1` to `2000` ."}],"question_1":[{"type":"string","description":"The first question, on one line, at most 500 characters. Further pairs are `question_2` , `question_3` and so on; the numbers set the order.","required":true}],"answer_1":[{"type":"string","description":"The answer to `question_1` , in Markdown, at most 4,000 characters. Every question needs an answer with the same number.","required":true}],"help_center_url":[{"type":"string","description":"Any `http` or `https` page of the help centre. Only its origin is stored. It must not contain a username or password.","required":true}],"locale":[{"type":"string","description":"A locale of the help centre, such as `en-us` . Empty reads its default."}],"category_id":[{"type":"string","description":"Read one category only. Digits. Cannot be combined with `tag` ."}],"section_id":[{"type":"string","description":"Read one section only. Digits. Cannot be combined with `category_id` ."}],"max_articles":[{"type":"string","description":"Maximum articles read. An integer from `1` to `2000` ."}],"forum_url":[{"type":"string","description":"Any `http` or `https` page of the forum. Only its origin is stored. It must not contain a username or password.","required":true}],"tag":[{"type":"string","description":"Read one tag only: lower-case letters, digits, `-` , `.` and `_` , at most 100 characters. Cannot be combined with `category_id` ."}],"solved_only":[{"type":"string","description":"`\"true\"` reads only topics with an accepted answer. The sync fails on a forum that does not report accepted answers."}],"max_topics":[{"type":"string","description":"Maximum topics read, latest first. An integer from `1` to `500` ."}],"max_posts_per_topic":[{"type":"string","description":"Posts read from each topic. An integer from `1` to `20` ."}],"space_keys":[{"type":"string","description":"Comma-separated space keys, such as `ENG,DOCS` : letters, digits, `.` , `_` and `-` , optionally starting with `~` , at most 25. Empty reads every space the connection’s account can see."}],"project_keys":[{"type":"string","description":"Comma-separated project keys, such as `ENG,OPS` : a letter, then letters, digits or `_` , at most 25. Lowercase is accepted and stored uppercase.","required":true}],"resolved_only":[{"type":"string","description":"`\"true\"` reads only issues whose status is in the Done category."}],"max_issues":[{"type":"string","description":"Maximum issues read, oldest first. An integer from `1` to `5000` ."}],"service_desk_id":[{"type":"string","description":"The service desk’s number: the digits after `/portal/` in its customer portal address.","required":true}],"closed_only":[{"type":"string","description":"`\"false\"` also reads requests that are still open."}],"max_requests":[{"type":"string","description":"Maximum requests read. An integer from `1` to `5000` ."}],"max_tickets":[{"type":"string","description":"Maximum tickets read, oldest first. An integer from `1` to `5000` ."}]},"description":"Settings for the source type. At most 50 keys, and each value at most 8,192 characters, except an upload source’s `files` , which may hold up to 102,400 (its 200 entries at their longest). 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` ."}],"connection_id":[{"type":"string","description":"ID (a UUID) of a saved connection to read the source with. Required for `confluence` , `jira` and `jira_service_management` (an `atlassian` connection), `notion` (a `notion` connection) and `zendesk_tickets` (a `zendesk` connection); optional for the four GitHub types, where a `github` connection reads a private repository. Any other type refuses one with `400` , as does a connection of the wrong service. A connection in another organization returns `404` . You need the owner or admin role to name one. It cannot be changed later, and it is not returned in the response."}],"respect_source_permissions":[{"type":"boolean","description":"Answer each person only from the documents the source system lets them read. See Source permissions . Offered only where the response’s `source_permissions_available` is `true` ; `true` anywhere else returns `400` . Left out, a new source takes the default: on wherever it is available."}]}}],"examples":{"example":{"value":{"collection_id":"\u003cstring>","source_type":"\u003cstring>","name":"\u003cstring>","configuration":{"seed_url":"\u003cstring>","path_prefix":"\u003cstring>","max_depth":"\u003cstring>","max_pages":"\u003cstring>","include_paths":"\u003cstring>","exclude_paths":"\u003cstring>","owner":"\u003cstring>","repository":"\u003cstring>","ref":"\u003cstring>","files":"\u003cstring>","state":"\u003cstring>","max_age_days":"\u003cstring>","include_labels":"\u003cstring>","exclude_labels":"\u003cstring>","max_items":"\u003cstring>","max_comments":"\u003cstring>","exclude_closed_unmerged":"\u003cstring>","include_conversation_comments":"\u003cstring>","include_review_comments":"\u003cstring>","schema_url":"\u003cstring>","max_operations":"\u003cstring>","question_1":"\u003cstring>","answer_1":"\u003cstring>","help_center_url":"\u003cstring>","locale":"\u003cstring>","category_id":"\u003cstring>","section_id":"\u003cstring>","max_articles":"\u003cstring>","forum_url":"\u003cstring>","tag":"\u003cstring>","solved_only":"\u003cstring>","max_topics":"\u003cstring>","max_posts_per_topic":"\u003cstring>","space_keys":"\u003cstring>","project_keys":"\u003cstring>","resolved_only":"\u003cstring>","max_issues":"\u003cstring>","service_desk_id":"\u003cstring>","closed_only":"\u003cstring>","max_requests":"\u003cstring>","max_tickets":"\u003cstring>"},"connection_id":"\u003cstring>","respect_source_permissions":true}}}}}},"response":{"200":{"application/json":{"schemaArray":[{"type":"object","properties":{"id":[{"type":"string","description":"Source ID (a UUID).","required":true}],"collection_id":[{"type":"string","description":"Collection the source ingests into.","required":true}],"source_type":[{"type":"string","description":"The `source_type` the source was created with.","required":true}],"name":[{"type":"string","description":"The trimmed name.","required":true}],"configuration":[{"type":"object","properties":{},"description":"The stored configuration. Every key the source type reads is present, with defaults filled in, and every value is a string.","required":true}],"status":[{"type":"string","description":"`active` for a new source.","required":true}],"last_source_version":[{"type":"object","properties":{},"description":"`null` until the source has been ingested.","required":true}],"last_ingested_at":[{"type":"object","properties":{},"description":"`null` until the source has been ingested.","required":true}],"created_at":[{"type":"string","description":"When the source was created, ISO 8601 in UTC.","required":true}],"updated_at":[{"type":"string","description":"When the source was last changed, ISO 8601 in UTC.","required":true}]}}],"examples":{"example":{"value":{"id":"\u003cstring>","collection_id":"\u003cstring>","source_type":"\u003cstring>","name":"\u003cstring>","configuration":{},"status":"\u003cstring>","last_source_version":{},"last_ingested_at":{},"created_at":"\u003cstring>","updated_at":"\u003cstring>"}}}}}},"deprecated":false}},"jsLinks":[],"subdomain":"mithunai","siteName":"MITHUNAI Docs","title":"Create a knowledge source to ingest - MITHUNAI Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-12T10:34:30.053Z","gitLastModified":"2026-11-07T15:11:00.000Z","originalFileLocation":"api-reference/knowledge/create-source.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Connect a website, repository, schema, help centre, Confluence, Notion, Jira, Zendesk, files or custom answers to a collection. Nothing is read yet.\">\u003cmeta data-mint-head name=\"application-name\" content=\"MITHUNAI Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/mithunai/VSpazMGn_kHl9He0/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/mithunai/VSpazMGn_kHl9He0/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/mithunai/VSpazMGn_kHl9He0/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/mithunai/VSpazMGn_kHl9He0/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/mithunai/VSpazMGn_kHl9He0/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/mithunai/VSpazMGn_kHl9He0/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/mithunai/VSpazMGn_kHl9He0/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/mithunai/VSpazMGn_kHl9He0/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/mithunai/VSpazMGn_kHl9He0/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a knowledge source to ingest - MITHUNAI Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Connect a website, repository, schema, help centre, Confluence, Notion, Jira, Zendesk, files or custom answers to a collection. Nothing is read yet.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"MITHUNAI Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.mithunai.com/api-reference/knowledge/create-source\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://mithunai.mintlify.site/_mintlify/api/og/v2?division=Sources\u0026amp;title=Create+a+knowledge+source+to+ingest\u0026amp;description=Connect+a+website%2C+repository%2C+schema%2C+help+centre%2C+Confluence%2C+Notion%2C+Jira%2C+Zendesk%2C+files+or+custom+answers+to+a+collection.+Nothing+is+read+yet.\u0026amp;theme=1766bc81c38ade07d7956bb7\u0026amp;signature=efad07bdbb5a3be4479b447ba59626520347a2d9f5bc6c794b940335a3d3259a\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create a knowledge source to ingest - MITHUNAI Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Connect a website, repository, schema, help centre, Confluence, Notion, Jira, Zendesk, files or custom answers to a collection. Nothing is read yet.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://mithunai.mintlify.site/_mintlify/api/og/v2?division=Sources\u0026amp;title=Create+a+knowledge+source+to+ingest\u0026amp;description=Connect+a+website%2C+repository%2C+schema%2C+help+centre%2C+Confluence%2C+Notion%2C+Jira%2C+Zendesk%2C+files+or+custom+answers+to+a+collection.+Nothing+is+read+yet.\u0026amp;theme=1766bc81c38ade07d7956bb7\u0026amp;signature=efad07bdbb5a3be4479b447ba59626520347a2d9f5bc6c794b940335a3d3259a\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/mithunai/VSpazMGn_kHl9He0/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"MITHUNAI Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#B83E0E\">\u003cmeta data-mint-head name=\"og:locale\" content=\"en_GB\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.mithunai.com/api-reference/knowledge/create-source\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/knowledge/create-source.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.mithunai.com/#organization\",\"name\":\"MITHUNAI\",\"url\":\"https://www.mithunai.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://docs.mithunai.com/logo/light.svg\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.mithunai.com#website\",\"name\":\"MITHUNAI Docs\",\"url\":\"https://docs.mithunai.com\",\"publisher\":{\"@id\":\"https://www.mithunai.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.mithunai.com/api-reference/knowledge/create-source#webpage\",\"url\":\"https://docs.mithunai.com/api-reference/knowledge/create-source\",\"name\":\"Create a knowledge source to ingest\",\"description\":\"Connect a website, repository, schema, help centre, Confluence, Notion, Jira, Zendesk, files or custom answers to a collection. Nothing is read yet.\",\"dateModified\":\"2026-11-07T15:11:00.000Z\",\"isPartOf\":{\"@id\":\"https://docs.mithunai.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.mithunai.com/api-reference/knowledge/create-source#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.mithunai.com/api-reference/knowledge/create-source#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Knowledge\",\"item\":\"https://docs.mithunai.com/api-reference/knowledge/create-collection\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create a knowledge source to ingest\",\"item\":\"https://docs.mithunai.com/api-reference/knowledge/create-source\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.mithunai.com/api-reference/knowledge/create-source#apireference\",\"headline\":\"Create a knowledge source to ingest\",\"name\":\"Create a knowledge source to ingest\",\"description\":\"Connect a website, repository, schema, help centre, Confluence, Notion, Jira, Zendesk, files or custom answers to a collection. Nothing is read yet.\",\"url\":\"https://docs.mithunai.com/api-reference/knowledge/create-source\",\"mainEntityOfPage\":{\"@id\":\"https://docs.mithunai.com/api-reference/knowledge/create-source#webpage\"},\"dateModified\":\"2026-11-07T15:11:00.000Z\",\"publisher\":{\"@id\":\"https://www.mithunai.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.mithunai.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"MITHUNAI Docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"MITHUNAI\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/knowledge/create-source.md","siteName":"MITHUNAI Docs","nav":{"global":null,"tabs":[{"tab":"Home","icon":"house","pages":[{"title":"Home","href":""}]},{"tab":"RAG","icon":"book-open-check","pages":[{"title":"RAG","href":"/rag/overview"}]},{"tab":"Chat","icon":"message-circle","pages":[{"title":"Chat","href":"/chat/overview"}]},{"tab":"Gateway","icon":"zap","pages":[{"title":"Gateway","href":"/gateway/overview"}]},{"tab":"Agents","icon":"waypoints","pages":[{"title":"Agents","href":"/agents/overview"}]},{"tab":"Team","icon":"users","pages":[{"title":"Team","href":"/team/overview"}]},{"tab":"Platform","icon":"building-2","pages":[{"title":"Platform","href":"/concepts/organizations-and-roles"}]},{"tab":"API reference","icon":"square-terminal","groups":[{"group":"Get started","pages":[{"title":"MITHUNAI HTTP API: base URL and rules","sidebarTitle":"Introduction","icon":"square-terminal","href":"/api-reference/introduction"},{"title":"Authenticate API requests with a key","sidebarTitle":"Authentication","icon":"key-round","href":"/api-reference/authentication"},{"title":"API error codes and how to handle them","sidebarTitle":"Errors","icon":"triangle-alert","href":"/api-reference/errors"},{"title":"Rate limits and handling 429 responses","sidebarTitle":"Rate limits","icon":"gauge","href":"/api-reference/rate-limits"},{"title":"Paginate list endpoints with cursors","sidebarTitle":"Pagination","icon":"list","href":"/api-reference/pagination"},{"title":"Stream answers with server-sent events","sidebarTitle":"Streaming","icon":"radio","href":"/api-reference/streaming"}]},{"group":"Conversations","pages":[{"title":"Start a conversation with an assistant","sidebarTitle":"Start a conversation","api":"POST /conversations","href":"/api-reference/conversations/create-conversation"},{"title":"List the conversations you can see","sidebarTitle":"List conversations","api":"GET /conversations","href":"/api-reference/conversations/list-conversations"},{"title":"Get one conversation and its state","sidebarTitle":"Get a conversation","api":"GET /conversations/{conversation_id}","href":"/api-reference/conversations/get-conversation"},{"title":"Rename, archive or restore a conversation","sidebarTitle":"Update a conversation","api":"PATCH /conversations/{conversation_id}","href":"/api-reference/conversations/update-conversation"},{"title":"Delete a conversation and its messages","sidebarTitle":"Delete a conversation","api":"DELETE /conversations/{conversation_id}","href":"/api-reference/conversations/delete-conversation"},{"title":"Ask a question and get a cited answer","sidebarTitle":"Send a message","api":"POST /conversations/{conversation_id}/messages","href":"/api-reference/conversations/send-message"},{"title":"Stream an answer as it is being written","sidebarTitle":"Stream a message","api":"POST /conversations/{conversation_id}/messages:stream","href":"/api-reference/conversations/stream-message"},{"title":"List the messages in a conversation","sidebarTitle":"List messages","api":"GET /conversations/{conversation_id}/messages","href":"/api-reference/conversations/list-messages"},{"title":"Rate an answer in a conversation","sidebarTitle":"Rate an answer","api":"PUT /conversations/{conversation_id}/messages/{message_id}/feedback","href":"/api-reference/conversations/rate-message"},{"title":"List the ratings on an answer","sidebarTitle":"List an answer's ratings","api":"GET /conversations/{conversation_id}/messages/{message_id}/feedback","href":"/api-reference/conversations/list-message-ratings"},{"title":"Clear your rating of an answer","sidebarTitle":"Clear a rating","api":"DELETE /conversations/{conversation_id}/messages/{message_id}/feedback","href":"/api-reference/conversations/clear-message-rating"},{"title":"Suggest follow-up questions for an answer","sidebarTitle":"Suggest follow-ups","api":"POST /conversations/{conversation_id}/messages/{message_id}/follow-ups","href":"/api-reference/conversations/suggest-follow-ups"}]},{"group":"Assistants","pages":[{"title":"Create an assistant over your knowledge","sidebarTitle":"Create an assistant","api":"POST /assistants","href":"/api-reference/assistants/create-assistant"},{"title":"List the assistants in your organisation","sidebarTitle":"List assistants","api":"GET /assistants","href":"/api-reference/assistants/list-assistants"},{"title":"Get an assistant and its instruction","sidebarTitle":"Get an assistant","api":"GET /assistants/{assistant_id}","href":"/api-reference/assistants/get-assistant"},{"title":"Change an assistant's knowledge or model","sidebarTitle":"Update an assistant","api":"PATCH /assistants/{assistant_id}","href":"/api-reference/assistants/update-assistant"},{"title":"Get an assistant with its field limits","sidebarTitle":"Get assistant settings","api":"GET /assistants/{assistant_id}/settings","href":"/api-reference/assistants/get-assistant-settings"},{"title":"Run an answer-quality eval on an assistant","sidebarTitle":"Run an eval","api":"POST /assistants/{assistant_id}/evals","href":"/api-reference/assistants/run-assistant-eval"},{"title":"Keep an eval set","sidebarTitle":"Keep an eval set","api":"POST /assistants/{assistant_id}/eval-sets","href":"/api-reference/assistants/save-eval-set"},{"title":"List eval sets","sidebarTitle":"List eval sets","api":"GET /assistants/{assistant_id}/eval-sets","href":"/api-reference/assistants/list-eval-sets"},{"title":"Run a kept eval set","sidebarTitle":"Run a kept eval set","api":"POST /assistants/{assistant_id}/eval-sets/{set_id}/runs","href":"/api-reference/assistants/run-eval-set"},{"title":"List eval runs","sidebarTitle":"List eval runs","api":"GET /assistants/{assistant_id}/eval-runs","href":"/api-reference/assistants/list-eval-runs"},{"title":"Get an eval run","sidebarTitle":"Get an eval run","api":"GET /assistants/{assistant_id}/eval-runs/{run_id}","href":"/api-reference/assistants/get-eval-run"}]},{"group":"Models","pages":[{"title":"List the models an assistant can use","sidebarTitle":"List models","api":"GET /models","href":"/api-reference/models/list-models"},{"title":"List the model providers configured","sidebarTitle":"List providers","api":"GET /models/providers","href":"/api-reference/models/list-providers"},{"title":"Get one model from the catalogue by id","sidebarTitle":"Get a model","api":"GET /models/{provider}/{name}","href":"/api-reference/models/get-model"}]},{"group":"Knowledge","pages":[{"group":"Collections","pages":[{"title":"Create a knowledge collection to ingest into","sidebarTitle":"Create a collection","api":"POST /knowledge/collections","href":"/api-reference/knowledge/create-collection"},{"title":"List all your knowledge collections","sidebarTitle":"List collections","api":"GET /knowledge/collections","href":"/api-reference/knowledge/list-collections"},{"title":"Get one knowledge collection by id","sidebarTitle":"Get a collection","api":"GET /knowledge/collections/{collection_id}","href":"/api-reference/knowledge/get-collection"},{"title":"Rename or archive a knowledge collection","sidebarTitle":"Update a collection","api":"PATCH /knowledge/collections/{collection_id}","description":"Rename, re-describe, archive or restore a collection. Sending null for a field is refused; send an empty string to clear it.","href":"/api-reference/knowledge/update-collection"}]},{"group":"Sources","pages":[{"title":"Create a knowledge source to ingest","sidebarTitle":"Create a source","api":"POST /knowledge/sources","href":"/api-reference/knowledge/create-source"},{"title":"List the knowledge sources you have","sidebarTitle":"List sources","api":"GET /knowledge/sources","description":"Every matching source in one unpaged response, newest first, optionally for one collection. An id that is not yours matches nothing, not an error.","href":"/api-reference/knowledge/list-sources"},{"title":"Get a knowledge source and its config","sidebarTitle":"Get a source","api":"GET /knowledge/sources/{source_id}","href":"/api-reference/knowledge/get-source"},{"title":"Update, pause or resume a knowledge source","sidebarTitle":"Update a source","api":"PATCH /knowledge/sources/{source_id}","href":"/api-reference/knowledge/update-source"},{"title":"Delete a source and all its documents","sidebarTitle":"Delete a source","api":"DELETE /knowledge/sources/{source_id}","href":"/api-reference/knowledge/delete-source"},{"title":"Sync a source into its collection now","sidebarTitle":"Sync a source","api":"POST /knowledge/sources/{source_id}/sync","href":"/api-reference/knowledge/sync-source"},{"title":"Get a source's latest ingestion job","sidebarTitle":"Get a source's latest job","api":"GET /knowledge/sources/{source_id}/job","href":"/api-reference/knowledge/get-source-job"},{"title":"Confirm the removal a sync held","sidebarTitle":"Confirm a held removal","api":"POST /knowledge/sources/{source_id}/removal/confirm","href":"/api-reference/knowledge/confirm-removal"},{"title":"Keep the documents a sync held for removal","sidebarTitle":"Keep held documents","api":"POST /knowledge/sources/{source_id}/removal/keep","href":"/api-reference/knowledge/keep-held-documents"}]},{"group":"Ingestion jobs","pages":[{"title":"List recent ingestion jobs and runs","sidebarTitle":"List jobs","api":"GET /knowledge/jobs","href":"/api-reference/knowledge/list-jobs"},{"title":"Get an ingestion job and its counters","sidebarTitle":"Get a job","api":"GET /knowledge/jobs/{job_id}","href":"/api-reference/knowledge/get-job"},{"title":"Cancel a running ingestion job early","sidebarTitle":"Cancel a job","api":"POST /knowledge/jobs/{job_id}/cancel","href":"/api-reference/knowledge/cancel-job"}]},{"group":"Documents and uploads","pages":[{"title":"List the documents in a collection","sidebarTitle":"List documents","api":"GET /knowledge/documents","href":"/api-reference/knowledge/list-documents"},{"title":"Read a document's text","sidebarTitle":"Get document content","api":"GET /knowledge/documents/{document_id}/content","href":"/api-reference/knowledge/get-document-content"},{"title":"See who can be answered from a document","sidebarTitle":"Get document access","api":"GET /knowledge/documents/{document_id}/access","href":"/api-reference/knowledge/get-document-access"},{"title":"Upload files for a knowledge collection","sidebarTitle":"Upload files","api":"POST /knowledge/uploads","href":"/api-reference/knowledge/upload-files"},{"title":"Read the file upload size ceilings","sidebarTitle":"Upload limits","api":"GET /knowledge/uploads/limits","playground":"simple","href":"/api-reference/knowledge/upload-limits"}]}]},{"group":"Widget deployments","pages":[{"title":"Publish an assistant as a website widget","sidebarTitle":"Create a widget deployment","api":"POST /widget-deployments","href":"/api-reference/widget-deployments/create-widget-deployment"},{"title":"List all your website widget embeds","sidebarTitle":"List widget deployments","api":"GET /widget-deployments","href":"/api-reference/widget-deployments/list-widget-deployments"},{"title":"Get a widget embed and its widget key","sidebarTitle":"Get a widget deployment","api":"GET /widget-deployments/{deployment_id}","href":"/api-reference/widget-deployments/get-widget-deployment"},{"title":"Change a widget embed's allowed origins","sidebarTitle":"Update a widget deployment","api":"PATCH /widget-deployments/{deployment_id}","href":"/api-reference/widget-deployments/update-widget-deployment"},{"title":"Revoke a website widget embed for good","sidebarTitle":"Revoke a widget deployment","api":"DELETE /widget-deployments/{deployment_id}","href":"/api-reference/widget-deployments/revoke-widget-deployment"},{"title":"Check that a widget embed is installed on a page","sidebarTitle":"Check an installation","api":"POST /widget-deployments/{deployment_id}/installation-check","href":"/api-reference/widget-deployments/check-widget-installation"}]},{"group":"Widget (public)","pages":[{"title":"Bootstrap the widget on a visitor's page","sidebarTitle":"Bootstrap the widget","api":"GET /widget/bootstrap","playground":"simple","href":"/api-reference/widget/bootstrap"},{"title":"Start a widget thread for a visitor","sidebarTitle":"Start a widget conversation","api":"POST /widget/conversations","playground":"simple","href":"/api-reference/widget/start-thread"},{"title":"List one visitor's own widget threads","sidebarTitle":"List widget conversations","api":"GET /widget/conversations","playground":"simple","href":"/api-reference/widget/list-threads"},{"title":"Get one widget conversation thread","sidebarTitle":"Get a widget conversation","api":"GET /widget/conversations/{conversation_id}","playground":"simple","href":"/api-reference/widget/get-thread"},{"title":"Ask a question from the website widget","sidebarTitle":"Send a widget message","api":"POST /widget/conversations/{conversation_id}/messages","playground":"simple","href":"/api-reference/widget/send-thread-message"},{"title":"Stream a widget answer to a visitor","sidebarTitle":"Stream a widget message","api":"POST /widget/conversations/{conversation_id}/messages:stream","playground":"simple","href":"/api-reference/widget/stream-thread-message"},{"title":"List the messages in a widget thread","sidebarTitle":"List widget messages","api":"GET /widget/conversations/{conversation_id}/messages","playground":"simple","href":"/api-reference/widget/list-thread-messages"},{"title":"Rate an answer in a widget thread","sidebarTitle":"Rate a widget answer","api":"PUT /widget/conversations/{conversation_id}/messages/{message_id}/feedback","playground":"simple","href":"/api-reference/widget/rate-thread-message"},{"title":"Record what a visitor did after the form deflector answered","sidebarTitle":"Record a deflection","api":"POST /widget/conversations/{conversation_id}/deflection","playground":"simple","href":"/api-reference/widget/record-deflection"},{"title":"Get the visitor's rating of a widget answer","sidebarTitle":"Get a widget answer's rating","api":"GET /widget/conversations/{conversation_id}/messages/{message_id}/feedback","playground":"simple","href":"/api-reference/widget/get-thread-message-rating"},{"title":"Withdraw the visitor's rating of a widget answer","sidebarTitle":"Withdraw a widget answer's rating","api":"DELETE /widget/conversations/{conversation_id}/messages/{message_id}/feedback","playground":"simple","href":"/api-reference/widget/clear-thread-message-rating"}]},{"group":"MCP","pages":[{"title":"MCP endpoint: JSON-RPC methods and tools","sidebarTitle":"MCP","api":"POST /mcp","href":"/api-reference/mcp/mcp"}]},{"group":"Connections","pages":[{"title":"Save a connection to Atlassian, Notion, Zendesk or GitHub","sidebarTitle":"Save a connection","api":"POST /connections","playground":"none","href":"/api-reference/connections/create-connection"},{"title":"List your organisation's saved connections","sidebarTitle":"List connections","api":"GET /connections","playground":"simple","href":"/api-reference/connections/list-connections"},{"title":"Read a saved connection's details","sidebarTitle":"Get a connection","api":"GET /connections/{connection_id}","playground":"simple","href":"/api-reference/connections/get-connection"},{"title":"Replace a connection's token","sidebarTitle":"Replace a token","api":"POST /connections/{connection_id}/rotate","playground":"none","href":"/api-reference/connections/rotate-connection"},{"title":"Delete a connection no source uses","sidebarTitle":"Delete a connection","api":"DELETE /connections/{connection_id}","playground":"none","href":"/api-reference/connections/delete-connection"},{"title":"List your saved AI provider keys","sidebarTitle":"List model keys","api":"GET /model-keys","playground":"none","href":"/api-reference/model-keys/list-model-keys"},{"title":"Save or replace an AI provider key","sidebarTitle":"Save a model key","api":"POST /model-keys","playground":"none","href":"/api-reference/model-keys/save-model-key"},{"title":"Remove an AI provider key","sidebarTitle":"Remove a model key","api":"DELETE /model-keys/{provider}","playground":"none","href":"/api-reference/model-keys/delete-model-key"},{"title":"Test a saved AI provider key","sidebarTitle":"Test a model key","api":"POST /model-keys/test","playground":"none","href":"/api-reference/model-keys/test-model-key"}]},{"group":"Slack","pages":[{"title":"Read the Slack connection","sidebarTitle":"Get the Slack connection","api":"GET /integrations/slack","href":"/api-reference/slack/get-slack"},{"title":"Start connecting Slack","sidebarTitle":"Start connecting","api":"POST /integrations/slack/install","playground":"none","href":"/api-reference/slack/start-install"},{"title":"Finish connecting Slack","sidebarTitle":"Finish connecting","api":"POST /integrations/slack/complete","playground":"none","href":"/api-reference/slack/complete-install"},{"title":"Choose the assistant that answers in Slack","sidebarTitle":"Choose the assistant","api":"PATCH /integrations/slack","href":"/api-reference/slack/update-slack"},{"title":"Disconnect Slack","sidebarTitle":"Disconnect","api":"DELETE /integrations/slack","href":"/api-reference/slack/remove-slack"},{"title":"Read your linked Slack account","sidebarTitle":"Get your Slack link","api":"GET /integrations/slack/identity","playground":"none","href":"/api-reference/slack/get-identity"},{"title":"Check a Slack link before confirming it","sidebarTitle":"Check a Slack link","api":"POST /integrations/slack/identity/preview","playground":"none","href":"/api-reference/slack/preview-identity"},{"title":"Start linking your Slack account","sidebarTitle":"Link your Slack account","api":"POST /integrations/slack/identity","playground":"none","href":"/api-reference/slack/link-identity"},{"title":"Unlink your Slack account","sidebarTitle":"Unlink your Slack account","api":"DELETE /integrations/slack/identity","playground":"none","href":"/api-reference/slack/unlink-identity"},{"title":"Receive an event from Slack","sidebarTitle":"Receive an event","api":"POST /slack/events","playground":"none","href":"/api-reference/slack/receive-event"},{"title":"Receive a press on an approval card from Slack","sidebarTitle":"Receive a card press","api":"POST /slack/interactions","playground":"none","href":"/api-reference/slack/receive-interaction"}]},{"group":"Microsoft Teams","pages":[{"title":"Read the Microsoft Teams connection","sidebarTitle":"Get the Teams connection","api":"GET /integrations/teams","playground":"none","href":"/api-reference/teams/get-teams"},{"title":"Start connecting Microsoft Teams","sidebarTitle":"Start connecting","api":"POST /integrations/teams/install","playground":"none","href":"/api-reference/teams/start-install"},{"title":"Finish connecting Microsoft Teams","sidebarTitle":"Finish connecting","api":"POST /integrations/teams/complete","playground":"none","href":"/api-reference/teams/complete-install"},{"title":"Choose the assistant that answers in Microsoft Teams","sidebarTitle":"Choose the assistant","api":"PATCH /integrations/teams","playground":"none","href":"/api-reference/teams/update-teams"},{"title":"Disconnect Microsoft Teams","sidebarTitle":"Disconnect","api":"DELETE /integrations/teams","playground":"none","href":"/api-reference/teams/remove-teams"},{"title":"Read your linked Teams account","sidebarTitle":"Get your Teams link","api":"GET /integrations/teams/identity","playground":"none","href":"/api-reference/teams/get-identity"},{"title":"Check a Teams link before confirming it","sidebarTitle":"Check a Teams link","api":"POST /integrations/teams/identity/preview","playground":"none","href":"/api-reference/teams/preview-identity"},{"title":"Start linking your Teams account","sidebarTitle":"Link your Teams account","api":"POST /integrations/teams/identity","playground":"none","href":"/api-reference/teams/link-identity"},{"title":"Unlink your Teams account","sidebarTitle":"Unlink your Teams account","api":"DELETE /integrations/teams/identity","playground":"none","href":"/api-reference/teams/unlink-identity"},{"title":"Receive an activity from Microsoft Teams","sidebarTitle":"Receive an activity","api":"POST /teams/messages","playground":"none","href":"/api-reference/teams/receive-activity"}]},{"group":"API keys","pages":[{"title":"Create an API key and read its secret","sidebarTitle":"Create an API key","api":"POST /api-keys","playground":"simple","href":"/api-reference/api-keys/create-api-key"},{"title":"List your organisation's own API keys","sidebarTitle":"List API keys","api":"GET /api-keys","playground":"simple","href":"/api-reference/api-keys/list-api-keys"},{"title":"Read an API key without its secret","sidebarTitle":"Get an API key","api":"GET /api-keys/{api_key_id}","playground":"simple","href":"/api-reference/api-keys/get-api-key"},{"title":"Revoke a leaked or unused API key now","sidebarTitle":"Revoke an API key","api":"DELETE /api-keys/{api_key_id}","playground":"simple","href":"/api-reference/api-keys/revoke-api-key"}]},{"group":"Members","pages":[{"title":"List your organisation's members","sidebarTitle":"List members","api":"GET /members","playground":"simple","href":"/api-reference/members/list-members"},{"title":"Add a member, by invitation","sidebarTitle":"Add a member","api":"POST /members","playground":"simple","href":"/api-reference/members/add-member"},{"title":"Change a member's role","sidebarTitle":"Change a role","api":"PATCH /members/{account_id}","playground":"simple","href":"/api-reference/members/change-member-role"},{"title":"Remove a member from your organisation","sidebarTitle":"Remove a member","api":"DELETE /members/{account_id}","playground":"simple","href":"/api-reference/members/remove-member"},{"title":"Make a member the owner of your organisation","sidebarTitle":"Make a member the owner","api":"POST /members/{account_id}/make-owner","playground":"simple","href":"/api-reference/members/make-owner"},{"title":"List your organisation's products","sidebarTitle":"List products","api":"GET /products","href":"/api-reference/members/get-products"}]},{"group":"Invitations","pages":[{"title":"List invitations that have not been accepted","sidebarTitle":"List invitations","api":"GET /invitations","playground":"simple","href":"/api-reference/invitations/list-invitations"},{"title":"Invite a person by email","sidebarTitle":"Send an invitation","api":"POST /invitations","playground":"simple","href":"/api-reference/invitations/create-invitation"},{"title":"Send an invitation again","sidebarTitle":"Re-send an invitation","api":"POST /invitations/{invitation_id}/resend","playground":"simple","href":"/api-reference/invitations/resend-invitation"},{"title":"Withdraw an invitation","sidebarTitle":"Withdraw an invitation","api":"DELETE /invitations/{invitation_id}","playground":"simple","href":"/api-reference/invitations/revoke-invitation"}]},{"group":"Analytics","pages":[{"title":"Get usage counts for a time window","sidebarTitle":"Get usage","api":"GET /analytics/usage","href":"/api-reference/analytics/get-usage"},{"title":"Get this month's answers against your allowance","sidebarTitle":"Get answer allowance","api":"GET /usage","href":"/api-reference/analytics/get-answer-allowance"},{"title":"Get your plan, its limits and what is in use","sidebarTitle":"Get plan","api":"GET /plan","href":"/api-reference/analytics/get-plan"},{"title":"Get your AI budget and gateway controls","sidebarTitle":"Get AI gateway controls","api":"GET /ai-gateway","href":"/api-reference/analytics/get-ai-gateway"},{"title":"List the questions nobody could answer","sidebarTitle":"List unanswered questions","api":"GET /analytics/unanswered","href":"/api-reference/analytics/list-unanswered"},{"title":"List the questions people ask most","sidebarTitle":"List top questions","api":"GET /analytics/top-questions","href":"/api-reference/analytics/list-top-questions"},{"title":"List coverage gaps to answer","sidebarTitle":"List doc proposals","api":"GET /analytics/doc-proposals","href":"/api-reference/analytics/list-doc-proposals"},{"title":"Draft an answer for a coverage gap","sidebarTitle":"Draft a doc proposal","api":"POST /analytics/doc-proposals/draft","href":"/api-reference/analytics/draft-doc-proposal"},{"title":"Publish an answer for a coverage gap","sidebarTitle":"Publish a doc proposal","api":"POST /analytics/doc-proposals/publish","href":"/api-reference/analytics/publish-doc-proposal"},{"title":"Dismiss a coverage gap","sidebarTitle":"Dismiss a doc proposal","api":"POST /analytics/doc-proposals/dismiss","href":"/api-reference/analytics/dismiss-doc-proposal"},{"title":"Get the sources and documents answers cited","sidebarTitle":"Get source analytics","api":"GET /analytics/sources","href":"/api-reference/analytics/get-source-analytics"}]},{"group":"Support access","pages":[{"title":"Read who from support can see your data","sidebarTitle":"Read support access","api":"GET /support-access","playground":"simple","href":"/api-reference/support-access/get-support-access"},{"title":"Allow or withdraw MITHUNAI support access","sidebarTitle":"Allow or withdraw","api":"PUT /support-access","playground":"simple","href":"/api-reference/support-access/set-support-access"},{"title":"End one live MITHUNAI support session","sidebarTitle":"End a session","api":"DELETE /support-access/sessions/{session_id}","playground":"simple","href":"/api-reference/support-access/end-support-session"},{"title":"Read what a support session looked at","sidebarTitle":"Session activity","api":"GET /support-access/sessions/{session_id}/activity","playground":"simple","href":"/api-reference/support-access/get-session-activity"}]},{"group":"Audit log","pages":[{"title":"Export the audit log as CSV or JSON Lines","sidebarTitle":"Export the audit log","api":"GET /audit-log/export","href":"/api-reference/audit-log/export-audit-log"}]},{"group":"AI search visibility","pages":[{"title":"Get the set-up","sidebarTitle":"Get set-up","api":"GET /geo","href":"/api-reference/geo/get-geo"},{"title":"Choose engines, samples and schedule","sidebarTitle":"Choose engines","api":"PUT /geo/settings","href":"/api-reference/geo/update-settings"},{"title":"Track your brand or a competitor","sidebarTitle":"Track a name","api":"POST /geo/entities","href":"/api-reference/geo/create-entity"},{"title":"Stop tracking a name","sidebarTitle":"Stop tracking a name","api":"DELETE /geo/entities/{entity_id}","href":"/api-reference/geo/delete-entity"},{"title":"Track a question","sidebarTitle":"Track a question","api":"POST /geo/prompts","href":"/api-reference/geo/create-prompt"},{"title":"Pause or resume a question","sidebarTitle":"Pause a question","api":"PATCH /geo/prompts/{prompt_id}","href":"/api-reference/geo/update-prompt"},{"title":"Stop tracking a question","sidebarTitle":"Stop tracking a question","api":"DELETE /geo/prompts/{prompt_id}","href":"/api-reference/geo/delete-prompt"},{"title":"Run a check now","sidebarTitle":"Run a check","api":"POST /geo/runs","href":"/api-reference/geo/create-run"},{"title":"List checks","sidebarTitle":"List checks","api":"GET /geo/runs","href":"/api-reference/geo/list-runs"},{"title":"Get share of model","sidebarTitle":"Get share of model","api":"GET /geo/report","href":"/api-reference/geo/get-report"},{"title":"List gaps","sidebarTitle":"List gaps","api":"GET /geo/gaps","href":"/api-reference/geo/list-gaps"},{"title":"Draft a fix for an AI search gap","sidebarTitle":"Draft a fix","api":"POST /geo/fixes/draft","href":"/api-reference/geo/draft-fix"},{"title":"Propose an AI search fix for approval","sidebarTitle":"Propose a fix","api":"POST /geo/fixes","href":"/api-reference/geo/propose-fix"}]},{"group":"AI employees","pages":[{"title":"List AI employees","sidebarTitle":"List employees","api":"GET /employees","href":"/api-reference/employees/list-employees"},{"title":"Get an AI employee","sidebarTitle":"Get an employee","api":"GET /employees/{role}","href":"/api-reference/employees/get-employee"},{"title":"Hand an AI employee a piece of work","sidebarTitle":"Hand over work","api":"POST /employees/{role}/tasks","href":"/api-reference/employees/submit-task"},{"title":"List AI-employee tasks","sidebarTitle":"List tasks","api":"GET /employees/tasks","href":"/api-reference/employees/list-tasks"},{"title":"Get an AI-employee task","sidebarTitle":"Get a task","api":"GET /employees/tasks/{task_id}","href":"/api-reference/employees/get-task"},{"title":"List the approval queue","sidebarTitle":"List approvals","api":"GET /employees/approvals","href":"/api-reference/employees/list-approvals"},{"title":"Approve an action","sidebarTitle":"Approve","api":"POST /employees/approvals/{action_id}/approve","href":"/api-reference/employees/approve-action"},{"title":"Reject an action","sidebarTitle":"Reject","api":"POST /employees/approvals/{action_id}/reject","href":"/api-reference/employees/reject-action"},{"title":"Read the activity record","sidebarTitle":"Activity record","api":"GET /employees/activity","href":"/api-reference/employees/list-activity"},{"title":"Get the approval policy","sidebarTitle":"Get policy","api":"GET /employees/policy","href":"/api-reference/employees/get-policy"},{"title":"Change the approval policy","sidebarTitle":"Change policy","api":"PUT /employees/policy","href":"/api-reference/employees/set-policy"},{"title":"List approval rules","sidebarTitle":"List approval rules","api":"GET /employees/approval-rules","href":"/api-reference/employees/list-approval-rules"},{"title":"Set an approval rule","sidebarTitle":"Set approval rule","api":"PUT /employees/{role}/approval-rules/{action_type}","href":"/api-reference/employees/set-approval-rule"},{"title":"Revoke an approval rule","sidebarTitle":"Revoke approval rule","api":"DELETE /employees/approval-rules/{action_type}","href":"/api-reference/employees/revoke-approval-rule"},{"title":"Get the Sales qualification rules","sidebarTitle":"Get qualification rules","api":"GET /employees/sales/qualification-rules","href":"/api-reference/employees/get-qualification-rules"},{"title":"Replace the Sales qualification rules","sidebarTitle":"Replace qualification rules","api":"PUT /employees/sales/qualification-rules","href":"/api-reference/employees/set-qualification-rules"},{"title":"Connect a tool","sidebarTitle":"Connect a tool","api":"PUT /employees/{role}/tools/{tool}","href":"/api-reference/employees/attach-tool"},{"title":"Disconnect a tool","sidebarTitle":"Disconnect a tool","api":"DELETE /employees/{role}/tools/{tool}/{kind}","href":"/api-reference/employees/detach-tool"},{"title":"Test a connected tool","sidebarTitle":"Test a connected tool","api":"POST /employees/{role}/tools/{tool}/{kind}/test","href":"/api-reference/employees/test-tool"},{"title":"List scheduled briefs","sidebarTitle":"List schedules","api":"GET /employees/schedules","href":"/api-reference/employees/list-schedules"},{"title":"Add a scheduled brief","sidebarTitle":"Add schedule","api":"POST /employees/{role}/schedules","href":"/api-reference/employees/add-schedule"},{"title":"Pause a scheduled brief","sidebarTitle":"Pause schedule","api":"POST /employees/schedules/{schedule_id}/pause","href":"/api-reference/employees/pause-schedule"},{"title":"Resume a scheduled brief","sidebarTitle":"Resume schedule","api":"POST /employees/schedules/{schedule_id}/resume","href":"/api-reference/employees/resume-schedule"},{"title":"Remove a scheduled brief","sidebarTitle":"Remove schedule","api":"DELETE /employees/schedules/{schedule_id}","href":"/api-reference/employees/remove-schedule"},{"title":"Read the daily summary setting","sidebarTitle":"Get daily summary","api":"GET /employees/digest","href":"/api-reference/employees/get-digest"},{"title":"Switch the daily summary","sidebarTitle":"Set daily summary","api":"PUT /employees/digest","href":"/api-reference/employees/set-digest"},{"title":"Read whether new tickets are picked up","sidebarTitle":"Get ticket pickup","api":"GET /employees/support/intake","href":"/api-reference/employees/get-ticket-intake"},{"title":"Turn picking up new tickets on or off","sidebarTitle":"Set ticket pickup","api":"PUT /employees/support/intake","href":"/api-reference/employees/set-ticket-intake"},{"title":"Read how many alerts came in","sidebarTitle":"Get alerts","api":"GET /employees/devops/alerts","href":"/api-reference/employees/get-alert-intake"},{"title":"Send an alert to the DevOps employee","sidebarTitle":"Send an alert","api":"POST /employees/devops/alerts","href":"/api-reference/employees/send-alert"},{"title":"Receive an alert from Sentry","sidebarTitle":"Sentry webhook","api":"POST /employees/devops/webhooks/sentry/{credential_id}","href":"/api-reference/employees/receive-sentry-webhook"},{"title":"Receive an incident from PagerDuty","sidebarTitle":"PagerDuty webhook","api":"POST /employees/devops/webhooks/pagerduty/{credential_id}","href":"/api-reference/employees/receive-pagerduty-webhook"},{"title":"Draft a postmortem","sidebarTitle":"Draft a postmortem","api":"POST /employees/devops/postmortems","href":"/api-reference/employees/draft-postmortem"},{"title":"Start connecting your books","sidebarTitle":"Start connecting your books","api":"POST /employees/finance/connections/{credential_id}/consent","href":"/api-reference/employees/start-books-consent"},{"title":"Finish connecting your books","sidebarTitle":"Finish connecting your books","api":"POST /employees/finance/consent/complete","href":"/api-reference/employees/complete-books-consent"},{"title":"Read the confidence threshold","sidebarTitle":"Read confidence threshold","api":"GET /employees/support/confidence","href":"/api-reference/employees/get-confidence-threshold"},{"title":"Set the confidence threshold","sidebarTitle":"Set confidence threshold","api":"PUT /employees/support/confidence","href":"/api-reference/employees/set-confidence-threshold"},{"title":"List tests on past tickets","sidebarTitle":"List tests","api":"GET /employees/support/simulations","href":"/api-reference/employees/list-simulations"},{"title":"Start a simulation on past solved tickets","sidebarTitle":"Start a test","api":"POST /employees/support/simulations","href":"/api-reference/employees/start-simulation"},{"title":"Read a test on past tickets","sidebarTitle":"Read a test","api":"GET /employees/support/simulations/{run_id}","href":"/api-reference/employees/get-simulation"},{"title":"Judge a simulated reply","sidebarTitle":"Judge a reply","api":"PUT /employees/support/simulations/{run_id}/tickets/{reference}/verdict","href":"/api-reference/employees/judge-simulated-ticket"}]},{"group":"Branding","pages":[{"title":"Get your organisation's brand overrides","sidebarTitle":"Get branding","api":"GET /branding","href":"/api-reference/branding/get-branding"},{"title":"Get branding with its value limits","sidebarTitle":"Get branding settings","api":"GET /branding/settings","href":"/api-reference/branding/get-branding-settings"},{"title":"Replace your whole branding layer at once","sidebarTitle":"Replace branding","api":"PUT /branding","href":"/api-reference/branding/replace-branding"},{"title":"Reset branding to the platform default","sidebarTitle":"Reset branding","api":"DELETE /branding","href":"/api-reference/branding/reset-branding"},{"title":"Get your organization's resolved theme","sidebarTitle":"Get the resolved theme","api":"GET /branding/theme","href":"/api-reference/branding/get-theme"},{"title":"Get the deployment's theme without signing in","sidebarTitle":"Get the public theme","api":"GET /branding/public-theme","href":"/api-reference/branding/get-public-theme"}]},{"group":"Operations","pages":[{"title":"Health check for a load balancer probe","sidebarTitle":"Health check","api":"GET /health","playground":"simple","href":"/api-reference/operations/health"},{"title":"Readiness check for an orchestrator","sidebarTitle":"Readiness check","api":"GET /ready","playground":"simple","href":"/api-reference/operations/ready"}]}]}]},"basePath":"","title":"Create a knowledge source to ingest - MITHUNAI Docs","buildId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","deploymentId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","dynamics":["c2aa737661","b0f84f53ff","2b790eda92"],"chunks":["OpenApiReferenceProvider-CDiBsYGW.js","utils-KF9rPlmF.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C26urKTX.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BdjmJAC1.js","snippetPresets-3IpDBjt3.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","Page-1CZdsdAn.js","ApiExamples-D4x_2vvo.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BIWdc5Pa.js","shallow-LQqfiMNd.js","getApiPlaygroundDisplay-DryzlOZG.js","CodeSnippet-tcJujU4r.js","CodeSnippets-BHp0nVLL.js","getPastedJson-DU-1ayUv.js","icon-CZK2hPr4.js","MethodPill-DOaqmTFC.js","DuplicateIcon-B5-nUxxl.js","createIcon-CDP_U77G.js","DynamicMarkdown-GHvayGOn.js","SectionHeading-BYvpkmUD.js","axios-vUo_bRtp.js"]}