{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Scale AI","colors":{"primary":"#3f2e7b","light":"#ca62ff","dark":"#3f2e7b"},"logo":{"light":"https://mintcdn.com/scalegp/TBmst1qiYXwYqUB5/logo/light.png?fit=max\u0026auto=format\u0026n=TBmst1qiYXwYqUB5\u0026q=85\u0026s=46027042c16b373ac463148db5ad1d6b","dark":"https://mintcdn.com/scalegp/TBmst1qiYXwYqUB5/logo/dark.png?fit=max\u0026auto=format\u0026n=TBmst1qiYXwYqUB5\u0026q=85\u0026s=02733f39d684d796ec742853eabf0de5"},"favicon":"https://mintcdn.com/scalegp/1vQnbXFkjbQbcgd1/favicon.png?fit=max\u0026auto=format\u0026n=1vQnbXFkjbQbcgd1\u0026q=85\u0026s=f52c84ba46a7cca58551673616dabe9c","background":{"decoration":"windows"},"navbar":{"links":[],"primary":{"type":"button","label":"Platform","href":"https://app.sgp.scale.com/"}},"footer":{"socials":{"x":"https://x.com/scale_ai","facebook":"https://www.facebook.com/scaleapi","linkedin":"https://www.linkedin.com/company/scaleai"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"scalegp","hasAudioNarration":false,"actualSubdomain":"scalegp","customDomains":["docs.gp.scale.com"],"gitSource":{"type":"github","owner":"scaleapi","repo":"sgp-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aecf0ec6829c68a2fb0d3c8","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"API Reference","count":235},{"language":"default","tag":"AgentOps API","count":141},{"language":"default","tag":"Guides","count":131},{"language":"default","tag":"Agentex API","count":97},{"language":"default","tag":"Evaluations","count":72},{"language":"default","tag":"Dex API","count":48},{"language":"default","tag":"Agents","count":44},{"language":"default","tag":"Evaluation Datasets","count":34},{"language":"default","tag":"Models","count":32},{"language":"default","tag":"Knowledge Bases","count":31}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":"@font-face{font-family:'Aeonik';src:url('https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.woff2');font-weight:normal;font-style:normal;font-display:swap}h1,h2,h3{font-family:'aeonik';letter-spacing:normal!important}"}],"page":{"pagePath":"reference/dex/data-sources/link-project-data-source","slug":"/reference/dex/data-sources/link-project-data-source","pageMetadata":{"title":"Link Project Data Source","description":"Link an existing Data Sources connector and create DEX webhook subscription.","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/data-sources","href":"/reference/dex/data-sources/link-project-data-source","autogeneratedByOpenApi":true},"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: \"Link an existing Data Sources connector and create DEX webhook subscription.\"\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}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Link Project Data Source","description":"Link an existing Data Sources connector and create DEX webhook subscription.","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/data-sources","href":"/reference/dex/data-sources/link-project-data-source","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Data sources"],"summary":"Link Project Data Source","description":"Link an existing Data Sources connector and create DEX webhook subscription.","operationId":"link_project_data_source_v1_projects__project_id__data_sources_post","parameters":["68900b3f-2686-406d-89cd-7d842ad0815d"],"requestBody":"af45e065-8c2c-4548-808c-502989890f7f","responses":{"201":"0f6e6e1e-d1d2-4dca-8b71-c55e6c60d038","422":"d4a18963-1e6e-4ce4-bf16-5f71b19a6e29"},"method":"post","type":"path","servers":[],"security":["3d5b6088-a4a5-4a82-8450-48a5ac5593af"],"path":"/v1/projects/{project_id}/data-sources","baseUrlOptions":[],"title":"Link Project Data Source","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"68900b3f-2686-406d-89cd-7d842ad0815d":{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id","isRequired":true,"uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"data_sources_data_source_id":{"oneOf":[{"type":"string","title":"Data Sources Data Source Id","description":"Existing Data Sources service data source id to link.","format":"uuid","uniqueKey":"data_sources_data_source_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","title":"Data Sources Data Source Id","description":"Existing Data Sources service data source id to link.","uniqueKey":"data_sources_data_source_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data_sources_data_source_id","typeLabel":"string\u003cuuid> | null"},"connector":{"oneOf":[{"type":"object","title":"SharePointDataSourceCreate","description":"Config for a new connector to create and link (project-owned).","required":["name","type","credentials","config"],"properties":{"name":{"type":"string","title":"Name","isRequired":true,"uniqueKey":"connector.oneOf.0.name","typeLabel":"string"},"type":{"type":"string","const":"sharepoint","title":"Type","isRequired":true,"uniqueKey":"connector.oneOf.0.type","typeLabel":"string"},"credentials":{"oneOf":[{"type":"object","title":"SharePointClientCredentials","required":["type","creds"],"properties":{"type":{"type":"string","const":"client_credentials","title":"Type","isRequired":true,"uniqueKey":"connector.oneOf.0.credentials.oneOf.0.type","typeLabel":"string"},"creds":{"properties":{"client_id":{"type":"string","title":"Client Id","isRequired":true,"uniqueKey":"connector.oneOf.0.credentials.oneOf.0.creds.client_id","typeLabel":"string"},"client_secret":{"type":"string","title":"Client Secret","isRequired":true,"uniqueKey":"connector.oneOf.0.credentials.oneOf.0.creds.client_secret","typeLabel":"string"},"tenant_id":{"oneOf":[{"type":"string","title":"Tenant Id","uniqueKey":"connector.oneOf.0.credentials.oneOf.0.creds.tenant_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Tenant Id","uniqueKey":"connector.oneOf.0.credentials.oneOf.0.creds.tenant_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"connector.oneOf.0.credentials.oneOf.0.creds.tenant_id","typeLabel":"string | null"}},"additionalProperties":false,"type":"object","required":["client_id","client_secret"],"title":"ClientCredentials","isRequired":true,"uniqueKey":"connector.oneOf.0.credentials.oneOf.0.creds","typeLabel":"ClientCredentials · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"connector.oneOf.0.credentials.oneOf.0","typeLabel":"SharePointClientCredentials · object"},{"type":"object","title":"SharePointCertificateCredentials","required":["type","creds"],"properties":{"type":{"type":"string","const":"certificate_credentials","title":"Type","isRequired":true,"uniqueKey":"connector.oneOf.0.credentials.oneOf.1.type","typeLabel":"string"},"creds":{"properties":{"client_id":{"type":"string","title":"Client Id","isRequired":true,"uniqueKey":"connector.oneOf.0.credentials.oneOf.1.creds.client_id","typeLabel":"string"},"private_key":{"type":"string","title":"Private Key","isRequired":true,"uniqueKey":"connector.oneOf.0.credentials.oneOf.1.creds.private_key","typeLabel":"string"},"certificate_thumbprint":{"type":"string","title":"Certificate Thumbprint","isRequired":true,"uniqueKey":"connector.oneOf.0.credentials.oneOf.1.creds.certificate_thumbprint","typeLabel":"string"},"tenant_id":{"oneOf":[{"type":"string","title":"Tenant Id","uniqueKey":"connector.oneOf.0.credentials.oneOf.1.creds.tenant_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Tenant Id","uniqueKey":"connector.oneOf.0.credentials.oneOf.1.creds.tenant_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"connector.oneOf.0.credentials.oneOf.1.creds.tenant_id","typeLabel":"string | null"}},"additionalProperties":false,"type":"object","required":["client_id","private_key","certificate_thumbprint"],"title":"CertificateCredentials","isRequired":true,"uniqueKey":"connector.oneOf.0.credentials.oneOf.1.creds","typeLabel":"CertificateCredentials · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"connector.oneOf.0.credentials.oneOf.1","typeLabel":"SharePointCertificateCredentials · object"}],"isRequired":true,"uniqueKey":"connector.oneOf.0.credentials","typeLabel":"SharePointClientCredentials · object | SharePointCertificateCredentials · object"},"config":{"oneOf":[{"type":"object","title":"SharePointGraphConfig","required":["tenant_id"],"properties":{"tenant_id":{"type":"string","title":"Tenant Id","isRequired":true,"uniqueKey":"connector.oneOf.0.config.oneOf.0.tenant_id","typeLabel":"string"},"api_type":{"type":"string","const":"graph","title":"Api Type","default":"graph","uniqueKey":"connector.oneOf.0.config.oneOf.0.api_type","typeLabel":"string"},"site_url":{"oneOf":[{"type":"string","title":"Site Url","format":"uri","minLength":1,"uniqueKey":"connector.oneOf.0.config.oneOf.0.site_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","title":"Site Url","uniqueKey":"connector.oneOf.0.config.oneOf.0.site_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"connector.oneOf.0.config.oneOf.0.site_url","typeLabel":"string\u003curi> | null"},"site_id":{"oneOf":[{"type":"string","title":"Site Id","uniqueKey":"connector.oneOf.0.config.oneOf.0.site_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Site Id","uniqueKey":"connector.oneOf.0.config.oneOf.0.site_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"connector.oneOf.0.config.oneOf.0.site_id","typeLabel":"string | null"},"drive_id":{"oneOf":[{"type":"string","title":"Drive Id","uniqueKey":"connector.oneOf.0.config.oneOf.0.drive_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Drive Id","uniqueKey":"connector.oneOf.0.config.oneOf.0.drive_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"connector.oneOf.0.config.oneOf.0.drive_id","typeLabel":"string | null"},"folder_path":{"oneOf":[{"type":"string","title":"Folder Path","uniqueKey":"connector.oneOf.0.config.oneOf.0.folder_path.oneOf.0","typeLabel":"string"},{"type":"null","title":"Folder Path","uniqueKey":"connector.oneOf.0.config.oneOf.0.folder_path.oneOf.1","typeLabel":"null"}],"uniqueKey":"connector.oneOf.0.config.oneOf.0.folder_path","typeLabel":"string | null"},"token_exchange":{"properties":{"user_token_header":{"type":"string","minLength":1,"title":"User Token Header","default":"X-User-Access-Token","uniqueKey":"connector.oneOf.0.config.oneOf.0.token_exchange.user_token_header","typeLabel":"string"},"user_assertion_scope":{"oneOf":[{"type":"string","title":"User Assertion Scope","minLength":1,"uniqueKey":"connector.oneOf.0.config.oneOf.0.token_exchange.user_assertion_scope.oneOf.0","typeLabel":"string"},{"type":"null","title":"User Assertion Scope","uniqueKey":"connector.oneOf.0.config.oneOf.0.token_exchange.user_assertion_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"connector.oneOf.0.config.oneOf.0.token_exchange.user_assertion_scope","typeLabel":"string | null"}},"additionalProperties":false,"type":"object","title":"TokenExchangeConfig","uniqueKey":"connector.oneOf.0.config.oneOf.0.token_exchange","typeLabel":"TokenExchangeConfig · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"connector.oneOf.0.config.oneOf.0","typeLabel":"SharePointGraphConfig · object"},{"type":"object","title":"SharePointRestConfig","required":["tenant_id","site_url","list_id"],"properties":{"tenant_id":{"type":"string","title":"Tenant Id","isRequired":true,"uniqueKey":"connector.oneOf.0.config.oneOf.1.tenant_id","typeLabel":"string"},"site_url":{"type":"string","minLength":1,"format":"uri","title":"Site Url","isRequired":true,"uniqueKey":"connector.oneOf.0.config.oneOf.1.site_url","typeLabel":"string\u003curi>"},"list_id":{"type":"string","title":"List Id","isRequired":true,"uniqueKey":"connector.oneOf.0.config.oneOf.1.list_id","typeLabel":"string"},"api_type":{"type":"string","const":"sharepoint_rest","title":"Api Type","default":"sharepoint_rest","uniqueKey":"connector.oneOf.0.config.oneOf.1.api_type","typeLabel":"string"},"folder_server_relative_url":{"oneOf":[{"type":"string","title":"Folder Server Relative Url","uniqueKey":"connector.oneOf.0.config.oneOf.1.folder_server_relative_url.oneOf.0","typeLabel":"string"},{"type":"null","title":"Folder Server Relative Url","uniqueKey":"connector.oneOf.0.config.oneOf.1.folder_server_relative_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"connector.oneOf.0.config.oneOf.1.folder_server_relative_url","typeLabel":"string | null"},"token_exchange":{"properties":{"user_token_header":{"type":"string","minLength":1,"title":"User Token Header","default":"X-User-Access-Token","uniqueKey":"connector.oneOf.0.config.oneOf.1.token_exchange.user_token_header","typeLabel":"string"},"user_assertion_scope":{"oneOf":[{"type":"string","title":"User Assertion Scope","minLength":1,"uniqueKey":"connector.oneOf.0.config.oneOf.1.token_exchange.user_assertion_scope.oneOf.0","typeLabel":"string"},{"type":"null","title":"User Assertion Scope","uniqueKey":"connector.oneOf.0.config.oneOf.1.token_exchange.user_assertion_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"connector.oneOf.0.config.oneOf.1.token_exchange.user_assertion_scope","typeLabel":"string | null"}},"additionalProperties":false,"type":"object","title":"TokenExchangeConfig","uniqueKey":"connector.oneOf.0.config.oneOf.1.token_exchange","typeLabel":"TokenExchangeConfig · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"connector.oneOf.0.config.oneOf.1","typeLabel":"SharePointRestConfig · object"}],"isRequired":true,"uniqueKey":"connector.oneOf.0.config","typeLabel":"SharePointGraphConfig · object | SharePointRestConfig · object"},"sync":{"type":"boolean","title":"Sync","default":true,"uniqueKey":"connector.oneOf.0.sync","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"connector.oneOf.0","typeLabel":"SharePointDataSourceCreate · object"},{"type":"object","title":"GoogleDriveDataSourceCreate","description":"Config for a new connector to create and link (project-owned).","required":["name","type","credentials","config"],"properties":{"name":{"type":"string","title":"Name","isRequired":true,"uniqueKey":"connector.oneOf.1.name","typeLabel":"string"},"type":{"type":"string","const":"google_drive","title":"Type","isRequired":true,"uniqueKey":"connector.oneOf.1.type","typeLabel":"string"},"credentials":{"oneOf":[{"type":"object","title":"GoogleDriveServiceAccountCredentials","required":["type","creds"],"properties":{"type":{"type":"string","const":"service_account","title":"Type","isRequired":true,"uniqueKey":"connector.oneOf.1.credentials.oneOf.0.type","typeLabel":"string"},"creds":{"properties":{"client_email":{"type":"string","title":"Client Email","isRequired":true,"uniqueKey":"connector.oneOf.1.credentials.oneOf.0.creds.client_email","typeLabel":"string"},"private_key":{"type":"string","title":"Private Key","isRequired":true,"uniqueKey":"connector.oneOf.1.credentials.oneOf.0.creds.private_key","typeLabel":"string"},"token_uri":{"type":"string","title":"Token Uri","default":"https://oauth2.googleapis.com/token","uniqueKey":"connector.oneOf.1.credentials.oneOf.0.creds.token_uri","typeLabel":"string"},"scopes":{"items":{"type":"string","uniqueKey":"connector.oneOf.1.credentials.oneOf.0.creds.scopes.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Scopes","uniqueKey":"connector.oneOf.1.credentials.oneOf.0.creds.scopes","typeLabel":"string[]"}},"additionalProperties":false,"type":"object","required":["client_email","private_key"],"title":"GoogleServiceAccountCredentials","isRequired":true,"uniqueKey":"connector.oneOf.1.credentials.oneOf.0.creds","typeLabel":"GoogleServiceAccountCredentials · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"connector.oneOf.1.credentials.oneOf.0","typeLabel":"GoogleDriveServiceAccountCredentials · object"},{"type":"object","title":"GoogleDriveRefreshTokenCredentials","required":["type","creds"],"properties":{"type":{"type":"string","const":"refresh_token","title":"Type","isRequired":true,"uniqueKey":"connector.oneOf.1.credentials.oneOf.1.type","typeLabel":"string"},"creds":{"properties":{"client_id":{"type":"string","title":"Client Id","isRequired":true,"uniqueKey":"connector.oneOf.1.credentials.oneOf.1.creds.client_id","typeLabel":"string"},"client_secret":{"type":"string","title":"Client Secret","isRequired":true,"uniqueKey":"connector.oneOf.1.credentials.oneOf.1.creds.client_secret","typeLabel":"string"},"refresh_token":{"type":"string","title":"Refresh Token","isRequired":true,"uniqueKey":"connector.oneOf.1.credentials.oneOf.1.creds.refresh_token","typeLabel":"string"}},"additionalProperties":false,"type":"object","required":["client_id","client_secret","refresh_token"],"title":"GoogleRefreshTokenCredentials","isRequired":true,"uniqueKey":"connector.oneOf.1.credentials.oneOf.1.creds","typeLabel":"GoogleRefreshTokenCredentials · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"connector.oneOf.1.credentials.oneOf.1","typeLabel":"GoogleDriveRefreshTokenCredentials · object"}],"isRequired":true,"uniqueKey":"connector.oneOf.1.credentials","typeLabel":"GoogleDriveServiceAccountCredentials · object | GoogleDriveRefreshTokenCredentials · object"},"config":{"properties":{"drive_id":{"oneOf":[{"type":"string","title":"Drive Id","uniqueKey":"connector.oneOf.1.config.drive_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Drive Id","uniqueKey":"connector.oneOf.1.config.drive_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"connector.oneOf.1.config.drive_id","typeLabel":"string | null"},"folder_id":{"oneOf":[{"type":"string","title":"Folder Id","uniqueKey":"connector.oneOf.1.config.folder_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Folder Id","uniqueKey":"connector.oneOf.1.config.folder_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"connector.oneOf.1.config.folder_id","typeLabel":"string | null"},"include_shared_drives":{"type":"boolean","title":"Include Shared Drives","default":false,"uniqueKey":"connector.oneOf.1.config.include_shared_drives","typeLabel":"boolean"}},"additionalProperties":false,"type":"object","title":"GoogleDriveConfig","isRequired":true,"uniqueKey":"connector.oneOf.1.config","typeLabel":"GoogleDriveConfig · object"},"sync":{"type":"boolean","title":"Sync","default":true,"uniqueKey":"connector.oneOf.1.sync","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"connector.oneOf.1","typeLabel":"GoogleDriveDataSourceCreate · object"},{"type":"object","title":"ConfluenceDataSourceCreate","description":"Config for a new connector to create and link (project-owned).","required":["name","type","credentials","config"],"properties":{"name":{"type":"string","title":"Name","isRequired":true,"uniqueKey":"connector.oneOf.2.name","typeLabel":"string"},"type":{"type":"string","const":"confluence","title":"Type","isRequired":true,"uniqueKey":"connector.oneOf.2.type","typeLabel":"string"},"credentials":{"properties":{"type":{"type":"string","const":"api_token","title":"Type","isRequired":true,"uniqueKey":"connector.oneOf.2.credentials.type","typeLabel":"string"},"creds":{"properties":{"username":{"type":"string","title":"Username","isRequired":true,"uniqueKey":"connector.oneOf.2.credentials.creds.username","typeLabel":"string"},"api_token":{"type":"string","title":"Api Token","isRequired":true,"uniqueKey":"connector.oneOf.2.credentials.creds.api_token","typeLabel":"string"}},"additionalProperties":false,"type":"object","required":["username","api_token"],"title":"ConfluenceApiTokenCredentials","isRequired":true,"uniqueKey":"connector.oneOf.2.credentials.creds","typeLabel":"ConfluenceApiTokenCredentials · object"}},"additionalProperties":false,"type":"object","required":["type","creds"],"title":"ConfluenceApiTokenDataSourceCredentials","isRequired":true,"uniqueKey":"connector.oneOf.2.credentials","typeLabel":"ConfluenceApiTokenDataSourceCredentials · object"},"config":{"properties":{"base_url":{"type":"string","title":"Base Url","isRequired":true,"uniqueKey":"connector.oneOf.2.config.base_url","typeLabel":"string"},"space_id":{"oneOf":[{"type":"string","title":"Space Id","uniqueKey":"connector.oneOf.2.config.space_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Space Id","uniqueKey":"connector.oneOf.2.config.space_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"connector.oneOf.2.config.space_id","typeLabel":"string | null"},"cql_scope":{"oneOf":[{"type":"string","title":"Cql Scope","uniqueKey":"connector.oneOf.2.config.cql_scope.oneOf.0","typeLabel":"string"},{"type":"null","title":"Cql Scope","uniqueKey":"connector.oneOf.2.config.cql_scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"connector.oneOf.2.config.cql_scope","typeLabel":"string | null"}},"additionalProperties":false,"type":"object","required":["base_url"],"title":"ConfluenceConfig","isRequired":true,"uniqueKey":"connector.oneOf.2.config","typeLabel":"ConfluenceConfig · object"},"sync":{"type":"boolean","title":"Sync","default":true,"uniqueKey":"connector.oneOf.2.sync","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"connector.oneOf.2","typeLabel":"ConfluenceDataSourceCreate · object"},{"type":"null","title":"Connector","description":"Config for a new connector to create and link (project-owned).","uniqueKey":"connector.oneOf.3","typeLabel":"null"}],"uniqueKey":"connector","typeLabel":"SharePointDataSourceCreate · object | GoogleDriveDataSourceCreate · object | ConfluenceDataSourceCreate · object | null"},"workflow":{"oneOf":[{"type":"object","title":"WorkflowDefinition","description":"Workflow definition to trigger for datasource change events.","properties":{"name":{"oneOf":[{"type":"string","title":"Name","maxLength":255,"uniqueKey":"workflow.oneOf.0.name.oneOf.0","typeLabel":"string"},{"type":"null","title":"Name","uniqueKey":"workflow.oneOf.0.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.name","typeLabel":"string | null"},"steps":{"properties":{"parse":{"oneOf":[{"type":"object","title":"ReductoParseJobParams","description":"Parameters for creating a parse job.","required":["options"],"properties":{"options":{"properties":{"chunking":{"oneOf":[{"type":"object","title":"ReductoChunkingOptions","description":"Chunking options","properties":{"chunk_mode":{"type":"string","enum":["disabled","block","page","page_sections","section","variable"],"title":"ReductoChunkingMethod","description":"Chunking method","default":"variable","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.options.chunking.oneOf.0.chunk_mode","typeLabel":"enum\u003cstring>"},"chunk_size":{"oneOf":[{"type":"integer","title":"Chunk Size","description":"Chunk size","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.options.chunking.oneOf.0.chunk_size.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Chunk Size","description":"Chunk size","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.options.chunking.oneOf.0.chunk_size.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.options.chunking.oneOf.0.chunk_size","typeLabel":"integer | null"}},"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.options.chunking.oneOf.0","typeLabel":"ReductoChunkingOptions · object"},{"type":"null","description":"Chunking options","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.options.chunking.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.options.chunking","typeLabel":"ReductoChunkingOptions · object | null"}},"additionalProperties":true,"type":"object","title":"ReductoParseEngineOptions","description":"Options","isRequired":true,"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.options","typeLabel":"ReductoParseEngineOptions · object"},"engine":{"type":"string","const":"reducto","title":"Engine","description":"Engine","default":"reducto","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.engine","typeLabel":"string"},"chunking_options":{"oneOf":[{"type":"object","title":"TokenSizeChunkingOptions","description":"Token-based chunking: Splits text into chunks by token count using a tokenizer (e.g., tiktoken). Best for LLM APIs with token limits, embedding models, and cost optimization. Use when you need precise control over token usage.","properties":{"strategy":{"type":"string","const":"token_size","title":"Strategy","description":"The chunking strategy","default":"token_size","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.chunking_options.oneOf.0.strategy","typeLabel":"string"},"chunk_size":{"type":"integer","exclusiveMinimum":0,"title":"Chunk Size","description":"Target size of each chunk in tokens","default":512,"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.chunking_options.oneOf.0.chunk_size","typeLabel":"integer"},"chunk_overlap":{"type":"integer","minimum":0,"title":"Chunk Overlap","description":"Number of overlapping tokens between chunks","default":50,"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.chunking_options.oneOf.0.chunk_overlap","typeLabel":"integer"},"encoding_name":{"type":"string","title":"Encoding Name","description":"Tiktoken encoding name (e.g., cl100k_base for GPT-4)","default":"cl100k_base","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.chunking_options.oneOf.0.encoding_name","typeLabel":"string"}},"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.chunking_options.oneOf.0","typeLabel":"TokenSizeChunkingOptions · object"},{"type":"object","title":"RecursiveChunkingOptions","description":"Recursive text splitting: Uses a hierarchy of separators (paragraphs → sentences → words) to preserve natural text boundaries. Best for articles, documentation, and RAG systems where readability and semantic coherence matter.","properties":{"strategy":{"type":"string","const":"recursive","title":"Strategy","description":"The chunking strategy","default":"recursive","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.chunking_options.oneOf.1.strategy","typeLabel":"string"},"chunk_size":{"type":"integer","exclusiveMinimum":0,"title":"Chunk Size","description":"Target size of each chunk in characters","default":1000,"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.chunking_options.oneOf.1.chunk_size","typeLabel":"integer"},"chunk_overlap":{"type":"integer","minimum":0,"title":"Chunk Overlap","description":"Number of overlapping characters between chunks","default":200,"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.chunking_options.oneOf.1.chunk_overlap","typeLabel":"integer"},"separators":{"items":{"type":"string","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.chunking_options.oneOf.1.separators.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Separators","description":"List of separators to try in order","default":["\n\n","\n"," ",""],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.chunking_options.oneOf.1.separators","typeLabel":"string[]"},"keep_separator":{"type":"boolean","title":"Keep Separator","description":"Whether to keep the separator in the chunks","default":true,"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.chunking_options.oneOf.1.keep_separator","typeLabel":"boolean"}},"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.chunking_options.oneOf.1","typeLabel":"RecursiveChunkingOptions · object"},{"type":"object","title":"PageChunkingOptions","description":"Page-based chunking: Splits documents by page boundaries, grouping complete pages together. Best for legal documents, forms, and reports where page references are important and page structure should be preserved.","properties":{"strategy":{"type":"string","const":"by_page","title":"Strategy","description":"The chunking strategy","default":"by_page","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.chunking_options.oneOf.2.strategy","typeLabel":"string"},"pages_per_chunk":{"type":"integer","exclusiveMinimum":0,"title":"Pages Per Chunk","description":"Number of pages to include in each chunk","default":1,"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.chunking_options.oneOf.2.pages_per_chunk","typeLabel":"integer"}},"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.chunking_options.oneOf.2","typeLabel":"PageChunkingOptions · object"},{"type":"object","title":"SectionChunkingOptions","description":"Section-based chunking: Splits text by section headers (e.g., markdown #, ##, ###) to keep complete topics together. Best for structured documents like technical manuals, wikis, and academic papers where semantic coherence within topics is crucial.","properties":{"strategy":{"type":"string","const":"by_section","title":"Strategy","description":"The chunking strategy","default":"by_section","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.chunking_options.oneOf.3.strategy","typeLabel":"string"},"section_headers":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.chunking_options.oneOf.3.section_headers.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Section Headers","description":"Markdown-style headers that denote sections","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.chunking_options.oneOf.3.section_headers.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Section Headers","description":"Markdown-style headers that denote sections","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.chunking_options.oneOf.3.section_headers.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.chunking_options.oneOf.3.section_headers","typeLabel":"string[] | null"},"include_header_in_chunk":{"type":"boolean","title":"Include Header In Chunk","description":"Whether to include the section header in the chunk","default":true,"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.chunking_options.oneOf.3.include_header_in_chunk","typeLabel":"boolean"}},"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.chunking_options.oneOf.3","typeLabel":"SectionChunkingOptions · object"},{"type":"null","title":"Chunking Options","description":"Chunking options","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.chunking_options.oneOf.4","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.chunking_options","typeLabel":"TokenSizeChunkingOptions · object | RecursiveChunkingOptions · object | PageChunkingOptions · object | SectionChunkingOptions · object | null"},"vector_store_metadata":{"oneOf":[{"type":"object","title":"Vector Store Metadata","description":"Metadata to populate into the vector store to filter on when searching","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.vector_store_metadata.oneOf.0.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.vector_store_metadata.oneOf.0.additionalProperties.oneOf.1","typeLabel":"integer"},{"type":"number","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.vector_store_metadata.oneOf.0.additionalProperties.oneOf.2","typeLabel":"number"},{"type":"boolean","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.vector_store_metadata.oneOf.0.additionalProperties.oneOf.3","typeLabel":"boolean"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.vector_store_metadata.oneOf.0.additionalProperties","typeLabel":"string | integer | number | boolean"},"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.vector_store_metadata.oneOf.0","typeLabel":"Vector Store Metadata · object"},{"type":"null","title":"Vector Store Metadata","description":"Metadata to populate into the vector store to filter on when searching","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.vector_store_metadata.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.vector_store_metadata","typeLabel":"Vector Store Metadata · object | null"},"advanced_options":{"additionalProperties":true,"type":"object","title":"Advanced Options","description":"Advanced options","default":{},"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.advanced_options","typeLabel":"Advanced Options · object"},"experimental_options":{"additionalProperties":true,"type":"object","title":"Experimental Options","description":"Experimental options","default":{},"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.experimental_options","typeLabel":"Experimental Options · object"},"priority":{"type":"boolean","title":"Priority","description":"Priority","default":false,"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0.priority","typeLabel":"boolean"}},"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.0","typeLabel":"ReductoParseJobParams · object"},{"type":"object","title":"IrisParseJobParams","required":["options"],"properties":{"options":{"properties":{"layout":{"oneOf":[{"type":"string","title":"Layout","description":"Layout detection model to use","enum":["rt_detr_bce","pp_doclayout_v3","whole_page"],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.layout.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Layout","description":"Layout detection model to use","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.layout.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.layout","typeLabel":"enum\u003cstring> | null"},"text_ocr":{"oneOf":[{"type":"string","title":"Text Ocr","description":"Text OCR model to use","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.text_ocr.oneOf.0","typeLabel":"string"},{"type":"null","title":"Text Ocr","description":"Text OCR model to use","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.text_ocr.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.text_ocr","typeLabel":"string | null"},"table_ocr":{"oneOf":[{"type":"string","title":"Table Ocr","description":"Table OCR model to use","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.table_ocr.oneOf.0","typeLabel":"string"},{"type":"null","title":"Table Ocr","description":"Table OCR model to use","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.table_ocr.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.table_ocr","typeLabel":"string | null"},"model_parameters":{"oneOf":[{"type":"object","title":"Model Parameters","description":"Extra parameters passed to LLM inference calls (e.g. max_tokens, temperature). Merged into the request payload; user-supplied values override defaults.","additionalProperties":true,"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.model_parameters.oneOf.0","typeLabel":"Model Parameters · object"},{"type":"null","title":"Model Parameters","description":"Extra parameters passed to LLM inference calls (e.g. max_tokens, temperature). Merged into the request payload; user-supplied values override defaults.","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.model_parameters.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.model_parameters","typeLabel":"Model Parameters · object | null"},"bbox_soft_timeout_seconds":{"oneOf":[{"type":"number","title":"Bbox Soft Timeout Seconds","description":"Per-region OCR soft-timeout in seconds. If a single region's extraction (including retries) exceeds this, that region is degraded to empty content with an error rather than failing the page. When unset, a layout-aware default applies (higher for whole_page / e2e_ocr than region-based layouts).","minimum":0,"exclusiveMinimum":true,"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.bbox_soft_timeout_seconds.oneOf.0","typeLabel":"number"},{"type":"null","title":"Bbox Soft Timeout Seconds","description":"Per-region OCR soft-timeout in seconds. If a single region's extraction (including retries) exceeds this, that region is degraded to empty content with an error rather than failing the page. When unset, a layout-aware default applies (higher for whole_page / e2e_ocr than region-based layouts).","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.bbox_soft_timeout_seconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.bbox_soft_timeout_seconds","typeLabel":"number | null"},"text_prompt":{"oneOf":[{"type":"string","title":"Text Prompt","description":"Custom prompt for text extraction models (only used by VLMs)","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.text_prompt.oneOf.0","typeLabel":"string"},{"type":"null","title":"Text Prompt","description":"Custom prompt for text extraction models (only used by VLMs)","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.text_prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.text_prompt","typeLabel":"string | null"},"table_prompt":{"oneOf":[{"type":"string","title":"Table Prompt","description":"Custom prompt for table extraction models (only used by VLMs)","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.table_prompt.oneOf.0","typeLabel":"string"},{"type":"null","title":"Table Prompt","description":"Custom prompt for table extraction models (only used by VLMs)","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.table_prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.table_prompt","typeLabel":"string | null"},"left_to_right":{"oneOf":[{"type":"boolean","title":"Left To Right","description":"Sort regions left-to-right instead of right-to-left when doing Markdown assembly (default: False)","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.left_to_right.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Left To Right","description":"Sort regions left-to-right instead of right-to-left when doing Markdown assembly (default: False)","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.left_to_right.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.left_to_right","typeLabel":"boolean | null"},"confidence_threshold":{"oneOf":[{"type":"number","title":"Confidence Threshold","description":"Minimum confidence threshold for layout detection boxes","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.confidence_threshold.oneOf.0","typeLabel":"number"},{"type":"null","title":"Confidence Threshold","description":"Minimum confidence threshold for layout detection boxes","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.confidence_threshold.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.confidence_threshold","typeLabel":"number | null"},"containment_threshold":{"oneOf":[{"type":"number","title":"Containment Threshold","description":"Containment threshold for filtering. If smaller box is X% contained in larger box, drop it.","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.containment_threshold.oneOf.0","typeLabel":"number"},{"type":"null","title":"Containment Threshold","description":"Containment threshold for filtering. If smaller box is X% contained in larger box, drop it.","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.containment_threshold.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.containment_threshold","typeLabel":"number | null"},"img_method":{"oneOf":[{"type":"string","title":"Img Method","description":"Image embedding method: description (LLM-generated), base64 (self-contained), skip (ignore images)","enum":["base64","description","skip"],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.img_method.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Img Method","description":"Image embedding method: description (LLM-generated), base64 (self-contained), skip (ignore images)","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.img_method.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.img_method","typeLabel":"enum\u003cstring> | null"},"text_system_prompt":{"oneOf":[{"type":"string","title":"Text System Prompt","description":"Custom system prompt for text extraction models (only used by VLMs)","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.text_system_prompt.oneOf.0","typeLabel":"string"},{"type":"null","title":"Text System Prompt","description":"Custom system prompt for text extraction models (only used by VLMs)","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.text_system_prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.text_system_prompt","typeLabel":"string | null"},"table_confidence_threshold":{"oneOf":[{"type":"number","title":"Table Confidence Threshold","description":"Minimum confidence threshold for layout detection boxes that are labelled as tables","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.table_confidence_threshold.oneOf.0","typeLabel":"number"},{"type":"null","title":"Table Confidence Threshold","description":"Minimum confidence threshold for layout detection boxes that are labelled as tables","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.table_confidence_threshold.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.table_confidence_threshold","typeLabel":"number | null"},"image_confidence_threshold":{"oneOf":[{"type":"number","title":"Image Confidence Threshold","description":"Minimum confidence threshold for layout detection boxes that are labelled as images","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.image_confidence_threshold.oneOf.0","typeLabel":"number"},{"type":"null","title":"Image Confidence Threshold","description":"Minimum confidence threshold for layout detection boxes that are labelled as images","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.image_confidence_threshold.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.image_confidence_threshold","typeLabel":"number | null"},"strict_containment_filter":{"oneOf":[{"type":"boolean","title":"Strict Containment Filter","description":"If True, then filters out all boxes that are contained in a larger box, if False, it only filters out boxes of the same type (e.g it still extracts text boxes from inside images.)","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.strict_containment_filter.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Strict Containment Filter","description":"If True, then filters out all boxes that are contained in a larger box, if False, it only filters out boxes of the same type (e.g it still extracts text boxes from inside images.)","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.strict_containment_filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.strict_containment_filter","typeLabel":"boolean | null"},"img_description_prompt":{"oneOf":[{"type":"string","title":"Img Description Prompt","description":"Custom prompt for image description (only used if img_method is 'description')","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.img_description_prompt.oneOf.0","typeLabel":"string"},{"type":"null","title":"Img Description Prompt","description":"Custom prompt for image description (only used if img_method is 'description')","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.img_description_prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.img_description_prompt","typeLabel":"string | null"},"image_description_model":{"oneOf":[{"type":"string","title":"Image Description Model","description":"LLM model to use for image descriptions (only used if img_method is 'description'). Examples: 'gpt-4o', 'gemini', 'gpt-4o-mini'","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.image_description_model.oneOf.0","typeLabel":"string"},{"type":"null","title":"Image Description Model","description":"LLM model to use for image descriptions (only used if img_method is 'description'). Examples: 'gpt-4o', 'gemini', 'gpt-4o-mini'","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.image_description_model.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.image_description_model","typeLabel":"string | null"},"e2e_ocr":{"oneOf":[{"type":"string","title":"E2E Ocr","description":"End-to-end OCR model that performs layout and content extraction simultaneously via the SGP API. When specified, bypasses layout detection and sends the full page image to this model. Mutually exclusive with layout/text_ocr/table_ocr. Example: 'openai/gpt-4o'","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.e2e_ocr.oneOf.0","typeLabel":"string"},{"type":"null","title":"E2E Ocr","description":"End-to-end OCR model that performs layout and content extraction simultaneously via the SGP API. When specified, bypasses layout detection and sends the full page image to this model. Mutually exclusive with layout/text_ocr/table_ocr. Example: 'openai/gpt-4o'","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.e2e_ocr.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.e2e_ocr","typeLabel":"string | null"},"e2e_response_parser":{"oneOf":[{"type":"string","title":"E2E Response Parser","description":"Response parser for the e2e OCR model. Required when e2e_ocr is set so the raw model output can be parsed into per-region bounding boxes. Example: 'deepseek_ocr2'","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.e2e_response_parser.oneOf.0","typeLabel":"string"},{"type":"null","title":"E2E Response Parser","description":"Response parser for the e2e OCR model. Required when e2e_ocr is set so the raw model output can be parsed into per-region bounding boxes. Example: 'deepseek_ocr2'","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.e2e_response_parser.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.e2e_response_parser","typeLabel":"string | null"},"e2e_prompt":{"oneOf":[{"type":"string","title":"E2E Prompt","description":"Custom prompt for end-to-end OCR model (only used when e2e_ocr is set)","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.e2e_prompt.oneOf.0","typeLabel":"string"},{"type":"null","title":"E2E Prompt","description":"Custom prompt for end-to-end OCR model (only used when e2e_ocr is set)","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.e2e_prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.e2e_prompt","typeLabel":"string | null"},"enable_table_substructure_recognition":{"type":"boolean","title":"Enable Table Substructure Recognition","description":"Attach per-row/column bounding boxes to table blocks for table-cell citations.","default":false,"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options.enable_table_substructure_recognition","typeLabel":"boolean"}},"type":"object","title":"IrisParseEngineOptions","description":"Options","isRequired":true,"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.options","typeLabel":"IrisParseEngineOptions · object"},"engine":{"type":"string","const":"iris","title":"Engine","description":"Engine","default":"iris","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.engine","typeLabel":"string"},"chunking_options":{"oneOf":[{"type":"object","title":"TokenSizeChunkingOptions","description":"Token-based chunking: Splits text into chunks by token count using a tokenizer (e.g., tiktoken). Best for LLM APIs with token limits, embedding models, and cost optimization. Use when you need precise control over token usage.","properties":{"strategy":{"type":"string","const":"token_size","title":"Strategy","description":"The chunking strategy","default":"token_size","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.chunking_options.oneOf.0.strategy","typeLabel":"string"},"chunk_size":{"type":"integer","exclusiveMinimum":0,"title":"Chunk Size","description":"Target size of each chunk in tokens","default":512,"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.chunking_options.oneOf.0.chunk_size","typeLabel":"integer"},"chunk_overlap":{"type":"integer","minimum":0,"title":"Chunk Overlap","description":"Number of overlapping tokens between chunks","default":50,"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.chunking_options.oneOf.0.chunk_overlap","typeLabel":"integer"},"encoding_name":{"type":"string","title":"Encoding Name","description":"Tiktoken encoding name (e.g., cl100k_base for GPT-4)","default":"cl100k_base","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.chunking_options.oneOf.0.encoding_name","typeLabel":"string"}},"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.chunking_options.oneOf.0","typeLabel":"TokenSizeChunkingOptions · object"},{"type":"object","title":"RecursiveChunkingOptions","description":"Recursive text splitting: Uses a hierarchy of separators (paragraphs → sentences → words) to preserve natural text boundaries. Best for articles, documentation, and RAG systems where readability and semantic coherence matter.","properties":{"strategy":{"type":"string","const":"recursive","title":"Strategy","description":"The chunking strategy","default":"recursive","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.chunking_options.oneOf.1.strategy","typeLabel":"string"},"chunk_size":{"type":"integer","exclusiveMinimum":0,"title":"Chunk Size","description":"Target size of each chunk in characters","default":1000,"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.chunking_options.oneOf.1.chunk_size","typeLabel":"integer"},"chunk_overlap":{"type":"integer","minimum":0,"title":"Chunk Overlap","description":"Number of overlapping characters between chunks","default":200,"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.chunking_options.oneOf.1.chunk_overlap","typeLabel":"integer"},"separators":{"items":{"type":"string","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.chunking_options.oneOf.1.separators.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Separators","description":"List of separators to try in order","default":["\n\n","\n"," ",""],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.chunking_options.oneOf.1.separators","typeLabel":"string[]"},"keep_separator":{"type":"boolean","title":"Keep Separator","description":"Whether to keep the separator in the chunks","default":true,"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.chunking_options.oneOf.1.keep_separator","typeLabel":"boolean"}},"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.chunking_options.oneOf.1","typeLabel":"RecursiveChunkingOptions · object"},{"type":"object","title":"PageChunkingOptions","description":"Page-based chunking: Splits documents by page boundaries, grouping complete pages together. Best for legal documents, forms, and reports where page references are important and page structure should be preserved.","properties":{"strategy":{"type":"string","const":"by_page","title":"Strategy","description":"The chunking strategy","default":"by_page","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.chunking_options.oneOf.2.strategy","typeLabel":"string"},"pages_per_chunk":{"type":"integer","exclusiveMinimum":0,"title":"Pages Per Chunk","description":"Number of pages to include in each chunk","default":1,"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.chunking_options.oneOf.2.pages_per_chunk","typeLabel":"integer"}},"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.chunking_options.oneOf.2","typeLabel":"PageChunkingOptions · object"},{"type":"object","title":"SectionChunkingOptions","description":"Section-based chunking: Splits text by section headers (e.g., markdown #, ##, ###) to keep complete topics together. Best for structured documents like technical manuals, wikis, and academic papers where semantic coherence within topics is crucial.","properties":{"strategy":{"type":"string","const":"by_section","title":"Strategy","description":"The chunking strategy","default":"by_section","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.chunking_options.oneOf.3.strategy","typeLabel":"string"},"section_headers":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.chunking_options.oneOf.3.section_headers.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Section Headers","description":"Markdown-style headers that denote sections","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.chunking_options.oneOf.3.section_headers.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Section Headers","description":"Markdown-style headers that denote sections","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.chunking_options.oneOf.3.section_headers.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.chunking_options.oneOf.3.section_headers","typeLabel":"string[] | null"},"include_header_in_chunk":{"type":"boolean","title":"Include Header In Chunk","description":"Whether to include the section header in the chunk","default":true,"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.chunking_options.oneOf.3.include_header_in_chunk","typeLabel":"boolean"}},"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.chunking_options.oneOf.3","typeLabel":"SectionChunkingOptions · object"},{"type":"null","title":"Chunking Options","description":"Chunking options","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.chunking_options.oneOf.4","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.chunking_options","typeLabel":"TokenSizeChunkingOptions · object | RecursiveChunkingOptions · object | PageChunkingOptions · object | SectionChunkingOptions · object | null"},"vector_store_metadata":{"oneOf":[{"type":"object","title":"Vector Store Metadata","description":"Metadata to populate into the vector store to filter on when searching","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.vector_store_metadata.oneOf.0.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.vector_store_metadata.oneOf.0.additionalProperties.oneOf.1","typeLabel":"integer"},{"type":"number","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.vector_store_metadata.oneOf.0.additionalProperties.oneOf.2","typeLabel":"number"},{"type":"boolean","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.vector_store_metadata.oneOf.0.additionalProperties.oneOf.3","typeLabel":"boolean"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.vector_store_metadata.oneOf.0.additionalProperties","typeLabel":"string | integer | number | boolean"},"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.vector_store_metadata.oneOf.0","typeLabel":"Vector Store Metadata · object"},{"type":"null","title":"Vector Store Metadata","description":"Metadata to populate into the vector store to filter on when searching","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.vector_store_metadata.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1.vector_store_metadata","typeLabel":"Vector Store Metadata · object | null"}},"uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.1","typeLabel":"IrisParseJobParams · object"},{"type":"null","title":"Parse","uniqueKey":"workflow.oneOf.0.steps.parse.oneOf.2","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.parse","typeLabel":"ReductoParseJobParams · object | IrisParseJobParams · object | null"},"chunk":{"oneOf":[{"type":"object","title":"TokenSizeChunkingOptions","description":"Token-based chunking: Splits text into chunks by token count using a tokenizer (e.g., tiktoken). Best for LLM APIs with token limits, embedding models, and cost optimization. Use when you need precise control over token usage.","properties":{"strategy":{"type":"string","const":"token_size","title":"Strategy","description":"The chunking strategy","default":"token_size","uniqueKey":"workflow.oneOf.0.steps.chunk.oneOf.0.strategy","typeLabel":"string"},"chunk_size":{"type":"integer","exclusiveMinimum":0,"title":"Chunk Size","description":"Target size of each chunk in tokens","default":512,"uniqueKey":"workflow.oneOf.0.steps.chunk.oneOf.0.chunk_size","typeLabel":"integer"},"chunk_overlap":{"type":"integer","minimum":0,"title":"Chunk Overlap","description":"Number of overlapping tokens between chunks","default":50,"uniqueKey":"workflow.oneOf.0.steps.chunk.oneOf.0.chunk_overlap","typeLabel":"integer"},"encoding_name":{"type":"string","title":"Encoding Name","description":"Tiktoken encoding name (e.g., cl100k_base for GPT-4)","default":"cl100k_base","uniqueKey":"workflow.oneOf.0.steps.chunk.oneOf.0.encoding_name","typeLabel":"string"}},"uniqueKey":"workflow.oneOf.0.steps.chunk.oneOf.0","typeLabel":"TokenSizeChunkingOptions · object"},{"type":"object","title":"RecursiveChunkingOptions","description":"Recursive text splitting: Uses a hierarchy of separators (paragraphs → sentences → words) to preserve natural text boundaries. Best for articles, documentation, and RAG systems where readability and semantic coherence matter.","properties":{"strategy":{"type":"string","const":"recursive","title":"Strategy","description":"The chunking strategy","default":"recursive","uniqueKey":"workflow.oneOf.0.steps.chunk.oneOf.1.strategy","typeLabel":"string"},"chunk_size":{"type":"integer","exclusiveMinimum":0,"title":"Chunk Size","description":"Target size of each chunk in characters","default":1000,"uniqueKey":"workflow.oneOf.0.steps.chunk.oneOf.1.chunk_size","typeLabel":"integer"},"chunk_overlap":{"type":"integer","minimum":0,"title":"Chunk Overlap","description":"Number of overlapping characters between chunks","default":200,"uniqueKey":"workflow.oneOf.0.steps.chunk.oneOf.1.chunk_overlap","typeLabel":"integer"},"separators":{"items":{"type":"string","uniqueKey":"workflow.oneOf.0.steps.chunk.oneOf.1.separators.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Separators","description":"List of separators to try in order","default":["\n\n","\n"," ",""],"uniqueKey":"workflow.oneOf.0.steps.chunk.oneOf.1.separators","typeLabel":"string[]"},"keep_separator":{"type":"boolean","title":"Keep Separator","description":"Whether to keep the separator in the chunks","default":true,"uniqueKey":"workflow.oneOf.0.steps.chunk.oneOf.1.keep_separator","typeLabel":"boolean"}},"uniqueKey":"workflow.oneOf.0.steps.chunk.oneOf.1","typeLabel":"RecursiveChunkingOptions · object"},{"type":"object","title":"PageChunkingOptions","description":"Page-based chunking: Splits documents by page boundaries, grouping complete pages together. Best for legal documents, forms, and reports where page references are important and page structure should be preserved.","properties":{"strategy":{"type":"string","const":"by_page","title":"Strategy","description":"The chunking strategy","default":"by_page","uniqueKey":"workflow.oneOf.0.steps.chunk.oneOf.2.strategy","typeLabel":"string"},"pages_per_chunk":{"type":"integer","exclusiveMinimum":0,"title":"Pages Per Chunk","description":"Number of pages to include in each chunk","default":1,"uniqueKey":"workflow.oneOf.0.steps.chunk.oneOf.2.pages_per_chunk","typeLabel":"integer"}},"uniqueKey":"workflow.oneOf.0.steps.chunk.oneOf.2","typeLabel":"PageChunkingOptions · object"},{"type":"object","title":"SectionChunkingOptions","description":"Section-based chunking: Splits text by section headers (e.g., markdown #, ##, ###) to keep complete topics together. Best for structured documents like technical manuals, wikis, and academic papers where semantic coherence within topics is crucial.","properties":{"strategy":{"type":"string","const":"by_section","title":"Strategy","description":"The chunking strategy","default":"by_section","uniqueKey":"workflow.oneOf.0.steps.chunk.oneOf.3.strategy","typeLabel":"string"},"section_headers":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"workflow.oneOf.0.steps.chunk.oneOf.3.section_headers.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Section Headers","description":"Markdown-style headers that denote sections","uniqueKey":"workflow.oneOf.0.steps.chunk.oneOf.3.section_headers.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Section Headers","description":"Markdown-style headers that denote sections","uniqueKey":"workflow.oneOf.0.steps.chunk.oneOf.3.section_headers.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.chunk.oneOf.3.section_headers","typeLabel":"string[] | null"},"include_header_in_chunk":{"type":"boolean","title":"Include Header In Chunk","description":"Whether to include the section header in the chunk","default":true,"uniqueKey":"workflow.oneOf.0.steps.chunk.oneOf.3.include_header_in_chunk","typeLabel":"boolean"}},"uniqueKey":"workflow.oneOf.0.steps.chunk.oneOf.3","typeLabel":"SectionChunkingOptions · object"},{"type":"null","title":"Chunk","uniqueKey":"workflow.oneOf.0.steps.chunk.oneOf.4","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.chunk","typeLabel":"TokenSizeChunkingOptions · object | RecursiveChunkingOptions · object | PageChunkingOptions · object | SectionChunkingOptions · object | null"},"vectorize":{"oneOf":[{"type":"object","title":"WorkflowSGPVectorStoreStepDefinition","properties":{"engine":{"type":"string","const":"sgp_vector_store","title":"Engine","default":"sgp_vector_store","uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.0.engine","typeLabel":"string"},"vector_store_metadata_schema":{"oneOf":[{"type":"object","title":"Vector Store Metadata Schema","description":"Schema of the vector store metadata. You can set metadata for parsed documents and they will be indexed as extra metadata in the vector store to filter on when searching.","additionalProperties":{"type":"string","enum":["string","int","double","boolean"],"uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.0.vector_store_metadata_schema.oneOf.0.additionalProperties","typeLabel":"enum\u003cstring>"},"uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.0.vector_store_metadata_schema.oneOf.0","typeLabel":"Vector Store Metadata Schema · object"},{"type":"null","title":"Vector Store Metadata Schema","description":"Schema of the vector store metadata. You can set metadata for parsed documents and they will be indexed as extra metadata in the vector store to filter on when searching.","uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.0.vector_store_metadata_schema.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.0.vector_store_metadata_schema","typeLabel":"Vector Store Metadata Schema · object | null"},"embedding_type":{"type":"string","const":"base","title":"Embedding Type","description":"Type of embedding configuration for standard models","default":"base","uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.0.embedding_type","typeLabel":"string"},"embedding_model":{"oneOf":[{"type":"string","title":"Embedding Model","description":"Embedding model to use for the workflow-owned SGP Vector Store.","default":"openai/text-embedding-3-small","enum":["sentence-transformers/all-MiniLM-L12-v2","sentence-transformers/all-mpnet-base-v2","sentence-transformers/multi-qa-distilbert-cos-v1","sentence-transformers/paraphrase-multilingual-mpnet-base-v2","openai/text-embedding-ada-002","openai/text-embedding-3-small","openai/text-embedding-3-large","embed-english-v3.0","embed-english-light-v3.0","embed-multilingual-v3.0","gemini/text-embedding-005","gemini/text-multilingual-embedding-002","gemini/gemini-embedding-001"],"uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.0.embedding_model.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","title":"Embedding Model","description":"Embedding model to use for the workflow-owned SGP Vector Store.","default":"openai/text-embedding-3-small","uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.0.embedding_model.oneOf.1","typeLabel":"string"}],"uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.0.embedding_model","typeLabel":"enum\u003cstring> | string"}},"uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.0","typeLabel":"WorkflowSGPVectorStoreStepDefinition · object"},{"type":"object","title":"SGPVectorStoreConfigModelsApi","description":"Models API embedding configuration using custom deployed models.","required":["model_deployment_id"],"properties":{"model_deployment_id":{"type":"string","title":"Model Deployment Id","description":"Model deployment ID for 'models_api' type from Models API V4","isRequired":true,"uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.1.model_deployment_id","typeLabel":"string"},"engine":{"type":"string","const":"sgp_vector_store","title":"Engine","default":"sgp_vector_store","uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.1.engine","typeLabel":"string"},"vector_store_metadata_schema":{"oneOf":[{"type":"object","title":"Vector Store Metadata Schema","description":"Schema of the vector store metadata. You can set metadata for parsed documents and they will be indexed as extra metadata in the vector store to filter on when searching.","additionalProperties":{"type":"string","enum":["string","int","double","boolean"],"uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.1.vector_store_metadata_schema.oneOf.0.additionalProperties","typeLabel":"enum\u003cstring>"},"uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.1.vector_store_metadata_schema.oneOf.0","typeLabel":"Vector Store Metadata Schema · object"},{"type":"null","title":"Vector Store Metadata Schema","description":"Schema of the vector store metadata. You can set metadata for parsed documents and they will be indexed as extra metadata in the vector store to filter on when searching.","uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.1.vector_store_metadata_schema.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.1.vector_store_metadata_schema","typeLabel":"Vector Store Metadata Schema · object | null"},"embedding_type":{"type":"string","const":"models_api","title":"Embedding Type","description":"Type of embedding configuration for custom deployed models","default":"models_api","uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.1.embedding_type","typeLabel":"string"}},"uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.1","typeLabel":"SGPVectorStoreConfigModelsApi · object"},{"type":"object","title":"WorkflowSGPKnowledgeBaseStepDefinition","properties":{"engine":{"type":"string","const":"sgp_knowledge_base","title":"Engine","default":"sgp_knowledge_base","uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.2.engine","typeLabel":"string"},"vector_store_metadata_schema":{"oneOf":[{"type":"object","title":"Vector Store Metadata Schema","description":"Schema of the vector store metadata. You can set metadata for parsed documents and they will be indexed as extra metadata in the vector store to filter on when searching.","additionalProperties":{"type":"string","enum":["string","int","double","boolean"],"uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.2.vector_store_metadata_schema.oneOf.0.additionalProperties","typeLabel":"enum\u003cstring>"},"uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.2.vector_store_metadata_schema.oneOf.0","typeLabel":"Vector Store Metadata Schema · object"},{"type":"null","title":"Vector Store Metadata Schema","description":"Schema of the vector store metadata. You can set metadata for parsed documents and they will be indexed as extra metadata in the vector store to filter on when searching.","uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.2.vector_store_metadata_schema.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.2.vector_store_metadata_schema","typeLabel":"Vector Store Metadata Schema · object | null"},"embedding_type":{"type":"string","const":"base","title":"Embedding Type","description":"Type of embedding configuration for standard models","default":"base","uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.2.embedding_type","typeLabel":"string"},"embedding_model":{"type":"string","title":"Embedding Model","description":"Embedding model to use for the workflow-owned SGP Knowledge Base.","default":"openai/text-embedding-3-small","uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.2.embedding_model","typeLabel":"string"}},"uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.2","typeLabel":"WorkflowSGPKnowledgeBaseStepDefinition · object"},{"type":"object","title":"SGPKnowledgeBaseConfigModelsApi","description":"Models API embedding configuration using custom deployed models.","required":["model_deployment_id"],"properties":{"model_deployment_id":{"type":"string","title":"Model Deployment Id","description":"Model deployment ID for 'models_api' type from Models API V4","isRequired":true,"uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.3.model_deployment_id","typeLabel":"string"},"engine":{"type":"string","const":"sgp_knowledge_base","title":"Engine","default":"sgp_knowledge_base","uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.3.engine","typeLabel":"string"},"vector_store_metadata_schema":{"oneOf":[{"type":"object","title":"Vector Store Metadata Schema","description":"Schema of the vector store metadata. You can set metadata for parsed documents and they will be indexed as extra metadata in the vector store to filter on when searching.","additionalProperties":{"type":"string","enum":["string","int","double","boolean"],"uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.3.vector_store_metadata_schema.oneOf.0.additionalProperties","typeLabel":"enum\u003cstring>"},"uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.3.vector_store_metadata_schema.oneOf.0","typeLabel":"Vector Store Metadata Schema · object"},{"type":"null","title":"Vector Store Metadata Schema","description":"Schema of the vector store metadata. You can set metadata for parsed documents and they will be indexed as extra metadata in the vector store to filter on when searching.","uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.3.vector_store_metadata_schema.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.3.vector_store_metadata_schema","typeLabel":"Vector Store Metadata Schema · object | null"},"embedding_type":{"type":"string","const":"models_api","title":"Embedding Type","description":"Type of embedding configuration for custom deployed models","default":"models_api","uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.3.embedding_type","typeLabel":"string"}},"uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.3","typeLabel":"SGPKnowledgeBaseConfigModelsApi · object"},{"type":"null","title":"Vectorize","uniqueKey":"workflow.oneOf.0.steps.vectorize.oneOf.4","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.vectorize","typeLabel":"WorkflowSGPVectorStoreStepDefinition · object | SGPVectorStoreConfigModelsApi · object | WorkflowSGPKnowledgeBaseStepDefinition · object | SGPKnowledgeBaseConfigModelsApi · object | null"},"index":{"oneOf":[{"type":"object","title":"WorkflowFileSystemIndexStepDefinition","properties":{"model":{"type":"string","title":"Model","description":"Model to use for summarization","default":"openai/gpt-5.2","uniqueKey":"workflow.oneOf.0.steps.index.oneOf.0.model","typeLabel":"string"},"file_summarization_prompt":{"oneOf":[{"type":"string","title":"File Summarization Prompt","description":"Custom instructions for file summarization","uniqueKey":"workflow.oneOf.0.steps.index.oneOf.0.file_summarization_prompt.oneOf.0","typeLabel":"string"},{"type":"null","title":"File Summarization Prompt","description":"Custom instructions for file summarization","uniqueKey":"workflow.oneOf.0.steps.index.oneOf.0.file_summarization_prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.index.oneOf.0.file_summarization_prompt","typeLabel":"string | null"},"folder_summarization_prompt":{"oneOf":[{"type":"string","title":"Folder Summarization Prompt","description":"Custom instructions for folder summarization","uniqueKey":"workflow.oneOf.0.steps.index.oneOf.0.folder_summarization_prompt.oneOf.0","typeLabel":"string"},{"type":"null","title":"Folder Summarization Prompt","description":"Custom instructions for folder summarization","uniqueKey":"workflow.oneOf.0.steps.index.oneOf.0.folder_summarization_prompt.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.index.oneOf.0.folder_summarization_prompt","typeLabel":"string | null"},"strategy":{"type":"string","const":"file_system","title":"Strategy","description":"Workflow indexing strategy.","default":"file_system","uniqueKey":"workflow.oneOf.0.steps.index.oneOf.0.strategy","typeLabel":"string"},"engine_type":{"type":"string","const":"file_system","title":"Engine Type","description":"Type of index engine.","default":"file_system","uniqueKey":"workflow.oneOf.0.steps.index.oneOf.0.engine_type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"workflow.oneOf.0.steps.index.oneOf.0","typeLabel":"WorkflowFileSystemIndexStepDefinition · object"},{"type":"null","uniqueKey":"workflow.oneOf.0.steps.index.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow.oneOf.0.steps.index","typeLabel":"WorkflowFileSystemIndexStepDefinition · object | null"}},"additionalProperties":false,"type":"object","title":"WorkflowStepsDefinition","uniqueKey":"workflow.oneOf.0.steps","typeLabel":"WorkflowStepsDefinition · object"}},"additionalProperties":false,"uniqueKey":"workflow.oneOf.0","typeLabel":"WorkflowDefinition · object"},{"type":"null","description":"Workflow definition to trigger for datasource change events.","uniqueKey":"workflow.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow","typeLabel":"WorkflowDefinition · object | null"}},"type":"object","title":"DataSourceLinkRequest","description":"Attach a Data Sources connector to a DEX project.\n\nProvide exactly one of:\n- ``connector``: create a new connector on the Data Sources service and link it\n (project-owned), or\n- ``data_sources_data_source_id``: link an existing connector (reuse across projects).","uniqueKey":"","typeLabel":"DataSourceLinkRequest · object"},"examples":{"Example":{"title":"Example","value":{"data_sources_data_source_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","connector":{"name":"\u003cstring>","type":"sharepoint","credentials":{"type":"client_credentials","creds":{"client_id":"\u003cstring>","client_secret":"\u003cstring>","tenant_id":"\u003cstring>"}},"config":{"tenant_id":"\u003cstring>","api_type":"graph","site_url":"\u003cstring>","site_id":"\u003cstring>","drive_id":"\u003cstring>","folder_path":"\u003cstring>","token_exchange":{"user_token_header":"X-User-Access-Token","user_assertion_scope":"\u003cstring>"}},"sync":true},"workflow":{"name":"\u003cstring>","steps":{"parse":{"options":{"chunking":{"chunk_mode":"variable","chunk_size":123}},"engine":"reducto","chunking_options":{"strategy":"token_size","chunk_size":512,"chunk_overlap":50,"encoding_name":"cl100k_base"},"vector_store_metadata":{},"advanced_options":{},"experimental_options":{},"priority":false},"chunk":{"strategy":"token_size","chunk_size":512,"chunk_overlap":50,"encoding_name":"cl100k_base"},"vectorize":{"engine":"sgp_vector_store","vector_store_metadata_schema":{},"embedding_type":"base","embedding_model":"openai/text-embedding-3-small"},"index":{"model":"openai/gpt-5.2","file_summarization_prompt":"\u003cstring>","folder_summarization_prompt":"\u003cstring>","strategy":"file_system","engine_type":"file_system"}}}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"0f6e6e1e-d1d2-4dca-8b71-c55e6c60d038":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"id":{"type":"string","title":"Id","description":"ID of the entity","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"project_id":{"type":"string","title":"Project Id","description":"ID of the project","isRequired":true,"uniqueKey":"project_id","typeLabel":"string"},"name":{"type":"string","title":"Name","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"provider_type":{"type":"string","title":"Provider Type","description":"Provider discriminator (e.g. sharepoint); aligned with Data Sources values","isRequired":true,"uniqueKey":"provider_type","typeLabel":"string"},"data_sources_data_source_id":{"type":"string","title":"Data Sources Data Source Id","description":"Remote data source id in the Data Sources service","isRequired":true,"uniqueKey":"data_sources_data_source_id","typeLabel":"string"},"data_sources_subscription_id":{"type":"string","title":"Data Sources Subscription Id","description":"Active subscription id in the Data Sources service","isRequired":true,"uniqueKey":"data_sources_subscription_id","typeLabel":"string"},"status":{"type":"string","enum":["active","paused","disabled","deleted"],"title":"DataSourceStatus","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"created_at":{"type":"string","format":"date-time","title":"Created At","isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","isRequired":true,"uniqueKey":"updated_at","typeLabel":"string\u003cdate-time>"},"object":{"type":"string","const":"data_source","title":"Object","default":"data_source","uniqueKey":"object","typeLabel":"string"},"workflow_id":{"oneOf":[{"type":"string","title":"Workflow Id","description":"Workflow triggered by this linked data source.","uniqueKey":"workflow_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Workflow Id","description":"Workflow triggered by this linked data source.","uniqueKey":"workflow_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow_id","typeLabel":"string | null"},"workflow_status":{"oneOf":[{"type":"string","title":"Workflow Status","description":"Status of the workflow triggered by this linked data source.","uniqueKey":"workflow_status.oneOf.0","typeLabel":"string"},{"type":"null","title":"Workflow Status","description":"Status of the workflow triggered by this linked data source.","uniqueKey":"workflow_status.oneOf.1","typeLabel":"null"}],"uniqueKey":"workflow_status","typeLabel":"string | null"},"config_metadata":{"additionalProperties":true,"type":"object","title":"Config Metadata","uniqueKey":"config_metadata","typeLabel":"Config Metadata · object"},"last_delta_cursor":{"oneOf":[{"type":"string","title":"Last Delta Cursor","uniqueKey":"last_delta_cursor.oneOf.0","typeLabel":"string"},{"type":"null","title":"Last Delta Cursor","uniqueKey":"last_delta_cursor.oneOf.1","typeLabel":"null"}],"uniqueKey":"last_delta_cursor","typeLabel":"string | null"},"last_event_at":{"oneOf":[{"type":"string","title":"Last Event At","format":"date-time","uniqueKey":"last_event_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","title":"Last Event At","uniqueKey":"last_event_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"last_event_at","typeLabel":"string\u003cdate-time> | null"},"deleted_at":{"oneOf":[{"type":"string","title":"Deleted At","format":"date-time","uniqueKey":"deleted_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","title":"Deleted At","uniqueKey":"deleted_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"deleted_at","typeLabel":"string\u003cdate-time> | null"}},"type":"object","required":["id","project_id","name","provider_type","data_sources_data_source_id","data_sources_subscription_id","status","created_at","updated_at"],"title":"DataSourceEntity","uniqueKey":"","typeLabel":"DataSourceEntity · object"},"examples":{"Example":{"title":"Example","value":{"id":"\u003cstring>","project_id":"\u003cstring>","name":"\u003cstring>","provider_type":"\u003cstring>","data_sources_data_source_id":"\u003cstring>","data_sources_subscription_id":"\u003cstring>","status":"active","created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z","object":"data_source","workflow_id":"\u003cstring>","workflow_status":"\u003cstring>","config_metadata":{},"last_delta_cursor":"\u003cstring>","last_event_at":"2023-11-07T05:31:56Z","deleted_at":"2023-11-07T05:31:56Z"}}},"exampleType":"generated"}},"exampleType":"generated"},"d4a18963-1e6e-4ce4-bf16-5f71b19a6e29":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"oneOf":[{"type":"string","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.1","typeLabel":"integer"}],"uniqueKey":"detail.items.[INDEX].loc.items.[INDEX]","typeLabel":"string | integer"},"type":"array","title":"Location","isRequired":true,"uniqueKey":"detail.items.[INDEX].loc","typeLabel":"(string | integer)[]"},"msg":{"type":"string","title":"Message","isRequired":true,"uniqueKey":"detail.items.[INDEX].msg","typeLabel":"string"},"type":{"type":"string","title":"Error Type","isRequired":true,"uniqueKey":"detail.items.[INDEX].type","typeLabel":"string"},"input":{"oneOf":[{"title":"Input"}],"uniqueKey":"detail.items.[INDEX].input","typeLabel":"any"},"ctx":{"type":"object","title":"Context","uniqueKey":"detail.items.[INDEX].ctx","typeLabel":"Context · object"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError","uniqueKey":"detail.items.[INDEX]","typeLabel":"ValidationError · object"},"type":"array","title":"Detail","uniqueKey":"detail","typeLabel":"ValidationError · object[]"}},"type":"object","title":"HTTPValidationError","uniqueKey":"","typeLabel":"HTTPValidationError · object"},"examples":{"Example":{"title":"Example","value":{"detail":[{"loc":["\u003cstring>"],"msg":"\u003cstring>","type":"\u003cstring>","input":"\u003cunknown>","ctx":{}}]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"3d5b6088-a4a5-4a82-8450-48a5ac5593af":{"ApiKey":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key for authentication","scopes":[]},"AccountId":{"type":"apiKey","in":"header","name":"x-selected-account-id","description":"Selected Account ID","scopes":[]}}},"servers":{},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key for authentication","scopes":[]},"schema":{"title":"x-api-key","type":"string","description":"API key for authentication","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKey","name":"x-api-key"},{"scheme":{"type":"apiKey","in":"header","name":"x-selected-account-id","description":"Selected Account ID","scopes":[]},"schema":{"title":"x-selected-account-id","type":"string","description":"Selected Account ID","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"AccountId","name":"x-selected-account-id"}],"title":"ApiKey \u0026 AccountId"}]},"originalFileLocation":"https://dex.sgp.scale.com/openapi.json"},"subdomain":"scalegp","siteName":"Scale AI","title":"Link Project Data Source - Scale AI","navMaps":{"firstHrefInVersion":{"V5":{"href":"/reference/dex/data-sources/link-project-data-source","matchLevel":0},"V4 (legacy)":{"href":"/home","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-09-28T19:56:23.608Z","originalFileLocation":"reference/dex/data-sources/link-project-data-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=\"system\"}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=\"Link an existing Data Sources connector and create DEX webhook subscription.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Scale AI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_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/scalegp/UksUEh3sxckFW0X-/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/scalegp/UksUEh3sxckFW0X-/_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/scalegp/UksUEh3sxckFW0X-/_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/scalegp/UksUEh3sxckFW0X-/_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/scalegp/UksUEh3sxckFW0X-/_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/scalegp/UksUEh3sxckFW0X-/_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/scalegp/UksUEh3sxckFW0X-/_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/scalegp/UksUEh3sxckFW0X-/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Link Project Data Source - Scale AI\">\u003cmeta data-mint-head property=\"og:description\" content=\"Link an existing Data Sources connector and create DEX webhook subscription.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Scale AI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.gp.scale.com/reference/dex/data-sources/link-project-data-source\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://scalegp.mintlify.site/_mintlify/api/og/v2?division=Data+sources\u0026amp;title=Link+Project+Data+Source\u0026amp;description=Link+an+existing+Data+Sources+connector+and+create+DEX+webhook+subscription.\u0026amp;theme=b7e87dd2f9a2a23155199f59\u0026amp;signature=7108d316c440399cd856ff9ce32fd9e6a873f37f5f36868b9a8dd414416d06a9\">\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=\"Link Project Data Source - Scale AI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Link an existing Data Sources connector and create DEX webhook subscription.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://scalegp.mintlify.site/_mintlify/api/og/v2?division=Data+sources\u0026amp;title=Link+Project+Data+Source\u0026amp;description=Link+an+existing+Data+Sources+connector+and+create+DEX+webhook+subscription.\u0026amp;theme=b7e87dd2f9a2a23155199f59\u0026amp;signature=7108d316c440399cd856ff9ce32fd9e6a873f37f5f36868b9a8dd414416d06a9\">\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/scalegp/UksUEh3sxckFW0X-/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Scale AI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3f2e7b\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.gp.scale.com/reference/dex/data-sources/link-project-data-source\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/reference/dex/data-sources/link-project-data-source.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.gp.scale.com/#organization\",\"name\":\"Scale AI\",\"url\":\"https://docs.gp.scale.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/scalegp/TBmst1qiYXwYqUB5/logo/light.png?fit=max\u0026auto=format\u0026n=TBmst1qiYXwYqUB5\u0026q=85\u0026s=46027042c16b373ac463148db5ad1d6b\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.gp.scale.com#website\",\"name\":\"Scale AI\",\"url\":\"https://docs.gp.scale.com\",\"publisher\":{\"@id\":\"https://docs.gp.scale.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.gp.scale.com/reference/dex/data-sources/link-project-data-source#webpage\",\"url\":\"https://docs.gp.scale.com/reference/dex/data-sources/link-project-data-source\",\"name\":\"Link Project Data Source\",\"description\":\"Link an existing Data Sources connector and create DEX webhook subscription.\",\"dateModified\":\"2026-09-28T19:56:23.608Z\",\"isPartOf\":{\"@id\":\"https://docs.gp.scale.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.gp.scale.com/reference/dex/data-sources/link-project-data-source#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.gp.scale.com/reference/dex/data-sources/link-project-data-source#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Data sources\",\"item\":\"https://docs.gp.scale.com/reference/dex/data-sources/list-project-data-sources\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Link Project Data Source\",\"item\":\"https://docs.gp.scale.com/reference/dex/data-sources/link-project-data-source\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.gp.scale.com/reference/dex/data-sources/link-project-data-source#apireference\",\"headline\":\"Link Project Data Source\",\"name\":\"Link Project Data Source\",\"description\":\"Link an existing Data Sources connector and create DEX webhook subscription.\",\"url\":\"https://docs.gp.scale.com/reference/dex/data-sources/link-project-data-source\",\"mainEntityOfPage\":{\"@id\":\"https://docs.gp.scale.com/reference/dex/data-sources/link-project-data-source#webpage\"},\"dateModified\":\"2026-09-28T19:56:23.608Z\",\"publisher\":{\"@id\":\"https://docs.gp.scale.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.gp.scale.com#website\"}}]}\u003c/script>","siteName":"Scale AI","nav":{"global":null,"versions":[{"version":"V5","tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/docs/v5/overview"}]},{"tab":"AgentOps API","pages":[{"title":"AgentOps API","href":"/reference/v5/inference/run-inference-with-free-form-payload"}]},{"tab":"AgentOps SDK","href":"https://scaleapi.github.io/sgp-sdk-docs/api/python/"},{"tab":"Agentex API","pages":[{"title":"Agentex API","href":"/reference/agentex/agents/get-agent-by-id"}]},{"tab":"Agentex SDK","href":"https://scaleapi.github.io/agentex-sdk-docs/api/python/"},{"tab":"Capabilities","pages":[{"title":"Capabilities","href":"/docs/capabilities/overview"}]},{"tab":"Dex API","groups":[{"group":"Projects","pages":[{"title":"List Projects","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects","href":"/reference/dex/projects/list-projects"},{"title":"Create Project","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects","href":"/reference/dex/projects/create-project"},{"title":"Get Project","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}","href":"/reference/dex/projects/get-project"},{"title":"Update Project","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json put /v1/projects/{project_id}","href":"/reference/dex/projects/update-project"}]},{"group":"Files","pages":[{"title":"List Files","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/files","href":"/reference/dex/files/list-files"},{"title":"Upload File","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/files","href":"/reference/dex/files/upload-file"},{"title":"Get By Id","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/files/{file_id}","href":"/reference/dex/files/get-by-id"},{"title":"Delete File","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json delete /v1/projects/{project_id}/files/{file_id}","href":"/reference/dex/files/delete-file"},{"title":"Get File Download Url","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/files/{file_id}/download-url","href":"/reference/dex/files/get-file-download-url"},{"title":"Stream File Content","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/files/{file_id}/stream","href":"/reference/dex/files/stream-file-content"}]},{"group":"Parse","pages":[{"title":"Create Parse Job","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/parse","href":"/reference/dex/parse/create-parse-job"},{"title":"Create Batch Parse Job","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/parse/batch","href":"/reference/dex/parse/create-batch-parse-job"},{"title":"List Parse Results","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/parse/results","href":"/reference/dex/parse/list-parse-results"},{"title":"Get Parse Result","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/parse/{parse_result_id}/result","href":"/reference/dex/parse/get-parse-result"},{"title":"Upload Parse Result","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/parse/upload-result","href":"/reference/dex/parse/upload-parse-result"},{"title":"Create Chunk Job","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/parse/{parse_result_id}/rechunk","href":"/reference/dex/parse/create-chunk-job"}]},{"group":"Vector Stores","pages":[{"title":"List vector stores","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/vector-stores","href":"/reference/dex/vector-stores/list-vector-stores"},{"title":"Create a new vector store","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/vector-stores","href":"/reference/dex/vector-stores/create-a-new-vector-store"},{"title":"Get vector store details","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/vector-stores/{vector_store_id}","href":"/reference/dex/vector-stores/get-vector-store-details"},{"title":"Delete a vector store","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json delete /v1/projects/{project_id}/vector-stores/{vector_store_id}","href":"/reference/dex/vector-stores/delete-a-vector-store"},{"title":"List files in vector store","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/vector-stores/{vector_store_id}/files","href":"/reference/dex/vector-stores/list-files-in-vector-store"},{"title":"Add files to vector store","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/vector-stores/{vector_store_id}/files","href":"/reference/dex/vector-stores/add-files-to-vector-store"},{"title":"Remove files from vector store","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json delete /v1/projects/{project_id}/vector-stores/{vector_store_id}/files","href":"/reference/dex/vector-stores/remove-files-from-vector-store"},{"title":"Search in vector store","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/vector-stores/{vector_store_id}/search","href":"/reference/dex/vector-stores/search-in-vector-store"},{"title":"Search in vector store's file","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/vector-stores/{vector_store_id}/files/{file_id}/search","href":"/reference/dex/vector-stores/search-in-vector-stores-file"}]},{"group":"Extract","pages":[{"title":"Create Extract Job","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/extract","href":"/reference/dex/extract/create-extract-job"},{"title":"Get Extraction","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/extract/{extraction_id}/result","href":"/reference/dex/extract/get-extraction"},{"title":"List Extractions","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/extract/results","href":"/reference/dex/extract/list-extractions"}]},{"group":"Research","pages":[{"title":"Create Research Job","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/research","href":"/reference/dex/research/create-research-job"},{"title":"List Research Results","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/research/results","href":"/reference/dex/research/list-research-results"}]},{"group":"Jobs","pages":[{"title":"Get Job","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/jobs/{job_id}","href":"/reference/dex/jobs/get-job"},{"title":"List Jobs","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/jobs","href":"/reference/dex/jobs/list-jobs"},{"title":"Cancel Job","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/jobs/{job_id}/cancel","href":"/reference/dex/jobs/cancel-job"},{"title":"Stream Job Updates","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/jobs/{job_id}/updates","href":"/reference/dex/jobs/stream-job-updates"}]},{"group":"Indexes","pages":[{"title":"List Indexes","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/indexes","href":"/reference/dex/indexes/list-indexes"},{"title":"Create Index","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/indexes","href":"/reference/dex/indexes/create-index"},{"title":"Get Index","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/indexes/{index_id}","href":"/reference/dex/indexes/get-index"},{"title":"Delete Index","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json delete /v1/projects/{project_id}/indexes/{index_id}","href":"/reference/dex/indexes/delete-index"},{"title":"Batch Upsert Files To Index","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/indexes/{index_id}/files","href":"/reference/dex/indexes/batch-upsert-files-to-index"},{"title":"Batch Delete Files From Index","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json delete /v1/projects/{project_id}/indexes/{index_id}/files","href":"/reference/dex/indexes/batch-delete-files-from-index"},{"title":"Search Index","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/indexes/{index_id}/search","href":"/reference/dex/indexes/search-index"},{"title":"Navigate Index","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/indexes/{index_id}/navigate","href":"/reference/dex/indexes/navigate-index"}]},{"group":"Data sources","pages":[{"title":"List Project Data Sources","description":null,"deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/data-sources","href":"/reference/dex/data-sources/list-project-data-sources"},{"title":"Link Project Data Source","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/data-sources","href":"/reference/dex/data-sources/link-project-data-source"},{"title":"Get Project Data Source","description":null,"deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json get /v1/projects/{project_id}/data-sources/{data_source_id}","href":"/reference/dex/data-sources/get-project-data-source"},{"title":"Unlink Project Data Source","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json delete /v1/projects/{project_id}/data-sources/{data_source_id}","href":"/reference/dex/data-sources/unlink-project-data-source"},{"title":"Resync Data Source Deltas","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/projects/{project_id}/data-sources/{data_source_id}/resync","href":"/reference/dex/data-sources/resync-data-source-deltas"}]},{"group":"Webhooks","pages":[{"title":"Ingest Data Sources Change Event","deprecated":null,"version":null,"openapi":"https://dex.sgp.scale.com/openapi.json post /v1/webhooks/data-sources","href":"/reference/dex/webhooks/ingest-data-sources-change-event"}]}]}]},{"version":"V4 (legacy)","pages":[{"title":"V4 (legacy)","href":"/home"}]}]},"basePath":"","title":"Link Project Data Source - Scale AI","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CBsVopKK.js","utils-DZAk68jJ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-D32AYZrP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D_A5_cny.js","snippetPresets-xNRfS9th.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BIB25-tq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CydJ4w4j.js","shallow-CYPBeQSG.js","getApiPlaygroundDisplay-A5xJVBOu.js","CodeSnippet-BVRTgi3m.js","CodeSnippets-DjD6BSlt.js","Page-Dr40SSJq.js","getPastedJson-D4V4JyrR.js","icon-uhcnG22T.js","MethodPill-CM-ZQdGH.js","DuplicateIcon-B_WnOiNf.js","createIcon-CJsb8utt.js","DynamicMarkdown-D-2HDKEp.js","SectionHeading-KP5xmMgQ.js","axios-vUo_bRtp.js","Markdown-D_k0dg6k.js","clsx-DK3K4Z1S.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DE3EVdvd.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-fN9H9n9g.js"]}