Update an integration. The config is replaced wholesale — send the
complete desired config (omitted secrets are preserved; see the
service-level secret semantics). title is patch-style: omit it to leave
it unchanged.
The config variant must match the existing integration’s type; changing
the type is rejected with FAILED_PRECONDITION.
Safe to retry: addresses an existing id and converges to the same state.
With an etag set, a retry after success returns ABORTED
(the version moved) — treat that as “already applied”.
Optional optimistic-concurrency guard. When set, the update is applied only
if it matches the integration's current etag; otherwise ABORTED
(HTTP 409). Omit for last-write-wins.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Coalesce Quality Documentation","colors":{"primary":"#135594","light":"#e8f0f8","dark":"#0d3966"},"logo":{"light":"https://mintcdn.com/synq-15/VrNXC6Gv5xCECUGd/logo/coalesce-quality-logo.svg?fit=max\u0026auto=format\u0026n=VrNXC6Gv5xCECUGd\u0026q=85\u0026s=4ad60b616ed815902c710f413d59cf63","dark":"https://mintcdn.com/synq-15/VrNXC6Gv5xCECUGd/logo/coalesce-quality-logo-white.svg?fit=max\u0026auto=format\u0026n=VrNXC6Gv5xCECUGd\u0026q=85\u0026s=4d8c4a954595c0dfd25bfdf645e6cb56"},"favicon":{"light":"https://mintcdn.com/synq-15/xb0Db-MnOw_Ojah5/favicon.svg?fit=max\u0026auto=format\u0026n=xb0Db-MnOw_Ojah5\u0026q=85\u0026s=860c7081b896f01fe24af1c330da1796","dark":"https://mintcdn.com/synq-15/qs0RRq4z_2GWyKyp/favicon-dark.svg?fit=max\u0026auto=format\u0026n=qs0RRq4z_2GWyKyp\u0026q=85\u0026s=b740f42e7f6972f91d62be5b2840c805"},"navbar":{"links":[{"href":"https://coalesce.io/product/quality/","label":"Website"},{"href":"https://coalesce.io/product/request-demo/","label":"Book a Demo"}],"primary":{"type":"button","label":"Coalesce Quality Platform","href":"https://app.synq.io"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/coalesceio"}},"integrations":{"ga4":{"measurementId":"G-P55J2JTKF1"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Blog","icon":"newspaper","href":"https://coalesce.io/resources/"},{"anchor":"Changelog","icon":"rocket","href":"https://synq.io/changelog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"synq-15","hasAudioNarration":false,"actualSubdomain":"synq-15","customDomains":["docs.synq.io"],"gitSource":{"type":"github","owner":"getsynq","repo":"docs","deployBranch":"master","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae4bce77e124eba0d7b8466","collectionId":"b27469a1-8245-4341-8e48-3bd0c2081fd7","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae4bce77e124eba0d7b8466"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae4bce77e124eba0d7b8466","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Documentation","count":448},{"language":"default","tag":"Developer API","count":342},{"language":"default","tag":"REST API","count":331},{"language":"default","tag":"synq.incidents.v1.IncidentsService","count":14},{"language":"default","tag":"Reconciliations","count":13},{"language":"default","tag":"synq.alerts.services.v2.AlertsService","count":13},{"language":"default","tag":"synq.monitors.automated_monitors.v1.DeploymentRulesService","count":12},{"language":"default","tag":"Monitors","count":11},{"language":"default","tag":"synq.domains.v2.DomainsService","count":10},{"language":"default","tag":"synq.users.v1.UsersService","count":10}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"global.css","content":".dark img[src^=\"/images/\"]{background:#fff;border-radius:.5rem;padding:4px}"}],"page":{"pagePath":"api-reference/synqintegrationsv1integrationsservice/updateintegration","slug":"/api-reference/synqintegrationsv1integrationsservice/updateintegration","pageMetadata":{"title":"UpdateIntegration","description":"Update an integration. The `config` is replaced wholesale — send the\n complete desired config (omitted secrets are preserved; see the\n service-level secret semantics). `title` is patch-style: omit it to leave\n it unchanged.\n\n The `config` variant must match the existing integration's type; changing\n the type is rejected with FAILED_PRECONDITION.\n\n Safe to retry: addresses an existing id and converges to the same state.\n With an `etag` set, a retry after success returns ABORTED\n (the version moved) — treat that as \"already applied\".","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /api/integrations/v1/{integration_id}","href":"/api-reference/synqintegrationsv1integrationsservice/updateintegration","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Update an integration. The \", _jsx(_components.code, {\n children: \"config\"\n }), \" is replaced wholesale — send the\\ncomplete desired config (omitted secrets are preserved; see the\\nservice-level secret semantics). \", _jsx(_components.code, {\n children: \"title\"\n }), \" is patch-style: omit it to leave\\nit unchanged.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"The \", _jsx(_components.code, {\n children: \"config\"\n }), \" variant must match the existing integration’s type; changing\\nthe type is rejected with FAILED_PRECONDITION.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Safe to retry: addresses an existing id and converges to the same state.\\nWith an \", _jsx(_components.code, {\n children: \"etag\"\n }), \" set, a retry after success returns ABORTED\\n(the version moved) — treat that as “already applied”.\"]\n })]\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":"UpdateIntegration","description":"Update an integration. The `config` is replaced wholesale — send the\n complete desired config (omitted secrets are preserved; see the\n service-level secret semantics). `title` is patch-style: omit it to leave\n it unchanged.\n\n The `config` variant must match the existing integration's type; changing\n the type is rejected with FAILED_PRECONDITION.\n\n Safe to retry: addresses an existing id and converges to the same state.\n With an `etag` set, a retry after success returns ABORTED\n (the version moved) — treat that as \"already applied\".","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /api/integrations/v1/{integration_id}","href":"/api-reference/synqintegrationsv1integrationsservice/updateintegration","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/synq-15/7fe5b7dda612017d/region.js"],"openApiReferenceData":{"operation":{"tags":["synq.integrations.v1.IntegrationsService"],"summary":"UpdateIntegration","description":"Update an integration. The `config` is replaced wholesale — send the\n complete desired config (omitted secrets are preserved; see the\n service-level secret semantics). `title` is patch-style: omit it to leave\n it unchanged.\n\n The `config` variant must match the existing integration's type; changing\n the type is rejected with FAILED_PRECONDITION.\n\n Safe to retry: addresses an existing id and converges to the same state.\n With an `etag` set, a retry after success returns ABORTED\n (the version moved) — treat that as \"already applied\".","operationId":"synq.integrations.v1.IntegrationsService.UpdateIntegration","parameters":["8926b1c3-5eac-4947-b316-f64c5a5e4836"],"requestBody":"aaf3842c-5fab-4581-8336-1dc0e1a99146","responses":{"200":"e64cea4c-ca03-438a-a7e8-0555a3c8c8bd"},"method":"put","type":"path","servers":["abcc77c3-b80c-408b-919b-d9a46a66b731","5219f1bb-e913-4dd6-b490-4b05888d6ea1","b01509f7-4949-4ef2-ba98-767c4a5b9021"],"security":["379ee2f2-ebaf-470b-afc4-64f1e17ecab2"],"path":"/api/integrations/v1/{integration_id}","baseUrlOptions":["https://developer.synq.io","https://api.us.synq.io","https://api.au.synq.io"],"title":"UpdateIntegration","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"8926b1c3-5eac-4947-b316-f64c5a5e4836":{"name":"integration_id","in":"path","description":"Id of the integration to update (UUID).","required":true,"schema":{"type":"string","title":"integration_id","format":"uuid","description":"Id of the integration to update (UUID).","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"config":{"oneOf":[{"type":"object","title":"athena","description":"New connection configuration. The populated `config` variant must match the\n existing integration's type.","required":["athena"],"properties":{"athena":{"type":"object","title":"athena","description":"Amazon Athena connection.","required":["accessKey"],"properties":{"accessKey":{"type":"object","properties":{"accessKeyId":{"oneOf":[{"type":"string","minLength":16,"description":"AWS access key id (e.g. \"AKIA...\").","uniqueKey":"config.oneOf.0.athena.accessKey.accessKeyId.oneOf.0","typeLabel":"string"},{"type":"null","minLength":16,"description":"AWS access key id (e.g. \"AKIA...\").","uniqueKey":"config.oneOf.0.athena.accessKey.accessKeyId.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.0.athena.accessKey.accessKeyId","typeLabel":"string | null"},"secretAccessKey":{"oneOf":[{"type":"string","description":"AWS secret access key. Write-only — masked on reads.","uniqueKey":"config.oneOf.0.athena.accessKey.secretAccessKey.oneOf.0","typeLabel":"string"},{"type":"null","description":"AWS secret access key. Write-only — masked on reads.","uniqueKey":"config.oneOf.0.athena.accessKey.secretAccessKey.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.0.athena.accessKey.secretAccessKey","typeLabel":"string | null"}},"title":"access_key","additionalProperties":false,"description":"Long-lived IAM user access key.","isRequired":true,"uniqueKey":"config.oneOf.0.athena.accessKey","typeLabel":"access_key · object"},"region":{"oneOf":[{"type":"string","title":"region","minLength":1,"description":"AWS region hosting Athena and the Glue Data Catalog (e.g. \"eu-central-1\").","uniqueKey":"config.oneOf.0.athena.region.oneOf.0","typeLabel":"string"},{"type":"null","title":"region","minLength":1,"description":"AWS region hosting Athena and the Glue Data Catalog (e.g. \"eu-central-1\").","uniqueKey":"config.oneOf.0.athena.region.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.0.athena.region","typeLabel":"string | null"},"workgroup":{"oneOf":[{"type":"string","title":"workgroup","description":"Workgroup to run queries under. Defaults to \"primary\" when empty; must have\n a query result location configured.","uniqueKey":"config.oneOf.0.athena.workgroup.oneOf.0","typeLabel":"string"},{"type":"null","title":"workgroup","description":"Workgroup to run queries under. Defaults to \"primary\" when empty; must have\n a query result location configured.","uniqueKey":"config.oneOf.0.athena.workgroup.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.0.athena.workgroup","typeLabel":"string | null"},"useShowCreateTable":{"oneOf":[{"type":"boolean","title":"use_show_create_table","description":"Use SHOW CREATE TABLE per object to retrieve full table DDL.","uniqueKey":"config.oneOf.0.athena.useShowCreateTable.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"use_show_create_table","description":"Use SHOW CREATE TABLE per object to retrieve full table DDL.","uniqueKey":"config.oneOf.0.athena.useShowCreateTable.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.0.athena.useShowCreateTable","typeLabel":"boolean | null"},"useShowCreateView":{"oneOf":[{"type":"boolean","title":"use_show_create_view","description":"Use SHOW CREATE VIEW per view to retrieve full view DDL.","uniqueKey":"config.oneOf.0.athena.useShowCreateView.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"use_show_create_view","description":"Use SHOW CREATE VIEW per view to retrieve full view DDL.","uniqueKey":"config.oneOf.0.athena.useShowCreateView.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.0.athena.useShowCreateView","typeLabel":"boolean | null"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","title":"fetch_query_logs","description":"Fetch Athena query history (management API calls; no per-scan billing).","uniqueKey":"config.oneOf.0.athena.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_query_logs","description":"Fetch Athena query history (management API calls; no per-scan billing).","uniqueKey":"config.oneOf.0.athena.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.0.athena.fetchQueryLogs","typeLabel":"boolean | null"},"useIcebergMetricsScan":{"oneOf":[{"type":"boolean","title":"use_iceberg_metrics_scan","description":"For Iceberg tables, scan metadata tables for row counts and file sizes (one\n Athena query per table).","uniqueKey":"config.oneOf.0.athena.useIcebergMetricsScan.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"use_iceberg_metrics_scan","description":"For Iceberg tables, scan metadata tables for row counts and file sizes (one\n Athena query per table).","uniqueKey":"config.oneOf.0.athena.useIcebergMetricsScan.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.0.athena.useIcebergMetricsScan","typeLabel":"boolean | null"},"scope":{"oneOf":[{"type":"object","properties":{"include":{"type":"array","items":{"type":"object","properties":{"database":{"type":"string","maxLength":256,"description":"Database-level pattern.\n Only meaningful for warehouses that expose more than one database/catalog\n per connection — Snowflake \u0026 Trino (catalog), Databricks (catalog), Athena\n (Glue catalog), DuckDB (database). Ignored by single-database/-project\n connections (Postgres, Redshift, MSSQL, Oracle, BigQuery project) and by\n MySQL/ClickHouse, which filter their namespace at the schema level below.","uniqueKey":"config.oneOf.0.athena.scope.oneOf.0.include.items.[INDEX].database","typeLabel":"string"},"schema":{"type":"string","maxLength":256,"description":"Schema-level pattern. The level directly above a table.\n Maps to: dataset in BigQuery; database (namespace) in MySQL \u0026 ClickHouse;\n schema in Postgres/Redshift/Snowflake/Trino/MSSQL; owner in Oracle.","uniqueKey":"config.oneOf.0.athena.scope.oneOf.0.include.items.[INDEX].schema","typeLabel":"string"},"table":{"type":"string","maxLength":256,"description":"Table or view name pattern.","uniqueKey":"config.oneOf.0.athena.scope.oneOf.0.include.items.[INDEX].table","typeLabel":"string"}},"title":"ScopeRule","additionalProperties":false,"description":"ScopeRule is a multi-level pattern for matching data warehouse objects.\n All non-empty fields must match for the rule to apply.\n Empty field means \"match anything\" at that level (wildcard).\n Patterns support glob syntax where * matches zero or more characters.\n Matching is case-insensitive.","uniqueKey":"config.oneOf.0.athena.scope.oneOf.0.include.items.[INDEX]","typeLabel":"ScopeRule · object"},"description":"Include rules. If non-empty, only matching objects are accepted.","uniqueKey":"config.oneOf.0.athena.scope.oneOf.0.include","typeLabel":"ScopeRule · object[]"},"exclude":{"type":"array","items":{"type":"object","properties":{"database":{"type":"string","maxLength":256,"description":"Database-level pattern.\n Only meaningful for warehouses that expose more than one database/catalog\n per connection — Snowflake \u0026 Trino (catalog), Databricks (catalog), Athena\n (Glue catalog), DuckDB (database). Ignored by single-database/-project\n connections (Postgres, Redshift, MSSQL, Oracle, BigQuery project) and by\n MySQL/ClickHouse, which filter their namespace at the schema level below.","uniqueKey":"config.oneOf.0.athena.scope.oneOf.0.exclude.items.[INDEX].database","typeLabel":"string"},"schema":{"type":"string","maxLength":256,"description":"Schema-level pattern. The level directly above a table.\n Maps to: dataset in BigQuery; database (namespace) in MySQL \u0026 ClickHouse;\n schema in Postgres/Redshift/Snowflake/Trino/MSSQL; owner in Oracle.","uniqueKey":"config.oneOf.0.athena.scope.oneOf.0.exclude.items.[INDEX].schema","typeLabel":"string"},"table":{"type":"string","maxLength":256,"description":"Table or view name pattern.","uniqueKey":"config.oneOf.0.athena.scope.oneOf.0.exclude.items.[INDEX].table","typeLabel":"string"}},"title":"ScopeRule","additionalProperties":false,"description":"ScopeRule is a multi-level pattern for matching data warehouse objects.\n All non-empty fields must match for the rule to apply.\n Empty field means \"match anything\" at that level (wildcard).\n Patterns support glob syntax where * matches zero or more characters.\n Matching is case-insensitive.","uniqueKey":"config.oneOf.0.athena.scope.oneOf.0.exclude.items.[INDEX]","typeLabel":"ScopeRule · object"},"description":"Exclude rules. Matching objects are rejected, even if they match an include rule.","uniqueKey":"config.oneOf.0.athena.scope.oneOf.0.exclude","typeLabel":"ScopeRule · object[]"}},"title":"scope","additionalProperties":false,"description":"Include/exclude scope filter. ScopeRule.database = Glue catalog (usually\n \"AwsDataCatalog\"), ScopeRule.schema = Glue database, ScopeRule.table = table/view.","uniqueKey":"config.oneOf.0.athena.scope.oneOf.0","typeLabel":"scope · object"},{"type":"null","properties":{"include":{"type":"array","items":{"type":"object","properties":{"database":{"type":"string","maxLength":256,"description":"Database-level pattern.\n Only meaningful for warehouses that expose more than one database/catalog\n per connection — Snowflake \u0026 Trino (catalog), Databricks (catalog), Athena\n (Glue catalog), DuckDB (database). Ignored by single-database/-project\n connections (Postgres, Redshift, MSSQL, Oracle, BigQuery project) and by\n MySQL/ClickHouse, which filter their namespace at the schema level below."},"schema":{"type":"string","maxLength":256,"description":"Schema-level pattern. The level directly above a table.\n Maps to: dataset in BigQuery; database (namespace) in MySQL \u0026 ClickHouse;\n schema in Postgres/Redshift/Snowflake/Trino/MSSQL; owner in Oracle."},"table":{"type":"string","maxLength":256,"description":"Table or view name pattern."}},"title":"ScopeRule","additionalProperties":false,"description":"ScopeRule is a multi-level pattern for matching data warehouse objects.\n All non-empty fields must match for the rule to apply.\n Empty field means \"match anything\" at that level (wildcard).\n Patterns support glob syntax where * matches zero or more characters.\n Matching is case-insensitive."},"description":"Include rules. If non-empty, only matching objects are accepted."},"exclude":{"type":"array","items":{"type":"object","properties":{"database":{"type":"string","maxLength":256,"description":"Database-level pattern.\n Only meaningful for warehouses that expose more than one database/catalog\n per connection — Snowflake \u0026 Trino (catalog), Databricks (catalog), Athena\n (Glue catalog), DuckDB (database). Ignored by single-database/-project\n connections (Postgres, Redshift, MSSQL, Oracle, BigQuery project) and by\n MySQL/ClickHouse, which filter their namespace at the schema level below."},"schema":{"type":"string","maxLength":256,"description":"Schema-level pattern. The level directly above a table.\n Maps to: dataset in BigQuery; database (namespace) in MySQL \u0026 ClickHouse;\n schema in Postgres/Redshift/Snowflake/Trino/MSSQL; owner in Oracle."},"table":{"type":"string","maxLength":256,"description":"Table or view name pattern."}},"title":"ScopeRule","additionalProperties":false,"description":"ScopeRule is a multi-level pattern for matching data warehouse objects.\n All non-empty fields must match for the rule to apply.\n Empty field means \"match anything\" at that level (wildcard).\n Patterns support glob syntax where * matches zero or more characters.\n Matching is case-insensitive."},"description":"Exclude rules. Matching objects are rejected, even if they match an include rule."}},"title":"scope","additionalProperties":false,"description":"Include/exclude scope filter. ScopeRule.database = Glue catalog (usually\n \"AwsDataCatalog\"), ScopeRule.schema = Glue database, ScopeRule.table = table/view.","uniqueKey":"config.oneOf.0.athena.scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.0.athena.scope","typeLabel":"scope · object | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"config.oneOf.0.athena","typeLabel":"athena · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"config.oneOf.0","typeLabel":"athena · object"},{"type":"object","title":"bigquery","description":"New connection configuration. The populated `config` variant must match the\n existing integration's type.","required":["bigquery"],"properties":{"bigquery":{"type":"object","properties":{"projectId":{"oneOf":[{"type":"string","minLength":1,"description":"Google Cloud project id containing the datasets to monitor.","uniqueKey":"config.oneOf.1.bigquery.projectId.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Google Cloud project id containing the datasets to monitor.","uniqueKey":"config.oneOf.1.bigquery.projectId.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.1.bigquery.projectId","typeLabel":"string | null"},"blacklistedDatasets":{"type":"array","items":{"type":"string","uniqueKey":"config.oneOf.1.bigquery.blacklistedDatasets.items.[INDEX]","typeLabel":"string"},"description":"Dataset name patterns to exclude from ingestion. Mutually exclusive with\n `datasets` — when `datasets` is set, this is ignored.","uniqueKey":"config.oneOf.1.bigquery.blacklistedDatasets","typeLabel":"string[]"},"serviceAccountKey":{"oneOf":[{"type":"string","description":"Service-account key JSON, used with BIGQUERY_AUTHENTICATION_SERVICE_ACCOUNT_KEY.\n Write-only — masked on reads.","uniqueKey":"config.oneOf.1.bigquery.serviceAccountKey.oneOf.0","typeLabel":"string"},{"type":"null","description":"Service-account key JSON, used with BIGQUERY_AUTHENTICATION_SERVICE_ACCOUNT_KEY.\n Write-only — masked on reads.","uniqueKey":"config.oneOf.1.bigquery.serviceAccountKey.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.1.bigquery.serviceAccountKey","typeLabel":"string | null"},"region":{"oneOf":[{"type":"string","minLength":1,"description":"Google Cloud region for the project (e.g. \"us-central1\", \"EU\").","uniqueKey":"config.oneOf.1.bigquery.region.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Google Cloud region for the project (e.g. \"us-central1\", \"EU\").","uniqueKey":"config.oneOf.1.bigquery.region.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.1.bigquery.region","typeLabel":"string | null"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","description":"Ingest BigQuery query logs from INFORMATION_SCHEMA.","uniqueKey":"config.oneOf.1.bigquery.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Ingest BigQuery query logs from INFORMATION_SCHEMA.","uniqueKey":"config.oneOf.1.bigquery.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.1.bigquery.fetchQueryLogs","typeLabel":"boolean | null"},"auditTableFqn":{"oneOf":[{"type":"string","description":"Fully-qualified table for storing SQL test audit logs\n (e.g. \"project.dataset.table\").","uniqueKey":"config.oneOf.1.bigquery.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fully-qualified table for storing SQL test audit logs\n (e.g. \"project.dataset.table\").","uniqueKey":"config.oneOf.1.bigquery.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.1.bigquery.auditTableFqn","typeLabel":"string | null"},"datasets":{"type":"array","items":{"type":"string","uniqueKey":"config.oneOf.1.bigquery.datasets.items.[INDEX]","typeLabel":"string"},"description":"Explicit list of datasets to scrape. When set, only these are queried (no\n project-level dataset listing needed). When empty, all visible datasets are\n discovered. Mutually exclusive with `blacklisted_datasets`.","uniqueKey":"config.oneOf.1.bigquery.datasets","typeLabel":"string[]"},"fetchPolicyTags":{"oneOf":[{"type":"boolean","description":"Resolve column policy tags to their taxonomy and tag names through the Data\n Catalog API. Needs the Data Catalog API enabled in the taxonomy's project and\n datacatalog.taxonomies.get. Off by default, as a denied call shows in the\n audit log. Without it a policy tag keeps its resource name.","uniqueKey":"config.oneOf.1.bigquery.fetchPolicyTags.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Resolve column policy tags to their taxonomy and tag names through the Data\n Catalog API. Needs the Data Catalog API enabled in the taxonomy's project and\n datacatalog.taxonomies.get. Off by default, as a denied call shows in the\n audit log. Without it a policy tag keeps its resource name.","uniqueKey":"config.oneOf.1.bigquery.fetchPolicyTags.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.1.bigquery.fetchPolicyTags","typeLabel":"boolean | null"},"authentication":{"oneOf":[{"type":"string","title":"BigqueryAuthentication","enum":["BIGQUERY_AUTHENTICATION_UNSPECIFIED","BIGQUERY_AUTHENTICATION_SERVICE_ACCOUNT_KEY","BIGQUERY_AUTHENTICATION_IMPERSONATION","BIGQUERY_AUTHENTICATION_WORKSPACE_SERVICE_ACCOUNT"],"description":"How Coalesce Quality authenticates to BigQuery. An integration that never set it\n uses a service account key. Switching to a keyless authentication removes the\n stored key.","not":{"enum":[0]},"uniqueKey":"config.oneOf.1.bigquery.authentication.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"BigqueryAuthentication","enum":["BIGQUERY_AUTHENTICATION_UNSPECIFIED","BIGQUERY_AUTHENTICATION_SERVICE_ACCOUNT_KEY","BIGQUERY_AUTHENTICATION_IMPERSONATION","BIGQUERY_AUTHENTICATION_WORKSPACE_SERVICE_ACCOUNT"],"description":"How Coalesce Quality authenticates to BigQuery. An integration that never set it\n uses a service account key. Switching to a keyless authentication removes the\n stored key.","not":{"enum":[0]},"uniqueKey":"config.oneOf.1.bigquery.authentication.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.1.bigquery.authentication","typeLabel":"enum\u003cstring> | null"},"impersonatedServiceAccount":{"oneOf":[{"type":"string","maxLength":254,"description":"Email of your service account that Coalesce Quality impersonates, used with\n BIGQUERY_AUTHENTICATION_IMPERSONATION. Grant roles/iam.serviceAccountTokenCreator\n on it to the workspace service account.","uniqueKey":"config.oneOf.1.bigquery.impersonatedServiceAccount.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":254,"description":"Email of your service account that Coalesce Quality impersonates, used with\n BIGQUERY_AUTHENTICATION_IMPERSONATION. Grant roles/iam.serviceAccountTokenCreator\n on it to the workspace service account.","uniqueKey":"config.oneOf.1.bigquery.impersonatedServiceAccount.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.1.bigquery.impersonatedServiceAccount","typeLabel":"string | null"}},"title":"bigquery","additionalProperties":false,"description":"Google BigQuery connection.","isRequired":true,"uniqueKey":"config.oneOf.1.bigquery","typeLabel":"bigquery · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"config.oneOf.1","typeLabel":"bigquery · object"},{"type":"object","title":"clickhouse","description":"New connection configuration. The populated `config` variant must match the\n existing integration's type.","required":["clickhouse"],"properties":{"clickhouse":{"type":"object","properties":{"host":{"oneOf":[{"type":"string","minLength":1,"description":"Host address or IP.","uniqueKey":"config.oneOf.2.clickhouse.host.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Host address or IP.","uniqueKey":"config.oneOf.2.clickhouse.host.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.2.clickhouse.host","typeLabel":"string | null"},"port":{"oneOf":[{"type":"string","description":"Port (e.g. \"8123\" for HTTP, \"9440\" for HTTPS).","uniqueKey":"config.oneOf.2.clickhouse.port.oneOf.0","typeLabel":"string"},{"type":"null","description":"Port (e.g. \"8123\" for HTTP, \"9440\" for HTTPS).","uniqueKey":"config.oneOf.2.clickhouse.port.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.2.clickhouse.port","typeLabel":"string | null"},"username":{"oneOf":[{"type":"string","description":"Username.","uniqueKey":"config.oneOf.2.clickhouse.username.oneOf.0","typeLabel":"string"},{"type":"null","description":"Username.","uniqueKey":"config.oneOf.2.clickhouse.username.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.2.clickhouse.username","typeLabel":"string | null"},"password":{"oneOf":[{"type":"string","description":"Password. Write-only — masked on reads.","uniqueKey":"config.oneOf.2.clickhouse.password.oneOf.0","typeLabel":"string"},{"type":"null","description":"Password. Write-only — masked on reads.","uniqueKey":"config.oneOf.2.clickhouse.password.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.2.clickhouse.password","typeLabel":"string | null"},"defaultDataset":{"oneOf":[{"type":"string","description":"Database the connection opens with, so unqualified table names in a query\n resolve against it. It is not a scrape filter: metadata is read from system\n tables and covers every database the credentials can see, whatever this says.","uniqueKey":"config.oneOf.2.clickhouse.defaultDataset.oneOf.0","typeLabel":"string"},{"type":"null","description":"Database the connection opens with, so unqualified table names in a query\n resolve against it. It is not a scrape filter: metadata is read from system\n tables and covers every database the credentials can see, whatever this says.","uniqueKey":"config.oneOf.2.clickhouse.defaultDataset.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.2.clickhouse.defaultDataset","typeLabel":"string | null"},"additionalParameters":{"type":"object","additionalProperties":{"type":"string","title":"value","uniqueKey":"config.oneOf.2.clickhouse.additionalParameters.additionalProperties","typeLabel":"string"},"description":"Additional connection parameters as key/value pairs (e.g.\n \"max_execution_time\": \"30\").","uniqueKey":"config.oneOf.2.clickhouse.additionalParameters","typeLabel":"object"},"ssl":{"oneOf":[{"type":"boolean","description":"Enable SSL/TLS.","uniqueKey":"config.oneOf.2.clickhouse.ssl.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Enable SSL/TLS.","uniqueKey":"config.oneOf.2.clickhouse.ssl.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.2.clickhouse.ssl","typeLabel":"boolean | null"},"databaseName":{"oneOf":[{"type":"string","description":"Name this ClickHouse is published under, and the top element of every path\n and breadcrumb its tables appear in — `prod`, `staging`, `eu-analytics`.\n ClickHouse has no container above a database, so something has to name the\n service; left empty that is the connection host, which is correct but\n unreadable for a ClickHouse Cloud endpoint. It is not a database and does not\n restrict what is scraped. Changing it republishes every table under new\n paths, so pick one per service and keep it.","uniqueKey":"config.oneOf.2.clickhouse.databaseName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Name this ClickHouse is published under, and the top element of every path\n and breadcrumb its tables appear in — `prod`, `staging`, `eu-analytics`.\n ClickHouse has no container above a database, so something has to name the\n service; left empty that is the connection host, which is correct but\n unreadable for a ClickHouse Cloud endpoint. It is not a database and does not\n restrict what is scraped. Changing it republishes every table under new\n paths, so pick one per service and keep it.","uniqueKey":"config.oneOf.2.clickhouse.databaseName.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.2.clickhouse.databaseName","typeLabel":"string | null"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","description":"Ingest query logs from system.query_log.","uniqueKey":"config.oneOf.2.clickhouse.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Ingest query logs from system.query_log.","uniqueKey":"config.oneOf.2.clickhouse.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.2.clickhouse.fetchQueryLogs","typeLabel":"boolean | null"},"auditTableFqn":{"oneOf":[{"type":"string","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"config.oneOf.2.clickhouse.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"config.oneOf.2.clickhouse.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.2.clickhouse.auditTableFqn","typeLabel":"string | null"},"cluster":{"oneOf":[{"type":"object","properties":{"mode":{"type":"string","title":"ClickhouseClusterMode","enum":["CLICKHOUSE_CLUSTER_MODE_UNSPECIFIED","CLICKHOUSE_CLUSTER_MODE_ALL_REPLICAS","CLICKHOUSE_CLUSTER_MODE_SINGLE_NODE"],"uniqueKey":"config.oneOf.2.clickhouse.cluster.oneOf.0.mode","typeLabel":"enum\u003cstring>"},"name":{"type":"string","maxLength":256,"pattern":"^([A-Za-z_][A-Za-z0-9_.\\-]*)?$","description":"Cluster to read through, as named under remote_servers in the ClickHouse\n configuration. `SELECT DISTINCT cluster FROM system.clusters` lists what a\n server has. Empty means \"default\". Ignored in single-node mode.","uniqueKey":"config.oneOf.2.clickhouse.cluster.oneOf.0.name","typeLabel":"string"}},"title":"ClickhouseClusterConf","additionalProperties":false,"description":"How ClickHouse system tables are read. Omit to keep reading across a cluster\n named \"default\", which every ClickHouse Cloud service provides.","uniqueKey":"config.oneOf.2.clickhouse.cluster.oneOf.0","typeLabel":"ClickhouseClusterConf · object"},{"type":"null","properties":{"mode":{"type":"string","title":"ClickhouseClusterMode","enum":["CLICKHOUSE_CLUSTER_MODE_UNSPECIFIED","CLICKHOUSE_CLUSTER_MODE_ALL_REPLICAS","CLICKHOUSE_CLUSTER_MODE_SINGLE_NODE"]},"name":{"type":"string","maxLength":256,"pattern":"^([A-Za-z_][A-Za-z0-9_.\\-]*)?$","description":"Cluster to read through, as named under remote_servers in the ClickHouse\n configuration. `SELECT DISTINCT cluster FROM system.clusters` lists what a\n server has. Empty means \"default\". Ignored in single-node mode."}},"title":"ClickhouseClusterConf","additionalProperties":false,"description":"How ClickHouse system tables are read. Omit to keep reading across a cluster\n named \"default\", which every ClickHouse Cloud service provides.","uniqueKey":"config.oneOf.2.clickhouse.cluster.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.2.clickhouse.cluster","typeLabel":"ClickhouseClusterConf · object | null"}},"title":"clickhouse","additionalProperties":false,"description":"ClickHouse connection.","isRequired":true,"uniqueKey":"config.oneOf.2.clickhouse","typeLabel":"clickhouse · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"config.oneOf.2","typeLabel":"clickhouse · object"},{"type":"object","title":"databricks","description":"New connection configuration. The populated `config` variant must match the\n existing integration's type.","required":["databricks"],"properties":{"databricks":{"oneOf":[{"type":"object","title":"databricks","description":"Databricks connection.","required":["oauthM2m"],"properties":{"oauthM2m":{"type":"object","properties":{"clientId":{"oneOf":[{"type":"string","description":"OAuth client id of the service principal.","uniqueKey":"config.oneOf.3.databricks.oneOf.0.oauthM2m.clientId.oneOf.0","typeLabel":"string"},{"type":"null","description":"OAuth client id of the service principal.","uniqueKey":"config.oneOf.3.databricks.oneOf.0.oauthM2m.clientId.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.3.databricks.oneOf.0.oauthM2m.clientId","typeLabel":"string | null"},"clientSecret":{"oneOf":[{"type":"string","description":"OAuth client secret. Write-only — masked on reads.","uniqueKey":"config.oneOf.3.databricks.oneOf.0.oauthM2m.clientSecret.oneOf.0","typeLabel":"string"},{"type":"null","description":"OAuth client secret. Write-only — masked on reads.","uniqueKey":"config.oneOf.3.databricks.oneOf.0.oauthM2m.clientSecret.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.3.databricks.oneOf.0.oauthM2m.clientSecret","typeLabel":"string | null"}},"title":"oauth_m2m","additionalProperties":false,"description":"OAuth 2.0 machine-to-machine (service principal) auth.","isRequired":true,"uniqueKey":"config.oneOf.3.databricks.oneOf.0.oauthM2m","typeLabel":"oauth_m2m · object"},"workspaceUrl":{"oneOf":[{"type":"string","title":"workspace_url","minLength":1,"description":"Workspace URL (e.g. \"https://your-workspace.cloud.databricks.com\").","uniqueKey":"config.oneOf.3.databricks.oneOf.0.workspaceUrl.oneOf.0","typeLabel":"string"},{"type":"null","title":"workspace_url","minLength":1,"description":"Workspace URL (e.g. \"https://your-workspace.cloud.databricks.com\").","uniqueKey":"config.oneOf.3.databricks.oneOf.0.workspaceUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.3.databricks.oneOf.0.workspaceUrl","typeLabel":"string | null"},"warehouseId":{"oneOf":[{"type":"string","title":"warehouse_id","description":"SQL warehouse id (or cluster id) used to execute queries.","uniqueKey":"config.oneOf.3.databricks.oneOf.0.warehouseId.oneOf.0","typeLabel":"string"},{"type":"null","title":"warehouse_id","description":"SQL warehouse id (or cluster id) used to execute queries.","uniqueKey":"config.oneOf.3.databricks.oneOf.0.warehouseId.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.3.databricks.oneOf.0.warehouseId","typeLabel":"string | null"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","title":"fetch_query_logs","description":"Ingest query logs from system tables.","uniqueKey":"config.oneOf.3.databricks.oneOf.0.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_query_logs","description":"Ingest query logs from system tables.","uniqueKey":"config.oneOf.3.databricks.oneOf.0.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.3.databricks.oneOf.0.fetchQueryLogs","typeLabel":"boolean | null"},"fetchTableMetrics":{"oneOf":[{"type":"boolean","title":"fetch_table_metrics","description":"Replaced by analyze_tables, read only while analyze_tables is unset.","deprecated":true,"uniqueKey":"config.oneOf.3.databricks.oneOf.0.fetchTableMetrics.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_table_metrics","description":"Replaced by analyze_tables, read only while analyze_tables is unset.","deprecated":true,"uniqueKey":"config.oneOf.3.databricks.oneOf.0.fetchTableMetrics.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.3.databricks.oneOf.0.fetchTableMetrics","typeLabel":"boolean | null"},"fetchTableMetricsScan":{"oneOf":[{"type":"boolean","title":"fetch_table_metrics_scan","description":"Replaced by analyze_tables_scan, read only while analyze_tables_scan is unset.","deprecated":true,"uniqueKey":"config.oneOf.3.databricks.oneOf.0.fetchTableMetricsScan.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_table_metrics_scan","description":"Replaced by analyze_tables_scan, read only while analyze_tables_scan is unset.","deprecated":true,"uniqueKey":"config.oneOf.3.databricks.oneOf.0.fetchTableMetricsScan.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.3.databricks.oneOf.0.fetchTableMetricsScan","typeLabel":"boolean | null"},"catalogBlocklist":{"type":"array","items":{"type":"string","uniqueKey":"config.oneOf.3.databricks.oneOf.0.catalogBlocklist.items.[INDEX]","typeLabel":"string"},"title":"catalog_blocklist","description":"Catalog name patterns to exclude from ingestion.","uniqueKey":"config.oneOf.3.databricks.oneOf.0.catalogBlocklist","typeLabel":"string[]"},"fetchTableTags":{"oneOf":[{"type":"boolean","title":"fetch_table_tags","description":"Retrieve Unity Catalog table tags.","uniqueKey":"config.oneOf.3.databricks.oneOf.0.fetchTableTags.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_table_tags","description":"Retrieve Unity Catalog table tags.","uniqueKey":"config.oneOf.3.databricks.oneOf.0.fetchTableTags.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.3.databricks.oneOf.0.fetchTableTags","typeLabel":"boolean | null"},"useShowCreateTable":{"oneOf":[{"type":"boolean","title":"use_show_create_table","description":"Use SHOW CREATE TABLE for table DDL (otherwise extracted from query logs).","uniqueKey":"config.oneOf.3.databricks.oneOf.0.useShowCreateTable.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"use_show_create_table","description":"Use SHOW CREATE TABLE for table DDL (otherwise extracted from query logs).","uniqueKey":"config.oneOf.3.databricks.oneOf.0.useShowCreateTable.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.3.databricks.oneOf.0.useShowCreateTable","typeLabel":"boolean | null"},"auditTableFqn":{"oneOf":[{"type":"string","title":"audit_table_fqn","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"config.oneOf.3.databricks.oneOf.0.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","title":"audit_table_fqn","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"config.oneOf.3.databricks.oneOf.0.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.3.databricks.oneOf.0.auditTableFqn","typeLabel":"string | null"},"disableUnityTableLineage":{"oneOf":[{"type":"boolean","title":"disable_unity_table_lineage","description":"Disable retrieval of Unity Catalog table-to-table lineage. Coalesce Quality\n already computes lineage from query logs, so the Unity Catalog edges can be\n redundant noise. When unset/false, Unity Catalog table-to-table lineage is\n retrieved and published (the default).","uniqueKey":"config.oneOf.3.databricks.oneOf.0.disableUnityTableLineage.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"disable_unity_table_lineage","description":"Disable retrieval of Unity Catalog table-to-table lineage. Coalesce Quality\n already computes lineage from query logs, so the Unity Catalog edges can be\n redundant noise. When unset/false, Unity Catalog table-to-table lineage is\n retrieved and published (the default).","uniqueKey":"config.oneOf.3.databricks.oneOf.0.disableUnityTableLineage.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.3.databricks.oneOf.0.disableUnityTableLineage","typeLabel":"boolean | null"},"analyzeTables":{"oneOf":[{"type":"boolean","title":"analyze_tables","description":"Run ANALYZE TABLE before table statistics are read, so they are fresh.","uniqueKey":"config.oneOf.3.databricks.oneOf.0.analyzeTables.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"analyze_tables","description":"Run ANALYZE TABLE before table statistics are read, so they are fresh.","uniqueKey":"config.oneOf.3.databricks.oneOf.0.analyzeTables.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.3.databricks.oneOf.0.analyzeTables","typeLabel":"boolean | null"},"analyzeTablesScan":{"oneOf":[{"type":"boolean","title":"analyze_tables_scan","description":"Run ANALYZE TABLE with a full scan, which also counts the rows. It costs more\n warehouse time than analyze_tables.","uniqueKey":"config.oneOf.3.databricks.oneOf.0.analyzeTablesScan.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"analyze_tables_scan","description":"Run ANALYZE TABLE with a full scan, which also counts the rows. It costs more\n warehouse time than analyze_tables.","uniqueKey":"config.oneOf.3.databricks.oneOf.0.analyzeTablesScan.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.3.databricks.oneOf.0.analyzeTablesScan","typeLabel":"boolean | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"config.oneOf.3.databricks.oneOf.0","typeLabel":"databricks · object"},{"type":"object","title":"databricks","description":"Databricks connection.","required":["token"],"properties":{"token":{"type":"string","title":"token","description":"Personal access token. Write-only — masked on reads.","isRequired":true,"uniqueKey":"config.oneOf.3.databricks.oneOf.1.token","typeLabel":"string"},"workspaceUrl":{"oneOf":[{"type":"string","title":"workspace_url","minLength":1,"description":"Workspace URL (e.g. \"https://your-workspace.cloud.databricks.com\").","uniqueKey":"config.oneOf.3.databricks.oneOf.1.workspaceUrl.oneOf.0","typeLabel":"string"},{"type":"null","title":"workspace_url","minLength":1,"description":"Workspace URL (e.g. \"https://your-workspace.cloud.databricks.com\").","uniqueKey":"config.oneOf.3.databricks.oneOf.1.workspaceUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.3.databricks.oneOf.1.workspaceUrl","typeLabel":"string | null"},"warehouseId":{"oneOf":[{"type":"string","title":"warehouse_id","description":"SQL warehouse id (or cluster id) used to execute queries.","uniqueKey":"config.oneOf.3.databricks.oneOf.1.warehouseId.oneOf.0","typeLabel":"string"},{"type":"null","title":"warehouse_id","description":"SQL warehouse id (or cluster id) used to execute queries.","uniqueKey":"config.oneOf.3.databricks.oneOf.1.warehouseId.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.3.databricks.oneOf.1.warehouseId","typeLabel":"string | null"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","title":"fetch_query_logs","description":"Ingest query logs from system tables.","uniqueKey":"config.oneOf.3.databricks.oneOf.1.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_query_logs","description":"Ingest query logs from system tables.","uniqueKey":"config.oneOf.3.databricks.oneOf.1.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.3.databricks.oneOf.1.fetchQueryLogs","typeLabel":"boolean | null"},"fetchTableMetrics":{"oneOf":[{"type":"boolean","title":"fetch_table_metrics","description":"Replaced by analyze_tables, read only while analyze_tables is unset.","deprecated":true,"uniqueKey":"config.oneOf.3.databricks.oneOf.1.fetchTableMetrics.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_table_metrics","description":"Replaced by analyze_tables, read only while analyze_tables is unset.","deprecated":true,"uniqueKey":"config.oneOf.3.databricks.oneOf.1.fetchTableMetrics.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.3.databricks.oneOf.1.fetchTableMetrics","typeLabel":"boolean | null"},"fetchTableMetricsScan":{"oneOf":[{"type":"boolean","title":"fetch_table_metrics_scan","description":"Replaced by analyze_tables_scan, read only while analyze_tables_scan is unset.","deprecated":true,"uniqueKey":"config.oneOf.3.databricks.oneOf.1.fetchTableMetricsScan.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_table_metrics_scan","description":"Replaced by analyze_tables_scan, read only while analyze_tables_scan is unset.","deprecated":true,"uniqueKey":"config.oneOf.3.databricks.oneOf.1.fetchTableMetricsScan.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.3.databricks.oneOf.1.fetchTableMetricsScan","typeLabel":"boolean | null"},"catalogBlocklist":{"type":"array","items":{"type":"string","uniqueKey":"config.oneOf.3.databricks.oneOf.1.catalogBlocklist.items.[INDEX]","typeLabel":"string"},"title":"catalog_blocklist","description":"Catalog name patterns to exclude from ingestion.","uniqueKey":"config.oneOf.3.databricks.oneOf.1.catalogBlocklist","typeLabel":"string[]"},"fetchTableTags":{"oneOf":[{"type":"boolean","title":"fetch_table_tags","description":"Retrieve Unity Catalog table tags.","uniqueKey":"config.oneOf.3.databricks.oneOf.1.fetchTableTags.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_table_tags","description":"Retrieve Unity Catalog table tags.","uniqueKey":"config.oneOf.3.databricks.oneOf.1.fetchTableTags.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.3.databricks.oneOf.1.fetchTableTags","typeLabel":"boolean | null"},"useShowCreateTable":{"oneOf":[{"type":"boolean","title":"use_show_create_table","description":"Use SHOW CREATE TABLE for table DDL (otherwise extracted from query logs).","uniqueKey":"config.oneOf.3.databricks.oneOf.1.useShowCreateTable.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"use_show_create_table","description":"Use SHOW CREATE TABLE for table DDL (otherwise extracted from query logs).","uniqueKey":"config.oneOf.3.databricks.oneOf.1.useShowCreateTable.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.3.databricks.oneOf.1.useShowCreateTable","typeLabel":"boolean | null"},"auditTableFqn":{"oneOf":[{"type":"string","title":"audit_table_fqn","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"config.oneOf.3.databricks.oneOf.1.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","title":"audit_table_fqn","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"config.oneOf.3.databricks.oneOf.1.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.3.databricks.oneOf.1.auditTableFqn","typeLabel":"string | null"},"disableUnityTableLineage":{"oneOf":[{"type":"boolean","title":"disable_unity_table_lineage","description":"Disable retrieval of Unity Catalog table-to-table lineage. Coalesce Quality\n already computes lineage from query logs, so the Unity Catalog edges can be\n redundant noise. When unset/false, Unity Catalog table-to-table lineage is\n retrieved and published (the default).","uniqueKey":"config.oneOf.3.databricks.oneOf.1.disableUnityTableLineage.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"disable_unity_table_lineage","description":"Disable retrieval of Unity Catalog table-to-table lineage. Coalesce Quality\n already computes lineage from query logs, so the Unity Catalog edges can be\n redundant noise. When unset/false, Unity Catalog table-to-table lineage is\n retrieved and published (the default).","uniqueKey":"config.oneOf.3.databricks.oneOf.1.disableUnityTableLineage.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.3.databricks.oneOf.1.disableUnityTableLineage","typeLabel":"boolean | null"},"analyzeTables":{"oneOf":[{"type":"boolean","title":"analyze_tables","description":"Run ANALYZE TABLE before table statistics are read, so they are fresh.","uniqueKey":"config.oneOf.3.databricks.oneOf.1.analyzeTables.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"analyze_tables","description":"Run ANALYZE TABLE before table statistics are read, so they are fresh.","uniqueKey":"config.oneOf.3.databricks.oneOf.1.analyzeTables.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.3.databricks.oneOf.1.analyzeTables","typeLabel":"boolean | null"},"analyzeTablesScan":{"oneOf":[{"type":"boolean","title":"analyze_tables_scan","description":"Run ANALYZE TABLE with a full scan, which also counts the rows. It costs more\n warehouse time than analyze_tables.","uniqueKey":"config.oneOf.3.databricks.oneOf.1.analyzeTablesScan.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"analyze_tables_scan","description":"Run ANALYZE TABLE with a full scan, which also counts the rows. It costs more\n warehouse time than analyze_tables.","uniqueKey":"config.oneOf.3.databricks.oneOf.1.analyzeTablesScan.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.3.databricks.oneOf.1.analyzeTablesScan","typeLabel":"boolean | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"config.oneOf.3.databricks.oneOf.1","typeLabel":"databricks · object"}],"isRequired":true,"uniqueKey":"config.oneOf.3.databricks","typeLabel":"databricks · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"config.oneOf.3","typeLabel":"databricks · object"},{"type":"object","title":"db2","description":"New connection configuration. The populated `config` variant must match the\n existing integration's type.","required":["db2"],"properties":{"db2":{"type":"object","properties":{"hostname":{"oneOf":[{"type":"string","minLength":1,"description":"Host name or IP address of the Db2 server (HOSTNAME).","uniqueKey":"config.oneOf.4.db2.hostname.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Host name or IP address of the Db2 server (HOSTNAME).","uniqueKey":"config.oneOf.4.db2.hostname.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.4.db2.hostname","typeLabel":"string | null"},"port":{"oneOf":[{"type":"integer","maximum":65535,"minimum":1,"format":"int32","description":"TCP/IP port of the instance (PORT): the value of the SVCENAME database\n manager configuration parameter, or SSL_SVCENAME when security is \"SSL\"\n (`db2 get dbm cfg`). Defaults to 50000, or 50001 when security is \"SSL\".","uniqueKey":"config.oneOf.4.db2.port.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","maximum":65535,"minimum":1,"format":"int32","description":"TCP/IP port of the instance (PORT): the value of the SVCENAME database\n manager configuration parameter, or SSL_SVCENAME when security is \"SSL\"\n (`db2 get dbm cfg`). Defaults to 50000, or 50001 when security is \"SSL\".","uniqueKey":"config.oneOf.4.db2.port.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.4.db2.port","typeLabel":"integer\u003cint32> | null"},"database":{"oneOf":[{"type":"string","description":"Database name or alias (DATABASE), as in `CONNECT TO \u003cdatabase>`.","uniqueKey":"config.oneOf.4.db2.database.oneOf.0","typeLabel":"string"},{"type":"null","description":"Database name or alias (DATABASE), as in `CONNECT TO \u003cdatabase>`.","uniqueKey":"config.oneOf.4.db2.database.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.4.db2.database","typeLabel":"string | null"},"user":{"oneOf":[{"type":"string","description":"Authorization ID to connect with (UID). Db2 checks it through the\n instance's security plugin: against the server's operating system by\n default, or against LDAP when an LDAP plugin is configured.","uniqueKey":"config.oneOf.4.db2.user.oneOf.0","typeLabel":"string"},{"type":"null","description":"Authorization ID to connect with (UID). Db2 checks it through the\n instance's security plugin: against the server's operating system by\n default, or against LDAP when an LDAP plugin is configured.","uniqueKey":"config.oneOf.4.db2.user.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.4.db2.user","typeLabel":"string | null"},"password":{"oneOf":[{"type":"string","description":"Password of the authorization ID (PWD). Write-only, masked on reads.","uniqueKey":"config.oneOf.4.db2.password.oneOf.0","typeLabel":"string"},{"type":"null","description":"Password of the authorization ID (PWD). Write-only, masked on reads.","uniqueKey":"config.oneOf.4.db2.password.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.4.db2.password","typeLabel":"string | null"},"security":{"oneOf":[{"type":"string","enum":["","SSL","ssl"],"description":"Set to \"SSL\" to connect over SSL/TLS (SECURITY=SSL). The instance needs\n SSL_SVCENAME set and SSL listed in DB2COMM. Leave empty for a plain TCP/IP\n connection.","uniqueKey":"config.oneOf.4.db2.security.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["","SSL","ssl"],"description":"Set to \"SSL\" to connect over SSL/TLS (SECURITY=SSL). The instance needs\n SSL_SVCENAME set and SSL listed in DB2COMM. Leave empty for a plain TCP/IP\n connection.","uniqueKey":"config.oneOf.4.db2.security.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.4.db2.security","typeLabel":"enum\u003cstring> | null"},"sslServerCertificatePem":{"oneOf":[{"type":"string","description":"The server's certificate, or the certificate of the CA that signed it, in\n PEM format: the text starting with \"-----BEGIN CERTIFICATE-----\". The .arm\n file you get from the instance's keystore with\n `gsk8capicmd_64 -cert -extract` holds exactly this. Needs security set to\n \"SSL\". Leave empty to check the server against the public certificate\n authorities.","uniqueKey":"config.oneOf.4.db2.sslServerCertificatePem.oneOf.0","typeLabel":"string"},{"type":"null","description":"The server's certificate, or the certificate of the CA that signed it, in\n PEM format: the text starting with \"-----BEGIN CERTIFICATE-----\". The .arm\n file you get from the instance's keystore with\n `gsk8capicmd_64 -cert -extract` holds exactly this. Needs security set to\n \"SSL\". Leave empty to check the server against the public certificate\n authorities.","uniqueKey":"config.oneOf.4.db2.sslServerCertificatePem.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.4.db2.sslServerCertificatePem","typeLabel":"string | null"},"authentication":{"oneOf":[{"type":"string","enum":["","SERVER","SERVER_ENCRYPT","server","server_encrypt"],"description":"How the authorization ID and password travel to the server\n (AUTHENTICATION). The values match the database manager configuration\n parameter of the same name:\n - \"SERVER\" (default): sent unencrypted. Use it with security \"SSL\" on an\n untrusted network.\n - \"SERVER_ENCRYPT\": sent encrypted. The instance's AUTHENTICATION must\n accept encrypted credentials, for example SERVER_ENCRYPT.","uniqueKey":"config.oneOf.4.db2.authentication.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["","SERVER","SERVER_ENCRYPT","server","server_encrypt"],"description":"How the authorization ID and password travel to the server\n (AUTHENTICATION). The values match the database manager configuration\n parameter of the same name:\n - \"SERVER\" (default): sent unencrypted. Use it with security \"SSL\" on an\n untrusted network.\n - \"SERVER_ENCRYPT\": sent encrypted. The instance's AUTHENTICATION must\n accept encrypted credentials, for example SERVER_ENCRYPT.","uniqueKey":"config.oneOf.4.db2.authentication.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.4.db2.authentication","typeLabel":"enum\u003cstring> | null"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","description":"Read query history from the package cache (MON_GET_PKG_CACHE_STMT). The\n authorization ID needs EXECUTE on that table function.","uniqueKey":"config.oneOf.4.db2.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Read query history from the package cache (MON_GET_PKG_CACHE_STMT). The\n authorization ID needs EXECUTE on that table function.","uniqueKey":"config.oneOf.4.db2.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.4.db2.fetchQueryLogs","typeLabel":"boolean | null"},"auditTableFqn":{"oneOf":[{"type":"string","description":"Fully qualified table for storing SQL test audit logs.","uniqueKey":"config.oneOf.4.db2.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fully qualified table for storing SQL test audit logs.","uniqueKey":"config.oneOf.4.db2.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.4.db2.auditTableFqn","typeLabel":"string | null"}},"title":"db2","additionalProperties":false,"description":"IBM Db2 for Linux, UNIX and Windows connection.","isRequired":true,"uniqueKey":"config.oneOf.4.db2","typeLabel":"db2 · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"config.oneOf.4","typeLabel":"db2 · object"},{"type":"object","title":"dbt_cloud","description":"New connection configuration. The populated `config` variant must match the\n existing integration's type.","required":["dbtCloud"],"properties":{"dbtCloud":{"type":"object","properties":{"accountId":{"oneOf":[{"type":"string","minLength":1,"description":"dbt Cloud account id (the numeric id from your dbt Cloud URL).","uniqueKey":"config.oneOf.5.dbtCloud.accountId.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"dbt Cloud account id (the numeric id from your dbt Cloud URL).","uniqueKey":"config.oneOf.5.dbtCloud.accountId.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.5.dbtCloud.accountId","typeLabel":"string | null"},"jobIds":{"type":"array","items":{"type":"string","uniqueKey":"config.oneOf.5.dbtCloud.jobIds.items.[INDEX]","typeLabel":"string"},"description":"dbt Cloud jobs to track, by job id. Provide the full set on every update\n (the list is replaced, not merged). When empty, all jobs visible to the API\n token are tracked.","uniqueKey":"config.oneOf.5.dbtCloud.jobIds","typeLabel":"string[]"},"token":{"oneOf":[{"type":"string","description":"dbt Cloud API token (service token recommended). Write-only — masked on\n reads; omit to keep the stored token, send a new value to rotate it.","uniqueKey":"config.oneOf.5.dbtCloud.token.oneOf.0","typeLabel":"string"},{"type":"null","description":"dbt Cloud API token (service token recommended). Write-only — masked on\n reads; omit to keep the stored token, send a new value to rotate it.","uniqueKey":"config.oneOf.5.dbtCloud.token.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.5.dbtCloud.token","typeLabel":"string | null"},"projectId":{"oneOf":[{"type":"string","description":"Project id used to generate asset identifiers. Use the same id for multiple\n projects that should be merged.","uniqueKey":"config.oneOf.5.dbtCloud.projectId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Project id used to generate asset identifiers. Use the same id for multiple\n projects that should be merged.","uniqueKey":"config.oneOf.5.dbtCloud.projectId.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.5.dbtCloud.projectId","typeLabel":"string | null"},"apiEndpoint":{"oneOf":[{"type":"string","description":"dbt Cloud API hostname without scheme (e.g. \"cloud.getdbt.com\",\n \"emea.dbt.com\"). Empty uses the multi-tenant default.","uniqueKey":"config.oneOf.5.dbtCloud.apiEndpoint.oneOf.0","typeLabel":"string"},{"type":"null","description":"dbt Cloud API hostname without scheme (e.g. \"cloud.getdbt.com\",\n \"emea.dbt.com\"). Empty uses the multi-tenant default.","uniqueKey":"config.oneOf.5.dbtCloud.apiEndpoint.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.5.dbtCloud.apiEndpoint","typeLabel":"string | null"},"defaultDatabaseInstance":{"oneOf":[{"type":"string","description":"Database instance identifier, required where database names are not globally\n unique (e.g. a Snowflake account).","uniqueKey":"config.oneOf.5.dbtCloud.defaultDatabaseInstance.oneOf.0","typeLabel":"string"},{"type":"null","description":"Database instance identifier, required where database names are not globally\n unique (e.g. a Snowflake account).","uniqueKey":"config.oneOf.5.dbtCloud.defaultDatabaseInstance.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.5.dbtCloud.defaultDatabaseInstance","typeLabel":"string | null"}},"title":"dbt_cloud","additionalProperties":false,"description":"dbt Cloud connection.","isRequired":true,"uniqueKey":"config.oneOf.5.dbtCloud","typeLabel":"dbt_cloud · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"config.oneOf.5","typeLabel":"dbt_cloud · object"},{"type":"object","title":"duckdb","description":"New connection configuration. The populated `config` variant must match the\n existing integration's type.","required":["duckdb"],"properties":{"duckdb":{"type":"object","properties":{"motherduckAccount":{"oneOf":[{"type":"string","description":"MotherDuck account name or identifier.","uniqueKey":"config.oneOf.6.duckdb.motherduckAccount.oneOf.0","typeLabel":"string"},{"type":"null","description":"MotherDuck account name or identifier.","uniqueKey":"config.oneOf.6.duckdb.motherduckAccount.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.6.duckdb.motherduckAccount","typeLabel":"string | null"},"accessToken":{"oneOf":[{"type":"string","description":"MotherDuck access token. Write-only — masked on reads.","uniqueKey":"config.oneOf.6.duckdb.accessToken.oneOf.0","typeLabel":"string"},{"type":"null","description":"MotherDuck access token. Write-only — masked on reads.","uniqueKey":"config.oneOf.6.duckdb.accessToken.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.6.duckdb.accessToken","typeLabel":"string | null"},"auditTableFqn":{"oneOf":[{"type":"string","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"config.oneOf.6.duckdb.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"config.oneOf.6.duckdb.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.6.duckdb.auditTableFqn","typeLabel":"string | null"}},"title":"duckdb","additionalProperties":false,"description":"DuckDB / MotherDuck connection.","isRequired":true,"uniqueKey":"config.oneOf.6.duckdb","typeLabel":"duckdb · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"config.oneOf.6","typeLabel":"duckdb · object"},{"type":"object","title":"fabric","description":"New connection configuration. The populated `config` variant must match the\n existing integration's type.","required":["fabric"],"properties":{"fabric":{"type":"object","title":"fabric","description":"Microsoft Fabric connection.","required":["servicePrincipal"],"properties":{"servicePrincipal":{"type":"object","properties":{"clientId":{"oneOf":[{"type":"string","minLength":1,"description":"Entra application (client) ID of the service principal.","uniqueKey":"config.oneOf.7.fabric.servicePrincipal.clientId.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Entra application (client) ID of the service principal.","uniqueKey":"config.oneOf.7.fabric.servicePrincipal.clientId.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.7.fabric.servicePrincipal.clientId","typeLabel":"string | null"},"clientSecret":{"oneOf":[{"type":"string","description":"Service principal client secret. Write-only — masked on reads.","uniqueKey":"config.oneOf.7.fabric.servicePrincipal.clientSecret.oneOf.0","typeLabel":"string"},{"type":"null","description":"Service principal client secret. Write-only — masked on reads.","uniqueKey":"config.oneOf.7.fabric.servicePrincipal.clientSecret.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.7.fabric.servicePrincipal.clientSecret","typeLabel":"string | null"},"tenantId":{"oneOf":[{"type":"string","description":"Entra tenant (directory) ID. Optional: inferred from the Fabric endpoint\n when empty; set it when the authority is not the service principal's home\n tenant.","uniqueKey":"config.oneOf.7.fabric.servicePrincipal.tenantId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Entra tenant (directory) ID. Optional: inferred from the Fabric endpoint\n when empty; set it when the authority is not the service principal's home\n tenant.","uniqueKey":"config.oneOf.7.fabric.servicePrincipal.tenantId.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.7.fabric.servicePrincipal.tenantId","typeLabel":"string | null"}},"title":"service_principal","additionalProperties":false,"description":"Entra service principal (application id + secret).","isRequired":true,"uniqueKey":"config.oneOf.7.fabric.servicePrincipal","typeLabel":"service_principal · object"},"host":{"oneOf":[{"type":"string","title":"host","minLength":1,"description":"Workspace SQL analytics endpoint host, e.g.\n \"\u003cworkspace-id>.datawarehouse.fabric.microsoft.com\".","uniqueKey":"config.oneOf.7.fabric.host.oneOf.0","typeLabel":"string"},{"type":"null","title":"host","minLength":1,"description":"Workspace SQL analytics endpoint host, e.g.\n \"\u003cworkspace-id>.datawarehouse.fabric.microsoft.com\".","uniqueKey":"config.oneOf.7.fabric.host.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.7.fabric.host","typeLabel":"string | null"},"database":{"oneOf":[{"type":"string","title":"database","description":"Default execution database — the context in which unqualified ad-hoc /\n monitor SQL resolves. Defaults to \"master\" (the always-present workspace\n entry point) when empty. Metadata reads and generated metrics SQL are fully\n database-qualified, so this only affects unqualified queries.","uniqueKey":"config.oneOf.7.fabric.database.oneOf.0","typeLabel":"string"},{"type":"null","title":"database","description":"Default execution database — the context in which unqualified ad-hoc /\n monitor SQL resolves. Defaults to \"master\" (the always-present workspace\n entry point) when empty. Metadata reads and generated metrics SQL are fully\n database-qualified, so this only affects unqualified queries.","uniqueKey":"config.oneOf.7.fabric.database.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.7.fabric.database","typeLabel":"string | null"},"accessToken":{"oneOf":[{"type":"string","title":"access_token","description":"Pre-acquired Entra OAuth access token for the SQL scope\n (https://database.windows.net/.default). When set, takes precedence over\n the service principal — for callers that mint their own token out of band\n (managed identity / workload-identity federation). Write-only — masked on\n reads.","uniqueKey":"config.oneOf.7.fabric.accessToken.oneOf.0","typeLabel":"string"},{"type":"null","title":"access_token","description":"Pre-acquired Entra OAuth access token for the SQL scope\n (https://database.windows.net/.default). When set, takes precedence over\n the service principal — for callers that mint their own token out of band\n (managed identity / workload-identity federation). Write-only — masked on\n reads.","uniqueKey":"config.oneOf.7.fabric.accessToken.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.7.fabric.accessToken","typeLabel":"string | null"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","title":"fetch_query_logs","description":"Fetch Fabric query history for cost attribution and SQL / column-level\n lineage. Management-plane reads only, no per-query billing.","uniqueKey":"config.oneOf.7.fabric.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_query_logs","description":"Fetch Fabric query history for cost attribution and SQL / column-level\n lineage. Management-plane reads only, no per-query billing.","uniqueKey":"config.oneOf.7.fabric.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.7.fabric.fetchQueryLogs","typeLabel":"boolean | null"},"scope":{"oneOf":[{"type":"object","properties":{"include":{"type":"array","items":{"type":"object","properties":{"database":{"type":"string","maxLength":256,"description":"Database-level pattern.\n Only meaningful for warehouses that expose more than one database/catalog\n per connection — Snowflake \u0026 Trino (catalog), Databricks (catalog), Athena\n (Glue catalog), DuckDB (database). Ignored by single-database/-project\n connections (Postgres, Redshift, MSSQL, Oracle, BigQuery project) and by\n MySQL/ClickHouse, which filter their namespace at the schema level below.","uniqueKey":"config.oneOf.7.fabric.scope.oneOf.0.include.items.[INDEX].database","typeLabel":"string"},"schema":{"type":"string","maxLength":256,"description":"Schema-level pattern. The level directly above a table.\n Maps to: dataset in BigQuery; database (namespace) in MySQL \u0026 ClickHouse;\n schema in Postgres/Redshift/Snowflake/Trino/MSSQL; owner in Oracle.","uniqueKey":"config.oneOf.7.fabric.scope.oneOf.0.include.items.[INDEX].schema","typeLabel":"string"},"table":{"type":"string","maxLength":256,"description":"Table or view name pattern.","uniqueKey":"config.oneOf.7.fabric.scope.oneOf.0.include.items.[INDEX].table","typeLabel":"string"}},"title":"ScopeRule","additionalProperties":false,"description":"ScopeRule is a multi-level pattern for matching data warehouse objects.\n All non-empty fields must match for the rule to apply.\n Empty field means \"match anything\" at that level (wildcard).\n Patterns support glob syntax where * matches zero or more characters.\n Matching is case-insensitive.","uniqueKey":"config.oneOf.7.fabric.scope.oneOf.0.include.items.[INDEX]","typeLabel":"ScopeRule · object"},"description":"Include rules. If non-empty, only matching objects are accepted.","uniqueKey":"config.oneOf.7.fabric.scope.oneOf.0.include","typeLabel":"ScopeRule · object[]"},"exclude":{"type":"array","items":{"type":"object","properties":{"database":{"type":"string","maxLength":256,"description":"Database-level pattern.\n Only meaningful for warehouses that expose more than one database/catalog\n per connection — Snowflake \u0026 Trino (catalog), Databricks (catalog), Athena\n (Glue catalog), DuckDB (database). Ignored by single-database/-project\n connections (Postgres, Redshift, MSSQL, Oracle, BigQuery project) and by\n MySQL/ClickHouse, which filter their namespace at the schema level below.","uniqueKey":"config.oneOf.7.fabric.scope.oneOf.0.exclude.items.[INDEX].database","typeLabel":"string"},"schema":{"type":"string","maxLength":256,"description":"Schema-level pattern. The level directly above a table.\n Maps to: dataset in BigQuery; database (namespace) in MySQL \u0026 ClickHouse;\n schema in Postgres/Redshift/Snowflake/Trino/MSSQL; owner in Oracle.","uniqueKey":"config.oneOf.7.fabric.scope.oneOf.0.exclude.items.[INDEX].schema","typeLabel":"string"},"table":{"type":"string","maxLength":256,"description":"Table or view name pattern.","uniqueKey":"config.oneOf.7.fabric.scope.oneOf.0.exclude.items.[INDEX].table","typeLabel":"string"}},"title":"ScopeRule","additionalProperties":false,"description":"ScopeRule is a multi-level pattern for matching data warehouse objects.\n All non-empty fields must match for the rule to apply.\n Empty field means \"match anything\" at that level (wildcard).\n Patterns support glob syntax where * matches zero or more characters.\n Matching is case-insensitive.","uniqueKey":"config.oneOf.7.fabric.scope.oneOf.0.exclude.items.[INDEX]","typeLabel":"ScopeRule · object"},"description":"Exclude rules. Matching objects are rejected, even if they match an include rule.","uniqueKey":"config.oneOf.7.fabric.scope.oneOf.0.exclude","typeLabel":"ScopeRule · object[]"}},"title":"scope","additionalProperties":false,"description":"Include/exclude scope filter. ScopeRule.database = Fabric database /\n warehouse, ScopeRule.schema = schema, ScopeRule.table = table / view.","uniqueKey":"config.oneOf.7.fabric.scope.oneOf.0","typeLabel":"scope · object"},{"type":"null","properties":{"include":{"type":"array","items":{"type":"object","properties":{"database":{"type":"string","maxLength":256,"description":"Database-level pattern.\n Only meaningful for warehouses that expose more than one database/catalog\n per connection — Snowflake \u0026 Trino (catalog), Databricks (catalog), Athena\n (Glue catalog), DuckDB (database). Ignored by single-database/-project\n connections (Postgres, Redshift, MSSQL, Oracle, BigQuery project) and by\n MySQL/ClickHouse, which filter their namespace at the schema level below."},"schema":{"type":"string","maxLength":256,"description":"Schema-level pattern. The level directly above a table.\n Maps to: dataset in BigQuery; database (namespace) in MySQL \u0026 ClickHouse;\n schema in Postgres/Redshift/Snowflake/Trino/MSSQL; owner in Oracle."},"table":{"type":"string","maxLength":256,"description":"Table or view name pattern."}},"title":"ScopeRule","additionalProperties":false,"description":"ScopeRule is a multi-level pattern for matching data warehouse objects.\n All non-empty fields must match for the rule to apply.\n Empty field means \"match anything\" at that level (wildcard).\n Patterns support glob syntax where * matches zero or more characters.\n Matching is case-insensitive."},"description":"Include rules. If non-empty, only matching objects are accepted."},"exclude":{"type":"array","items":{"type":"object","properties":{"database":{"type":"string","maxLength":256,"description":"Database-level pattern.\n Only meaningful for warehouses that expose more than one database/catalog\n per connection — Snowflake \u0026 Trino (catalog), Databricks (catalog), Athena\n (Glue catalog), DuckDB (database). Ignored by single-database/-project\n connections (Postgres, Redshift, MSSQL, Oracle, BigQuery project) and by\n MySQL/ClickHouse, which filter their namespace at the schema level below."},"schema":{"type":"string","maxLength":256,"description":"Schema-level pattern. The level directly above a table.\n Maps to: dataset in BigQuery; database (namespace) in MySQL \u0026 ClickHouse;\n schema in Postgres/Redshift/Snowflake/Trino/MSSQL; owner in Oracle."},"table":{"type":"string","maxLength":256,"description":"Table or view name pattern."}},"title":"ScopeRule","additionalProperties":false,"description":"ScopeRule is a multi-level pattern for matching data warehouse objects.\n All non-empty fields must match for the rule to apply.\n Empty field means \"match anything\" at that level (wildcard).\n Patterns support glob syntax where * matches zero or more characters.\n Matching is case-insensitive."},"description":"Exclude rules. Matching objects are rejected, even if they match an include rule."}},"title":"scope","additionalProperties":false,"description":"Include/exclude scope filter. ScopeRule.database = Fabric database /\n warehouse, ScopeRule.schema = schema, ScopeRule.table = table / view.","uniqueKey":"config.oneOf.7.fabric.scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.7.fabric.scope","typeLabel":"scope · object | null"},"auditTableFqn":{"oneOf":[{"type":"string","title":"audit_table_fqn","description":"Fully-qualified table for storing SQL test audit logs, as a three-part\n [warehouse].[schema].[table]. The warehouse must be a Fabric Warehouse in\n the same workspace, not a read-only Lakehouse SQL analytics endpoint.","uniqueKey":"config.oneOf.7.fabric.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","title":"audit_table_fqn","description":"Fully-qualified table for storing SQL test audit logs, as a three-part\n [warehouse].[schema].[table]. The warehouse must be a Fabric Warehouse in\n the same workspace, not a read-only Lakehouse SQL analytics endpoint.","uniqueKey":"config.oneOf.7.fabric.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.7.fabric.auditTableFqn","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"config.oneOf.7.fabric","typeLabel":"fabric · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"config.oneOf.7","typeLabel":"fabric · object"},{"type":"object","title":"mssql","description":"New connection configuration. The populated `config` variant must match the\n existing integration's type.","required":["mssql"],"properties":{"mssql":{"type":"object","properties":{"host":{"oneOf":[{"type":"string","minLength":1,"description":"Hostname or IP (Azure SQL e.g. \"yourserver.database.windows.net\").","uniqueKey":"config.oneOf.8.mssql.host.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Hostname or IP (Azure SQL e.g. \"yourserver.database.windows.net\").","uniqueKey":"config.oneOf.8.mssql.host.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.8.mssql.host","typeLabel":"string | null"},"port":{"oneOf":[{"type":"integer","maximum":65535,"minimum":1,"format":"int32","description":"Port (typically 1433).","uniqueKey":"config.oneOf.8.mssql.port.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","maximum":65535,"minimum":1,"format":"int32","description":"Port (typically 1433).","uniqueKey":"config.oneOf.8.mssql.port.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.8.mssql.port","typeLabel":"integer\u003cint32> | null"},"database":{"oneOf":[{"type":"string","description":"Database to connect to and ingest metadata from.","uniqueKey":"config.oneOf.8.mssql.database.oneOf.0","typeLabel":"string"},{"type":"null","description":"Database to connect to and ingest metadata from.","uniqueKey":"config.oneOf.8.mssql.database.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.8.mssql.database","typeLabel":"string | null"},"username":{"oneOf":[{"type":"string","description":"Login username.","uniqueKey":"config.oneOf.8.mssql.username.oneOf.0","typeLabel":"string"},{"type":"null","description":"Login username.","uniqueKey":"config.oneOf.8.mssql.username.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.8.mssql.username","typeLabel":"string | null"},"password":{"oneOf":[{"type":"string","description":"Login password. Write-only — masked on reads.","uniqueKey":"config.oneOf.8.mssql.password.oneOf.0","typeLabel":"string"},{"type":"null","description":"Login password. Write-only — masked on reads.","uniqueKey":"config.oneOf.8.mssql.password.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.8.mssql.password","typeLabel":"string | null"},"trustCert":{"oneOf":[{"type":"boolean","description":"Skip TLS server certificate verification (not recommended for Azure SQL).","uniqueKey":"config.oneOf.8.mssql.trustCert.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Skip TLS server certificate verification (not recommended for Azure SQL).","uniqueKey":"config.oneOf.8.mssql.trustCert.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.8.mssql.trustCert","typeLabel":"boolean | null"},"encrypt":{"oneOf":[{"type":"string","description":"Encryption mode: \"true\" (default, required for Azure SQL), \"false\",\n \"disable\".","uniqueKey":"config.oneOf.8.mssql.encrypt.oneOf.0","typeLabel":"string"},{"type":"null","description":"Encryption mode: \"true\" (default, required for Azure SQL), \"false\",\n \"disable\".","uniqueKey":"config.oneOf.8.mssql.encrypt.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.8.mssql.encrypt","typeLabel":"string | null"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","description":"Ingest query logs from Query Store (must be enabled on the database; Azure\n SQL has it on by default).","uniqueKey":"config.oneOf.8.mssql.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Ingest query logs from Query Store (must be enabled on the database; Azure\n SQL has it on by default).","uniqueKey":"config.oneOf.8.mssql.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.8.mssql.fetchQueryLogs","typeLabel":"boolean | null"},"scope":{"oneOf":[{"type":"object","properties":{"include":{"type":"array","items":{"type":"object","properties":{"database":{"type":"string","maxLength":256,"description":"Database-level pattern.\n Only meaningful for warehouses that expose more than one database/catalog\n per connection — Snowflake \u0026 Trino (catalog), Databricks (catalog), Athena\n (Glue catalog), DuckDB (database). Ignored by single-database/-project\n connections (Postgres, Redshift, MSSQL, Oracle, BigQuery project) and by\n MySQL/ClickHouse, which filter their namespace at the schema level below.","uniqueKey":"config.oneOf.8.mssql.scope.oneOf.0.include.items.[INDEX].database","typeLabel":"string"},"schema":{"type":"string","maxLength":256,"description":"Schema-level pattern. The level directly above a table.\n Maps to: dataset in BigQuery; database (namespace) in MySQL \u0026 ClickHouse;\n schema in Postgres/Redshift/Snowflake/Trino/MSSQL; owner in Oracle.","uniqueKey":"config.oneOf.8.mssql.scope.oneOf.0.include.items.[INDEX].schema","typeLabel":"string"},"table":{"type":"string","maxLength":256,"description":"Table or view name pattern.","uniqueKey":"config.oneOf.8.mssql.scope.oneOf.0.include.items.[INDEX].table","typeLabel":"string"}},"title":"ScopeRule","additionalProperties":false,"description":"ScopeRule is a multi-level pattern for matching data warehouse objects.\n All non-empty fields must match for the rule to apply.\n Empty field means \"match anything\" at that level (wildcard).\n Patterns support glob syntax where * matches zero or more characters.\n Matching is case-insensitive.","uniqueKey":"config.oneOf.8.mssql.scope.oneOf.0.include.items.[INDEX]","typeLabel":"ScopeRule · object"},"description":"Include rules. If non-empty, only matching objects are accepted.","uniqueKey":"config.oneOf.8.mssql.scope.oneOf.0.include","typeLabel":"ScopeRule · object[]"},"exclude":{"type":"array","items":{"type":"object","properties":{"database":{"type":"string","maxLength":256,"description":"Database-level pattern.\n Only meaningful for warehouses that expose more than one database/catalog\n per connection — Snowflake \u0026 Trino (catalog), Databricks (catalog), Athena\n (Glue catalog), DuckDB (database). Ignored by single-database/-project\n connections (Postgres, Redshift, MSSQL, Oracle, BigQuery project) and by\n MySQL/ClickHouse, which filter their namespace at the schema level below.","uniqueKey":"config.oneOf.8.mssql.scope.oneOf.0.exclude.items.[INDEX].database","typeLabel":"string"},"schema":{"type":"string","maxLength":256,"description":"Schema-level pattern. The level directly above a table.\n Maps to: dataset in BigQuery; database (namespace) in MySQL \u0026 ClickHouse;\n schema in Postgres/Redshift/Snowflake/Trino/MSSQL; owner in Oracle.","uniqueKey":"config.oneOf.8.mssql.scope.oneOf.0.exclude.items.[INDEX].schema","typeLabel":"string"},"table":{"type":"string","maxLength":256,"description":"Table or view name pattern.","uniqueKey":"config.oneOf.8.mssql.scope.oneOf.0.exclude.items.[INDEX].table","typeLabel":"string"}},"title":"ScopeRule","additionalProperties":false,"description":"ScopeRule is a multi-level pattern for matching data warehouse objects.\n All non-empty fields must match for the rule to apply.\n Empty field means \"match anything\" at that level (wildcard).\n Patterns support glob syntax where * matches zero or more characters.\n Matching is case-insensitive.","uniqueKey":"config.oneOf.8.mssql.scope.oneOf.0.exclude.items.[INDEX]","typeLabel":"ScopeRule · object"},"description":"Exclude rules. Matching objects are rejected, even if they match an include rule.","uniqueKey":"config.oneOf.8.mssql.scope.oneOf.0.exclude","typeLabel":"ScopeRule · object[]"}},"title":"ScopeFilter","additionalProperties":false,"description":"Include/exclude scope filter (by schema and table; database-level filtering\n does not apply since the connection targets one database).","uniqueKey":"config.oneOf.8.mssql.scope.oneOf.0","typeLabel":"ScopeFilter · object"},{"type":"null","properties":{"include":{"type":"array","items":{"type":"object","properties":{"database":{"type":"string","maxLength":256,"description":"Database-level pattern.\n Only meaningful for warehouses that expose more than one database/catalog\n per connection — Snowflake \u0026 Trino (catalog), Databricks (catalog), Athena\n (Glue catalog), DuckDB (database). Ignored by single-database/-project\n connections (Postgres, Redshift, MSSQL, Oracle, BigQuery project) and by\n MySQL/ClickHouse, which filter their namespace at the schema level below."},"schema":{"type":"string","maxLength":256,"description":"Schema-level pattern. The level directly above a table.\n Maps to: dataset in BigQuery; database (namespace) in MySQL \u0026 ClickHouse;\n schema in Postgres/Redshift/Snowflake/Trino/MSSQL; owner in Oracle."},"table":{"type":"string","maxLength":256,"description":"Table or view name pattern."}},"title":"ScopeRule","additionalProperties":false,"description":"ScopeRule is a multi-level pattern for matching data warehouse objects.\n All non-empty fields must match for the rule to apply.\n Empty field means \"match anything\" at that level (wildcard).\n Patterns support glob syntax where * matches zero or more characters.\n Matching is case-insensitive."},"description":"Include rules. If non-empty, only matching objects are accepted."},"exclude":{"type":"array","items":{"type":"object","properties":{"database":{"type":"string","maxLength":256,"description":"Database-level pattern.\n Only meaningful for warehouses that expose more than one database/catalog\n per connection — Snowflake \u0026 Trino (catalog), Databricks (catalog), Athena\n (Glue catalog), DuckDB (database). Ignored by single-database/-project\n connections (Postgres, Redshift, MSSQL, Oracle, BigQuery project) and by\n MySQL/ClickHouse, which filter their namespace at the schema level below."},"schema":{"type":"string","maxLength":256,"description":"Schema-level pattern. The level directly above a table.\n Maps to: dataset in BigQuery; database (namespace) in MySQL \u0026 ClickHouse;\n schema in Postgres/Redshift/Snowflake/Trino/MSSQL; owner in Oracle."},"table":{"type":"string","maxLength":256,"description":"Table or view name pattern."}},"title":"ScopeRule","additionalProperties":false,"description":"ScopeRule is a multi-level pattern for matching data warehouse objects.\n All non-empty fields must match for the rule to apply.\n Empty field means \"match anything\" at that level (wildcard).\n Patterns support glob syntax where * matches zero or more characters.\n Matching is case-insensitive."},"description":"Exclude rules. Matching objects are rejected, even if they match an include rule."}},"title":"ScopeFilter","additionalProperties":false,"description":"Include/exclude scope filter (by schema and table; database-level filtering\n does not apply since the connection targets one database).","uniqueKey":"config.oneOf.8.mssql.scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.8.mssql.scope","typeLabel":"ScopeFilter · object | null"},"auditTableFqn":{"oneOf":[{"type":"string","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"config.oneOf.8.mssql.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"config.oneOf.8.mssql.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.8.mssql.auditTableFqn","typeLabel":"string | null"}},"title":"mssql","additionalProperties":false,"description":"Microsoft SQL Server / Azure SQL connection.","isRequired":true,"uniqueKey":"config.oneOf.8.mssql","typeLabel":"mssql · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"config.oneOf.8","typeLabel":"mssql · object"},{"type":"object","title":"mysql","description":"New connection configuration. The populated `config` variant must match the\n existing integration's type.","required":["mysql"],"properties":{"mysql":{"type":"object","properties":{"user":{"oneOf":[{"type":"string","description":"Username.","uniqueKey":"config.oneOf.9.mysql.user.oneOf.0","typeLabel":"string"},{"type":"null","description":"Username.","uniqueKey":"config.oneOf.9.mysql.user.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.9.mysql.user","typeLabel":"string | null"},"password":{"oneOf":[{"type":"string","description":"Password. Write-only — masked on reads.","uniqueKey":"config.oneOf.9.mysql.password.oneOf.0","typeLabel":"string"},{"type":"null","description":"Password. Write-only — masked on reads.","uniqueKey":"config.oneOf.9.mysql.password.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.9.mysql.password","typeLabel":"string | null"},"host":{"oneOf":[{"type":"string","minLength":1,"description":"Host address or IP.","uniqueKey":"config.oneOf.9.mysql.host.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Host address or IP.","uniqueKey":"config.oneOf.9.mysql.host.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.9.mysql.host","typeLabel":"string | null"},"port":{"oneOf":[{"type":"integer","maximum":65535,"minimum":1,"format":"int32","description":"Port (typically 3306).","uniqueKey":"config.oneOf.9.mysql.port.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","maximum":65535,"minimum":1,"format":"int32","description":"Port (typically 3306).","uniqueKey":"config.oneOf.9.mysql.port.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.9.mysql.port","typeLabel":"integer\u003cint32> | null"},"auditTableFqn":{"oneOf":[{"type":"string","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"config.oneOf.9.mysql.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"config.oneOf.9.mysql.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.9.mysql.auditTableFqn","typeLabel":"string | null"}},"title":"mysql","additionalProperties":false,"description":"MySQL connection.","isRequired":true,"uniqueKey":"config.oneOf.9.mysql","typeLabel":"mysql · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"config.oneOf.9","typeLabel":"mysql · object"},{"type":"object","title":"oracle","description":"New connection configuration. The populated `config` variant must match the\n existing integration's type.","required":["oracle"],"properties":{"oracle":{"type":"object","properties":{"host":{"oneOf":[{"type":"string","minLength":1,"description":"Host address or IP (OCI Autonomous DB e.g. \"adb.eu-frankfurt-1.oraclecloud.com\").","uniqueKey":"config.oneOf.10.oracle.host.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Host address or IP (OCI Autonomous DB e.g. \"adb.eu-frankfurt-1.oraclecloud.com\").","uniqueKey":"config.oneOf.10.oracle.host.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.10.oracle.host","typeLabel":"string | null"},"port":{"oneOf":[{"type":"integer","maximum":65535,"minimum":1,"format":"int32","description":"Listener port (typically 1521; OCI Autonomous DB with mTLS uses 1522).","uniqueKey":"config.oneOf.10.oracle.port.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","maximum":65535,"minimum":1,"format":"int32","description":"Listener port (typically 1521; OCI Autonomous DB with mTLS uses 1522).","uniqueKey":"config.oneOf.10.oracle.port.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.10.oracle.port","typeLabel":"integer\u003cint32> | null"},"serviceName":{"oneOf":[{"type":"string","description":"Service name / PDB name (OCI Autonomous DB e.g. \"mydb_high\").","uniqueKey":"config.oneOf.10.oracle.serviceName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Service name / PDB name (OCI Autonomous DB e.g. \"mydb_high\").","uniqueKey":"config.oneOf.10.oracle.serviceName.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.10.oracle.serviceName","typeLabel":"string | null"},"username":{"oneOf":[{"type":"string","description":"Username.","uniqueKey":"config.oneOf.10.oracle.username.oneOf.0","typeLabel":"string"},{"type":"null","description":"Username.","uniqueKey":"config.oneOf.10.oracle.username.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.10.oracle.username","typeLabel":"string | null"},"password":{"oneOf":[{"type":"string","description":"Password. Write-only — masked on reads.","uniqueKey":"config.oneOf.10.oracle.password.oneOf.0","typeLabel":"string"},{"type":"null","description":"Password. Write-only — masked on reads.","uniqueKey":"config.oneOf.10.oracle.password.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.10.oracle.password","typeLabel":"string | null"},"ssl":{"oneOf":[{"type":"boolean","description":"Enable TLS/SSL (TCPS). Required for OCI Autonomous Database.","uniqueKey":"config.oneOf.10.oracle.ssl.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Enable TLS/SSL (TCPS). Required for OCI Autonomous Database.","uniqueKey":"config.oneOf.10.oracle.ssl.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.10.oracle.ssl","typeLabel":"boolean | null"},"sslVerify":{"oneOf":[{"type":"boolean","description":"Verify the server certificate when SSL is enabled.","uniqueKey":"config.oneOf.10.oracle.sslVerify.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Verify the server certificate when SSL is enabled.","uniqueKey":"config.oneOf.10.oracle.sslVerify.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.10.oracle.sslVerify","typeLabel":"boolean | null"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","description":"Ingest query logs (V$SQL by default, DBA_HIST with the Diagnostics Pack).","uniqueKey":"config.oneOf.10.oracle.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Ingest query logs (V$SQL by default, DBA_HIST with the Diagnostics Pack).","uniqueKey":"config.oneOf.10.oracle.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.10.oracle.fetchQueryLogs","typeLabel":"boolean | null"},"useDiagnosticsPack":{"oneOf":[{"type":"boolean","description":"Use the Oracle Diagnostics Pack (AWR) for persistent query-log history\n (requires a license; included with OCI Autonomous Database).","uniqueKey":"config.oneOf.10.oracle.useDiagnosticsPack.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Use the Oracle Diagnostics Pack (AWR) for persistent query-log history\n (requires a license; included with OCI Autonomous Database).","uniqueKey":"config.oneOf.10.oracle.useDiagnosticsPack.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.10.oracle.useDiagnosticsPack","typeLabel":"boolean | null"},"auditTableFqn":{"oneOf":[{"type":"string","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"config.oneOf.10.oracle.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"config.oneOf.10.oracle.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.10.oracle.auditTableFqn","typeLabel":"string | null"}},"title":"oracle","additionalProperties":false,"description":"Oracle Database connection.","isRequired":true,"uniqueKey":"config.oneOf.10.oracle","typeLabel":"oracle · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"config.oneOf.10","typeLabel":"oracle · object"},{"type":"object","title":"postgres","description":"New connection configuration. The populated `config` variant must match the\n existing integration's type.","required":["postgres"],"properties":{"postgres":{"type":"object","properties":{"user":{"oneOf":[{"type":"string","description":"Username.","uniqueKey":"config.oneOf.11.postgres.user.oneOf.0","typeLabel":"string"},{"type":"null","description":"Username.","uniqueKey":"config.oneOf.11.postgres.user.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.11.postgres.user","typeLabel":"string | null"},"password":{"oneOf":[{"type":"string","description":"Password. Write-only — masked on reads.","uniqueKey":"config.oneOf.11.postgres.password.oneOf.0","typeLabel":"string"},{"type":"null","description":"Password. Write-only — masked on reads.","uniqueKey":"config.oneOf.11.postgres.password.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.11.postgres.password","typeLabel":"string | null"},"host":{"oneOf":[{"type":"string","minLength":1,"description":"Host address or IP.","uniqueKey":"config.oneOf.11.postgres.host.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Host address or IP.","uniqueKey":"config.oneOf.11.postgres.host.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.11.postgres.host","typeLabel":"string | null"},"port":{"oneOf":[{"type":"integer","maximum":65535,"minimum":1,"format":"int32","description":"Port (typically 5432).","uniqueKey":"config.oneOf.11.postgres.port.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","maximum":65535,"minimum":1,"format":"int32","description":"Port (typically 5432).","uniqueKey":"config.oneOf.11.postgres.port.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.11.postgres.port","typeLabel":"integer\u003cint32> | null"},"database":{"oneOf":[{"type":"string","description":"Database to connect to and ingest metadata from.","uniqueKey":"config.oneOf.11.postgres.database.oneOf.0","typeLabel":"string"},{"type":"null","description":"Database to connect to and ingest metadata from.","uniqueKey":"config.oneOf.11.postgres.database.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.11.postgres.database","typeLabel":"string | null"},"auditTableFqn":{"oneOf":[{"type":"string","description":"Table name for storing SQL test audit logs (e.g., 'sql_test_audit').\n Auto-creation quotes the value as a single identifier, so a schema-qualified\n name only works against a table you have created yourself.","uniqueKey":"config.oneOf.11.postgres.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","description":"Table name for storing SQL test audit logs (e.g., 'sql_test_audit').\n Auto-creation quotes the value as a single identifier, so a schema-qualified\n name only works against a table you have created yourself.","uniqueKey":"config.oneOf.11.postgres.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.11.postgres.auditTableFqn","typeLabel":"string | null"}},"title":"postgres","additionalProperties":false,"description":"PostgreSQL connection.","isRequired":true,"uniqueKey":"config.oneOf.11.postgres","typeLabel":"postgres · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"config.oneOf.11","typeLabel":"postgres · object"},{"type":"object","title":"redshift","description":"New connection configuration. The populated `config` variant must match the\n existing integration's type.","required":["redshift"],"properties":{"redshift":{"type":"object","properties":{"user":{"oneOf":[{"type":"string","description":"Username.","uniqueKey":"config.oneOf.12.redshift.user.oneOf.0","typeLabel":"string"},{"type":"null","description":"Username.","uniqueKey":"config.oneOf.12.redshift.user.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.12.redshift.user","typeLabel":"string | null"},"password":{"oneOf":[{"type":"string","description":"Password. Write-only — masked on reads.","uniqueKey":"config.oneOf.12.redshift.password.oneOf.0","typeLabel":"string"},{"type":"null","description":"Password. Write-only — masked on reads.","uniqueKey":"config.oneOf.12.redshift.password.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.12.redshift.password","typeLabel":"string | null"},"host":{"oneOf":[{"type":"string","minLength":1,"description":"Cluster endpoint hostname.","uniqueKey":"config.oneOf.12.redshift.host.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Cluster endpoint hostname.","uniqueKey":"config.oneOf.12.redshift.host.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.12.redshift.host","typeLabel":"string | null"},"port":{"oneOf":[{"type":"integer","maximum":65535,"minimum":1,"format":"int32","description":"Port (typically 5439).","uniqueKey":"config.oneOf.12.redshift.port.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","maximum":65535,"minimum":1,"format":"int32","description":"Port (typically 5439).","uniqueKey":"config.oneOf.12.redshift.port.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.12.redshift.port","typeLabel":"integer\u003cint32> | null"},"database":{"oneOf":[{"type":"string","description":"Database to connect to and ingest metadata from.","uniqueKey":"config.oneOf.12.redshift.database.oneOf.0","typeLabel":"string"},{"type":"null","description":"Database to connect to and ingest metadata from.","uniqueKey":"config.oneOf.12.redshift.database.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.12.redshift.database","typeLabel":"string | null"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","description":"Ingest query logs from system views.","uniqueKey":"config.oneOf.12.redshift.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Ingest query logs from system views.","uniqueKey":"config.oneOf.12.redshift.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.12.redshift.fetchQueryLogs","typeLabel":"boolean | null"},"freshnessFromQueryLogs":{"oneOf":[{"type":"boolean","description":"Estimate table freshness from query logs (SYS_QUERY_DETAIL).","uniqueKey":"config.oneOf.12.redshift.freshnessFromQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Estimate table freshness from query logs (SYS_QUERY_DETAIL).","uniqueKey":"config.oneOf.12.redshift.freshnessFromQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.12.redshift.freshnessFromQueryLogs","typeLabel":"boolean | null"},"auditTableFqn":{"oneOf":[{"type":"string","description":"Table name for storing SQL test audit logs (e.g., 'sql_test_audit').\n Auto-creation quotes the value as a single identifier, so a schema-qualified\n name only works against a table you have created yourself.","uniqueKey":"config.oneOf.12.redshift.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","description":"Table name for storing SQL test audit logs (e.g., 'sql_test_audit').\n Auto-creation quotes the value as a single identifier, so a schema-qualified\n name only works against a table you have created yourself.","uniqueKey":"config.oneOf.12.redshift.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.12.redshift.auditTableFqn","typeLabel":"string | null"},"useShowCreateTable":{"oneOf":[{"type":"boolean","description":"Read each table's DDL with SHOW TABLE (one statement per table).","uniqueKey":"config.oneOf.12.redshift.useShowCreateTable.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Read each table's DDL with SHOW TABLE (one statement per table).","uniqueKey":"config.oneOf.12.redshift.useShowCreateTable.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.12.redshift.useShowCreateTable","typeLabel":"boolean | null"}},"title":"redshift","additionalProperties":false,"description":"Amazon Redshift connection.","isRequired":true,"uniqueKey":"config.oneOf.12.redshift","typeLabel":"redshift · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"config.oneOf.12","typeLabel":"redshift · object"},{"type":"object","title":"snowflake","description":"New connection configuration. The populated `config` variant must match the\n existing integration's type.","required":["snowflake"],"properties":{"snowflake":{"oneOf":[{"type":"object","title":"snowflake","description":"Snowflake connection.","required":["keyPair"],"properties":{"keyPair":{"type":"object","properties":{"privateKeySecret":{"oneOf":[{"type":"string","description":"PEM-encoded private key (PKCS#8). Write-only — masked on reads. Required\n when using key-pair auth.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.keyPair.privateKeySecret.oneOf.0","typeLabel":"string"},{"type":"null","description":"PEM-encoded private key (PKCS#8). Write-only — masked on reads. Required\n when using key-pair auth.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.keyPair.privateKeySecret.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.0.keyPair.privateKeySecret","typeLabel":"string | null"},"publicKey":{"oneOf":[{"type":"string","description":"Public key corresponding to the private key. For a Coalesce Quality–managed\n key pair this is returned so you can register it on the Snowflake user; when\n you supply your own key it is optional.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.keyPair.publicKey.oneOf.0","typeLabel":"string"},{"type":"null","description":"Public key corresponding to the private key. For a Coalesce Quality–managed\n key pair this is returned so you can register it on the Snowflake user; when\n you supply your own key it is optional.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.keyPair.publicKey.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.0.keyPair.publicKey","typeLabel":"string | null"},"privateKeyPassphrase":{"oneOf":[{"type":"string","description":"Optional passphrase for an encrypted private key. Write-only — masked on\n reads.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.keyPair.privateKeyPassphrase.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional passphrase for an encrypted private key. Write-only — masked on\n reads.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.keyPair.privateKeyPassphrase.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.0.keyPair.privateKeyPassphrase","typeLabel":"string | null"}},"title":"key_pair","additionalProperties":false,"description":"Key-pair authentication.","isRequired":true,"uniqueKey":"config.oneOf.13.snowflake.oneOf.0.keyPair","typeLabel":"key_pair · object"},"user":{"oneOf":[{"type":"string","title":"user","description":"Snowflake username.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.user.oneOf.0","typeLabel":"string"},{"type":"null","title":"user","description":"Snowflake username.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.user.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.0.user","typeLabel":"string | null"},"account":{"oneOf":[{"type":"string","title":"account","description":"Account identifier (e.g. \"xy12345.us-east-1\") without scheme or trailing slash.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.account.oneOf.0","typeLabel":"string"},{"type":"null","title":"account","description":"Account identifier (e.g. \"xy12345.us-east-1\") without scheme or trailing slash.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.account.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.0.account","typeLabel":"string | null"},"warehouse":{"oneOf":[{"type":"string","title":"warehouse","description":"Warehouse to run queries on.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.warehouse.oneOf.0","typeLabel":"string"},{"type":"null","title":"warehouse","description":"Warehouse to run queries on.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.warehouse.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.0.warehouse","typeLabel":"string | null"},"databases":{"type":"array","items":{"type":"string","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.databases.items.[INDEX]","typeLabel":"string"},"title":"databases","description":"Databases to monitor and ingest metadata from.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.databases","typeLabel":"string[]"},"role":{"oneOf":[{"type":"string","title":"role","description":"Role to use for metadata access and queries.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.role.oneOf.0","typeLabel":"string"},{"type":"null","title":"role","description":"Role to use for metadata access and queries.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.role.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.0.role","typeLabel":"string | null"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","title":"fetch_query_logs","description":"Ingest query logs from the ACCOUNT_USAGE schema.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_query_logs","description":"Ingest query logs from the ACCOUNT_USAGE schema.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.0.fetchQueryLogs","typeLabel":"boolean | null"},"fetchQueryLogsDatabases":{"type":"array","items":{"type":"string","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.fetchQueryLogsDatabases.items.[INDEX]","typeLabel":"string"},"title":"fetch_query_logs_databases","description":"Databases to fetch query logs from (defaults to all configured databases).","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.fetchQueryLogsDatabases","typeLabel":"string[]"},"auditTableFqn":{"oneOf":[{"type":"string","title":"audit_table_fqn","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","title":"audit_table_fqn","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.0.auditTableFqn","typeLabel":"string | null"},"noGetDdl":{"oneOf":[{"type":"boolean","title":"no_get_ddl","description":"Skip GET_DDL for table definitions (use query logs instead).","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.noGetDdl.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"no_get_ddl","description":"Skip GET_DDL for table definitions (use query logs instead).","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.noGetDdl.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.0.noGetDdl","typeLabel":"boolean | null"},"fetchTasks":{"oneOf":[{"type":"boolean","title":"fetch_tasks","description":"Ingest Snowflake Tasks metadata.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.fetchTasks.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_tasks","description":"Ingest Snowflake Tasks metadata.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.fetchTasks.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.0.fetchTasks","typeLabel":"boolean | null"},"fetchTasksDatabases":{"type":"array","items":{"type":"string","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.fetchTasksDatabases.items.[INDEX]","typeLabel":"string"},"title":"fetch_tasks_databases","description":"Databases to retrieve tasks from (defaults to all configured databases).","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.fetchTasksDatabases","typeLabel":"string[]"},"fetchTasksExecutionsFromAccountUsage":{"oneOf":[{"type":"boolean","title":"fetch_tasks_executions_from_account_usage","description":"Use ACCOUNT_USAGE.TASK_HISTORY for task execution history.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.fetchTasksExecutionsFromAccountUsage.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_tasks_executions_from_account_usage","description":"Use ACCOUNT_USAGE.TASK_HISTORY for task execution history.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.fetchTasksExecutionsFromAccountUsage.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.0.fetchTasksExecutionsFromAccountUsage","typeLabel":"boolean | null"},"fetchTasksExecutionsDuration":{"oneOf":[{"type":"string","format":"duration","description":"Time range for fetching task execution history (minimum 5 minutes).","title":"fetch_tasks_executions_duration","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.fetchTasksExecutionsDuration.oneOf.0","typeLabel":"string\u003cduration>"},{"type":"null","format":"duration","description":"Time range for fetching task execution history (minimum 5 minutes).","title":"fetch_tasks_executions_duration","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.fetchTasksExecutionsDuration.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.0.fetchTasksExecutionsDuration","typeLabel":"string\u003cduration> | null"},"fetchTableLineage":{"oneOf":[{"type":"boolean","title":"fetch_table_lineage","description":"Produce table-level lineage via GET_LINEAGE (Enterprise edition or higher).","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.fetchTableLineage.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_table_lineage","description":"Produce table-level lineage via GET_LINEAGE (Enterprise edition or higher).","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.fetchTableLineage.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.0.fetchTableLineage","typeLabel":"boolean | null"},"fetchTableLineageDatabases":{"type":"array","items":{"type":"string","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.fetchTableLineageDatabases.items.[INDEX]","typeLabel":"string"},"title":"fetch_table_lineage_databases","description":"Databases to fetch upstream lineage from (defaults to `databases`).","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.fetchTableLineageDatabases","typeLabel":"string[]"},"accountUsageDb":{"oneOf":[{"type":"string","title":"account_usage_db","description":"Database where the ACCOUNT_USAGE schema lives (defaults to \"SNOWFLAKE\").","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.accountUsageDb.oneOf.0","typeLabel":"string"},{"type":"null","title":"account_usage_db","description":"Database where the ACCOUNT_USAGE schema lives (defaults to \"SNOWFLAKE\").","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.accountUsageDb.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.0.accountUsageDb","typeLabel":"string | null"},"catalogFromAccountUsage":{"oneOf":[{"type":"boolean","title":"catalog_from_account_usage","description":"Read databases, schemas, tables, columns and view definitions from ACCOUNT_USAGE, for a role\n with only IMPORTED PRIVILEGES on the SNOWFLAKE database. New objects show up to three hours\n late.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.catalogFromAccountUsage.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"catalog_from_account_usage","description":"Read databases, schemas, tables, columns and view definitions from ACCOUNT_USAGE, for a role\n with only IMPORTED PRIVILEGES on the SNOWFLAKE database. New objects show up to three hours\n late.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.catalogFromAccountUsage.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.0.catalogFromAccountUsage","typeLabel":"boolean | null"},"tableMetricsFromAccountUsage":{"oneOf":[{"type":"boolean","title":"table_metrics_from_account_usage","description":"Read table row counts, sizes and last change times from ACCOUNT_USAGE. Freshness is then up\n to three hours late.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.tableMetricsFromAccountUsage.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"table_metrics_from_account_usage","description":"Read table row counts, sizes and last change times from ACCOUNT_USAGE. Freshness is then up\n to three hours late.","uniqueKey":"config.oneOf.13.snowflake.oneOf.0.tableMetricsFromAccountUsage.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.0.tableMetricsFromAccountUsage","typeLabel":"boolean | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"config.oneOf.13.snowflake.oneOf.0","typeLabel":"snowflake · object"},{"type":"object","title":"snowflake","description":"Snowflake connection.","required":["password"],"properties":{"password":{"type":"string","title":"password","description":"Password. Write-only — masked on reads.","isRequired":true,"uniqueKey":"config.oneOf.13.snowflake.oneOf.1.password","typeLabel":"string"},"user":{"oneOf":[{"type":"string","title":"user","description":"Snowflake username.","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.user.oneOf.0","typeLabel":"string"},{"type":"null","title":"user","description":"Snowflake username.","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.user.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.1.user","typeLabel":"string | null"},"account":{"oneOf":[{"type":"string","title":"account","description":"Account identifier (e.g. \"xy12345.us-east-1\") without scheme or trailing slash.","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.account.oneOf.0","typeLabel":"string"},{"type":"null","title":"account","description":"Account identifier (e.g. \"xy12345.us-east-1\") without scheme or trailing slash.","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.account.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.1.account","typeLabel":"string | null"},"warehouse":{"oneOf":[{"type":"string","title":"warehouse","description":"Warehouse to run queries on.","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.warehouse.oneOf.0","typeLabel":"string"},{"type":"null","title":"warehouse","description":"Warehouse to run queries on.","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.warehouse.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.1.warehouse","typeLabel":"string | null"},"databases":{"type":"array","items":{"type":"string","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.databases.items.[INDEX]","typeLabel":"string"},"title":"databases","description":"Databases to monitor and ingest metadata from.","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.databases","typeLabel":"string[]"},"role":{"oneOf":[{"type":"string","title":"role","description":"Role to use for metadata access and queries.","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.role.oneOf.0","typeLabel":"string"},{"type":"null","title":"role","description":"Role to use for metadata access and queries.","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.role.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.1.role","typeLabel":"string | null"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","title":"fetch_query_logs","description":"Ingest query logs from the ACCOUNT_USAGE schema.","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_query_logs","description":"Ingest query logs from the ACCOUNT_USAGE schema.","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.1.fetchQueryLogs","typeLabel":"boolean | null"},"fetchQueryLogsDatabases":{"type":"array","items":{"type":"string","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.fetchQueryLogsDatabases.items.[INDEX]","typeLabel":"string"},"title":"fetch_query_logs_databases","description":"Databases to fetch query logs from (defaults to all configured databases).","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.fetchQueryLogsDatabases","typeLabel":"string[]"},"auditTableFqn":{"oneOf":[{"type":"string","title":"audit_table_fqn","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","title":"audit_table_fqn","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.1.auditTableFqn","typeLabel":"string | null"},"noGetDdl":{"oneOf":[{"type":"boolean","title":"no_get_ddl","description":"Skip GET_DDL for table definitions (use query logs instead).","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.noGetDdl.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"no_get_ddl","description":"Skip GET_DDL for table definitions (use query logs instead).","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.noGetDdl.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.1.noGetDdl","typeLabel":"boolean | null"},"fetchTasks":{"oneOf":[{"type":"boolean","title":"fetch_tasks","description":"Ingest Snowflake Tasks metadata.","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.fetchTasks.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_tasks","description":"Ingest Snowflake Tasks metadata.","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.fetchTasks.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.1.fetchTasks","typeLabel":"boolean | null"},"fetchTasksDatabases":{"type":"array","items":{"type":"string","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.fetchTasksDatabases.items.[INDEX]","typeLabel":"string"},"title":"fetch_tasks_databases","description":"Databases to retrieve tasks from (defaults to all configured databases).","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.fetchTasksDatabases","typeLabel":"string[]"},"fetchTasksExecutionsFromAccountUsage":{"oneOf":[{"type":"boolean","title":"fetch_tasks_executions_from_account_usage","description":"Use ACCOUNT_USAGE.TASK_HISTORY for task execution history.","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.fetchTasksExecutionsFromAccountUsage.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_tasks_executions_from_account_usage","description":"Use ACCOUNT_USAGE.TASK_HISTORY for task execution history.","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.fetchTasksExecutionsFromAccountUsage.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.1.fetchTasksExecutionsFromAccountUsage","typeLabel":"boolean | null"},"fetchTasksExecutionsDuration":{"oneOf":[{"type":"string","format":"duration","description":"Time range for fetching task execution history (minimum 5 minutes).","title":"fetch_tasks_executions_duration","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.fetchTasksExecutionsDuration.oneOf.0","typeLabel":"string\u003cduration>"},{"type":"null","format":"duration","description":"Time range for fetching task execution history (minimum 5 minutes).","title":"fetch_tasks_executions_duration","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.fetchTasksExecutionsDuration.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.1.fetchTasksExecutionsDuration","typeLabel":"string\u003cduration> | null"},"fetchTableLineage":{"oneOf":[{"type":"boolean","title":"fetch_table_lineage","description":"Produce table-level lineage via GET_LINEAGE (Enterprise edition or higher).","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.fetchTableLineage.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_table_lineage","description":"Produce table-level lineage via GET_LINEAGE (Enterprise edition or higher).","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.fetchTableLineage.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.1.fetchTableLineage","typeLabel":"boolean | null"},"fetchTableLineageDatabases":{"type":"array","items":{"type":"string","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.fetchTableLineageDatabases.items.[INDEX]","typeLabel":"string"},"title":"fetch_table_lineage_databases","description":"Databases to fetch upstream lineage from (defaults to `databases`).","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.fetchTableLineageDatabases","typeLabel":"string[]"},"accountUsageDb":{"oneOf":[{"type":"string","title":"account_usage_db","description":"Database where the ACCOUNT_USAGE schema lives (defaults to \"SNOWFLAKE\").","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.accountUsageDb.oneOf.0","typeLabel":"string"},{"type":"null","title":"account_usage_db","description":"Database where the ACCOUNT_USAGE schema lives (defaults to \"SNOWFLAKE\").","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.accountUsageDb.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.1.accountUsageDb","typeLabel":"string | null"},"catalogFromAccountUsage":{"oneOf":[{"type":"boolean","title":"catalog_from_account_usage","description":"Read databases, schemas, tables, columns and view definitions from ACCOUNT_USAGE, for a role\n with only IMPORTED PRIVILEGES on the SNOWFLAKE database. New objects show up to three hours\n late.","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.catalogFromAccountUsage.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"catalog_from_account_usage","description":"Read databases, schemas, tables, columns and view definitions from ACCOUNT_USAGE, for a role\n with only IMPORTED PRIVILEGES on the SNOWFLAKE database. New objects show up to three hours\n late.","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.catalogFromAccountUsage.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.1.catalogFromAccountUsage","typeLabel":"boolean | null"},"tableMetricsFromAccountUsage":{"oneOf":[{"type":"boolean","title":"table_metrics_from_account_usage","description":"Read table row counts, sizes and last change times from ACCOUNT_USAGE. Freshness is then up\n to three hours late.","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.tableMetricsFromAccountUsage.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"table_metrics_from_account_usage","description":"Read table row counts, sizes and last change times from ACCOUNT_USAGE. Freshness is then up\n to three hours late.","uniqueKey":"config.oneOf.13.snowflake.oneOf.1.tableMetricsFromAccountUsage.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.13.snowflake.oneOf.1.tableMetricsFromAccountUsage","typeLabel":"boolean | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"config.oneOf.13.snowflake.oneOf.1","typeLabel":"snowflake · object"}],"isRequired":true,"uniqueKey":"config.oneOf.13.snowflake","typeLabel":"snowflake · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"config.oneOf.13","typeLabel":"snowflake · object"},{"type":"object","title":"trino","description":"New connection configuration. The populated `config` variant must match the\n existing integration's type.","required":["trino"],"properties":{"trino":{"type":"object","title":"trino","description":"Trino / Presto connection.","required":["basic"],"properties":{"basic":{"type":"object","properties":{"user":{"oneOf":[{"type":"string","description":"Trino username.","uniqueKey":"config.oneOf.14.trino.basic.user.oneOf.0","typeLabel":"string"},{"type":"null","description":"Trino username.","uniqueKey":"config.oneOf.14.trino.basic.user.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.14.trino.basic.user","typeLabel":"string | null"},"password":{"oneOf":[{"type":"string","description":"Trino password. Write-only — masked on reads.","uniqueKey":"config.oneOf.14.trino.basic.password.oneOf.0","typeLabel":"string"},{"type":"null","description":"Trino password. Write-only — masked on reads.","uniqueKey":"config.oneOf.14.trino.basic.password.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.14.trino.basic.password","typeLabel":"string | null"}},"title":"basic","additionalProperties":false,"description":"Basic username/password auth.","isRequired":true,"uniqueKey":"config.oneOf.14.trino.basic","typeLabel":"basic · object"},"host":{"oneOf":[{"type":"string","title":"host","format":"hostname","description":"Coordinator hostname or IP.","uniqueKey":"config.oneOf.14.trino.host.oneOf.0","typeLabel":"string\u003chostname>"},{"type":"null","title":"host","format":"hostname","description":"Coordinator hostname or IP.","uniqueKey":"config.oneOf.14.trino.host.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.14.trino.host","typeLabel":"string\u003chostname> | null"},"port":{"oneOf":[{"type":"integer","title":"port","maximum":65535,"minimum":1,"format":"int32","description":"Port (leave unset for the driver default — typically 443 for HTTPS,\n 8080 for HTTP).","uniqueKey":"config.oneOf.14.trino.port.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","title":"port","maximum":65535,"minimum":1,"format":"int32","description":"Port (leave unset for the driver default — typically 443 for HTTPS,\n 8080 for HTTP).","uniqueKey":"config.oneOf.14.trino.port.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.14.trino.port","typeLabel":"integer\u003cint32> | null"},"catalogs":{"type":"array","items":{"type":"string","minLength":1,"uniqueKey":"config.oneOf.14.trino.catalogs.items.[INDEX]","typeLabel":"string"},"title":"catalogs","description":"Catalogs to ingest metadata from (e.g. [\"hive\", \"postgresql\"]).","uniqueKey":"config.oneOf.14.trino.catalogs","typeLabel":"string[]"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","title":"fetch_query_logs","description":"Has no effect. Trino keeps only the coordinator's recent queries in memory, which is not a\n complete history, so Trino query logs are not read.","deprecated":true,"uniqueKey":"config.oneOf.14.trino.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_query_logs","description":"Has no effect. Trino keeps only the coordinator's recent queries in memory, which is not a\n complete history, so Trino query logs are not read.","deprecated":true,"uniqueKey":"config.oneOf.14.trino.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.14.trino.fetchQueryLogs","typeLabel":"boolean | null"},"noShowCreateView":{"oneOf":[{"type":"boolean","title":"no_show_create_view","description":"Disable SHOW CREATE VIEW for view DDL.","uniqueKey":"config.oneOf.14.trino.noShowCreateView.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"no_show_create_view","description":"Disable SHOW CREATE VIEW for view DDL.","uniqueKey":"config.oneOf.14.trino.noShowCreateView.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.14.trino.noShowCreateView","typeLabel":"boolean | null"},"noShowCreateTable":{"oneOf":[{"type":"boolean","title":"no_show_create_table","description":"Disable SHOW CREATE TABLE for table DDL.","uniqueKey":"config.oneOf.14.trino.noShowCreateTable.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"no_show_create_table","description":"Disable SHOW CREATE TABLE for table DDL.","uniqueKey":"config.oneOf.14.trino.noShowCreateTable.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.14.trino.noShowCreateTable","typeLabel":"boolean | null"},"noMaterializedViews":{"oneOf":[{"type":"boolean","title":"no_materialized_views","description":"Disable fetching materialized views from system.metadata.materialized_views.","uniqueKey":"config.oneOf.14.trino.noMaterializedViews.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"no_materialized_views","description":"Disable fetching materialized views from system.metadata.materialized_views.","uniqueKey":"config.oneOf.14.trino.noMaterializedViews.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.14.trino.noMaterializedViews","typeLabel":"boolean | null"},"fetchTableComments":{"oneOf":[{"type":"boolean","title":"fetch_table_comments","description":"Fetch table comments from system.metadata.table_comments.","uniqueKey":"config.oneOf.14.trino.fetchTableComments.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_table_comments","description":"Fetch table comments from system.metadata.table_comments.","uniqueKey":"config.oneOf.14.trino.fetchTableComments.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.14.trino.fetchTableComments","typeLabel":"boolean | null"},"usePlaintext":{"oneOf":[{"type":"boolean","title":"use_plaintext","description":"Use plaintext HTTP instead of HTTPS. Only enable when SSL is unsupported or\n the connection is otherwise secured (e.g. a VPN).","uniqueKey":"config.oneOf.14.trino.usePlaintext.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"use_plaintext","description":"Use plaintext HTTP instead of HTTPS. Only enable when SSL is unsupported or\n the connection is otherwise secured (e.g. a VPN).","uniqueKey":"config.oneOf.14.trino.usePlaintext.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.14.trino.usePlaintext","typeLabel":"boolean | null"},"auditTableFqn":{"oneOf":[{"type":"string","title":"audit_table_fqn","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"config.oneOf.14.trino.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","title":"audit_table_fqn","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"config.oneOf.14.trino.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.14.trino.auditTableFqn","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"config.oneOf.14.trino","typeLabel":"trino · object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"config.oneOf.14","typeLabel":"trino · object"}],"isRequired":true,"uniqueKey":"config","typeLabel":"athena · object | bigquery · object | clickhouse · object | databricks · object | db2 · object | dbt_cloud · object | duckdb · object | fabric · object | mssql · object | mysql · object | oracle · object | postgres · object | redshift · object | snowflake · object | trino · object"},"title":{"oneOf":[{"type":"string","title":"title","maxLength":255,"minLength":1,"description":"New human-friendly name. Omit to leave the title unchanged.","uniqueKey":"title.oneOf.0","typeLabel":"string"},{"type":"null","title":"title","maxLength":255,"minLength":1,"description":"New human-friendly name. Omit to leave the title unchanged.","uniqueKey":"title.oneOf.1","typeLabel":"null"}],"uniqueKey":"title","typeLabel":"string | null"},"etag":{"oneOf":[{"type":"string","title":"etag","description":"Optional optimistic-concurrency guard. When set, the update is applied only\n if it matches the integration's current etag; otherwise ABORTED\n (HTTP 409). Omit for last-write-wins.","uniqueKey":"etag.oneOf.0","typeLabel":"string"},{"type":"null","title":"etag","description":"Optional optimistic-concurrency guard. When set, the update is applied only\n if it matches the integration's current etag; otherwise ABORTED\n (HTTP 409). Omit for last-write-wins.","uniqueKey":"etag.oneOf.1","typeLabel":"null"}],"uniqueKey":"etag","typeLabel":"string | null"}},"title":"UpdateIntegrationRequest","required":["config"],"additionalProperties":false,"description":"Request to update an integration. The `config` is replaced wholesale; `title`\n is patch-style (omit to leave unchanged).","uniqueKey":"","typeLabel":"UpdateIntegrationRequest · object"},"examples":{"Example":{"title":"Example","value":{"config":{"athena":{"accessKey":{"accessKeyId":"\u003cstring>","secretAccessKey":"\u003cstring>"},"region":"\u003cstring>","workgroup":"\u003cstring>","useShowCreateTable":true,"useShowCreateView":true,"fetchQueryLogs":true,"useIcebergMetricsScan":true,"scope":{"include":[{"database":"\u003cstring>","schema":"\u003cstring>","table":"\u003cstring>"}],"exclude":[{"database":"\u003cstring>","schema":"\u003cstring>","table":"\u003cstring>"}]}}},"title":"\u003cstring>","etag":"\u003cstring>"}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"e64cea4c-ca03-438a-a7e8-0555a3c8c8bd":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"integration":{"type":"object","properties":{"id":{"type":"string","description":"Server-assigned unique identifier (UUID). Use it to address the integration\n in `GetIntegration`, `UpdateIntegration`, `DeleteIntegration`, and the\n enable / disable / refresh / health RPCs.","uniqueKey":"integration.id","typeLabel":"string"},"title":{"type":"string","description":"Human-friendly name shown in the Coalesce Quality UI. Set by you on create\n and editable via update.","uniqueKey":"integration.title","typeLabel":"string"},"disabled":{"type":"boolean","description":"Whether the integration is currently disabled. A disabled integration keeps\n its configuration but is not scheduled or refreshed. Toggle with\n `EnableIntegration` / `DisableIntegration`.","uniqueKey":"integration.disabled","typeLabel":"boolean"},"createdAt":{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the integration was created.","uniqueKey":"integration.createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","examples":["2023-01-15T01:30:15.01Z","2024-12-25T12:00:00Z"],"format":"date-time","description":"When the integration was last modified (configuration, title, or\n enabled / disabled state).","uniqueKey":"integration.updatedAt","typeLabel":"string\u003cdate-time>"},"etag":{"type":"string","description":"Opaque entity tag for optimistic concurrency. Pass it back as\n `UpdateIntegrationRequest.etag` / `DeleteIntegrationRequest.etag` to ensure\n you are modifying the version you last read; a mismatch is rejected with a\n 409 / ABORTED. The value is weak (prefixed `W/`) and opaque —\n do not parse it.","uniqueKey":"integration.etag","typeLabel":"string"},"platform":{"type":"string","title":"DataPlatformType","enum":["DATA_PLATFORM_TYPE_UNSPECIFIED","DATA_PLATFORM_TYPE_BIGQUERY","DATA_PLATFORM_TYPE_LOOKER","DATA_PLATFORM_TYPE_DBT","DATA_PLATFORM_TYPE_DBT_CLOUD","DATA_PLATFORM_TYPE_DBT_SELF_HOSTED","DATA_PLATFORM_TYPE_SNOWFLAKE","DATA_PLATFORM_TYPE_GCP","DATA_PLATFORM_TYPE_GIT","DATA_PLATFORM_TYPE_GITHUB","DATA_PLATFORM_TYPE_REDSHIFT","DATA_PLATFORM_TYPE_TABLEAU","DATA_PLATFORM_TYPE_AIRFLOW","DATA_PLATFORM_TYPE_CLICKHOUSE","DATA_PLATFORM_TYPE_POSTGRES","DATA_PLATFORM_TYPE_MYSQL","DATA_PLATFORM_TYPE_DATABRICKS","DATA_PLATFORM_TYPE_SQLMESH","DATA_PLATFORM_TYPE_DUCKDB","DATA_PLATFORM_TYPE_TRINO","DATA_PLATFORM_TYPE_ATLAN","DATA_PLATFORM_TYPE_COALESCE","DATA_PLATFORM_TYPE_CASTORDOC","DATA_PLATFORM_TYPE_FIVETRAN","DATA_PLATFORM_TYPE_DAGSTER","DATA_PLATFORM_TYPE_AIRBYTE","DATA_PLATFORM_TYPE_STITCH","DATA_PLATFORM_TYPE_SNOWPLOW","DATA_PLATFORM_TYPE_POWERBI","DATA_PLATFORM_TYPE_THOUGHTSPOT","DATA_PLATFORM_TYPE_SIGMA","DATA_PLATFORM_TYPE_DOMO","DATA_PLATFORM_TYPE_MSSQL","DATA_PLATFORM_TYPE_ORACLE","DATA_PLATFORM_TYPE_ATHENA","DATA_PLATFORM_TYPE_FABRIC","DATA_PLATFORM_TYPE_DB2","DATA_PLATFORM_TYPE_LOOKER_STUDIO","DATA_PLATFORM_TYPE_HEX","DATA_PLATFORM_TYPE_OMNI","DATA_PLATFORM_TYPE_METABASE","DATA_PLATFORM_TYPE_GOOGLE_SHEETS","DATA_PLATFORM_TYPE_GRAFANA","DATA_PLATFORM_TYPE_STREAMLIT","DATA_PLATFORM_TYPE_ASTRATO","DATA_PLATFORM_TYPE_SNOWFLAKE_CORTEX","DATA_PLATFORM_TYPE_SNOWFLAKE_INTELLIGENCE","DATA_PLATFORM_TYPE_CUBE","DATA_PLATFORM_TYPE_CENSUS","DATA_PLATFORM_TYPE_HIGHTOUCH","DATA_PLATFORM_TYPE_WORKATO","DATA_PLATFORM_TYPE_ESTUARY","DATA_PLATFORM_TYPE_DLT","DATA_PLATFORM_TYPE_TERRAFORM","DATA_PLATFORM_TYPE_HEVO","DATA_PLATFORM_TYPE_DATASTREAM","DATA_PLATFORM_TYPE_QLIK","DATA_PLATFORM_TYPE_SALESFORCE","DATA_PLATFORM_TYPE_SYNQ"],"description":"The data platform this integration connects to (for example POSTGRES,\n CLICKHOUSE, SNOWFLAKE). UNSPECIFIED for integrations that are not data\n warehouses or databases.","uniqueKey":"integration.platform","typeLabel":"enum\u003cstring>"},"dialect":{"type":"string","title":"SqlDialect","enum":["SQL_DIALECT_UNSPECIFIED","SQL_DIALECT_BIGQUERY","SQL_DIALECT_CLICKHOUSE","SQL_DIALECT_DATABRICKS","SQL_DIALECT_MYSQL","SQL_DIALECT_POSTGRESQL","SQL_DIALECT_REDSHIFT","SQL_DIALECT_SNOWFLAKE","SQL_DIALECT_DUCKDB","SQL_DIALECT_TRINO","SQL_DIALECT_MSSQL","SQL_DIALECT_ORACLE","SQL_DIALECT_ATHENA","SQL_DIALECT_FABRIC","SQL_DIALECT_DB2"],"description":"The SQL dialect this integration understands — useful when writing SQL\n against it, such as custom monitors or reconciliation queries. Determined\n by the platform. UNSPECIFIED for integrations that are not data warehouses\n or databases.","uniqueKey":"integration.dialect","typeLabel":"enum\u003cstring>"},"config":{"oneOf":[{"type":"object","title":"athena","description":"Connection configuration. Secret fields are masked (empty) on reads.","required":["athena"],"properties":{"athena":{"type":"object","title":"athena","description":"Amazon Athena connection.","required":["accessKey"],"properties":{"accessKey":{"type":"object","properties":{"accessKeyId":{"oneOf":[{"type":"string","minLength":16,"description":"AWS access key id (e.g. \"AKIA...\").","uniqueKey":"integration.config.oneOf.0.athena.accessKey.accessKeyId.oneOf.0","typeLabel":"string"},{"type":"null","minLength":16,"description":"AWS access key id (e.g. \"AKIA...\").","uniqueKey":"integration.config.oneOf.0.athena.accessKey.accessKeyId.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.0.athena.accessKey.accessKeyId","typeLabel":"string | null"},"secretAccessKey":{"oneOf":[{"type":"string","description":"AWS secret access key. Write-only — masked on reads.","uniqueKey":"integration.config.oneOf.0.athena.accessKey.secretAccessKey.oneOf.0","typeLabel":"string"},{"type":"null","description":"AWS secret access key. Write-only — masked on reads.","uniqueKey":"integration.config.oneOf.0.athena.accessKey.secretAccessKey.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.0.athena.accessKey.secretAccessKey","typeLabel":"string | null"}},"title":"access_key","additionalProperties":false,"description":"Long-lived IAM user access key.","isRequired":true,"uniqueKey":"integration.config.oneOf.0.athena.accessKey","typeLabel":"access_key · object"},"region":{"oneOf":[{"type":"string","title":"region","minLength":1,"description":"AWS region hosting Athena and the Glue Data Catalog (e.g. \"eu-central-1\").","uniqueKey":"integration.config.oneOf.0.athena.region.oneOf.0","typeLabel":"string"},{"type":"null","title":"region","minLength":1,"description":"AWS region hosting Athena and the Glue Data Catalog (e.g. \"eu-central-1\").","uniqueKey":"integration.config.oneOf.0.athena.region.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.0.athena.region","typeLabel":"string | null"},"workgroup":{"oneOf":[{"type":"string","title":"workgroup","description":"Workgroup to run queries under. Defaults to \"primary\" when empty; must have\n a query result location configured.","uniqueKey":"integration.config.oneOf.0.athena.workgroup.oneOf.0","typeLabel":"string"},{"type":"null","title":"workgroup","description":"Workgroup to run queries under. Defaults to \"primary\" when empty; must have\n a query result location configured.","uniqueKey":"integration.config.oneOf.0.athena.workgroup.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.0.athena.workgroup","typeLabel":"string | null"},"useShowCreateTable":{"oneOf":[{"type":"boolean","title":"use_show_create_table","description":"Use SHOW CREATE TABLE per object to retrieve full table DDL.","uniqueKey":"integration.config.oneOf.0.athena.useShowCreateTable.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"use_show_create_table","description":"Use SHOW CREATE TABLE per object to retrieve full table DDL.","uniqueKey":"integration.config.oneOf.0.athena.useShowCreateTable.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.0.athena.useShowCreateTable","typeLabel":"boolean | null"},"useShowCreateView":{"oneOf":[{"type":"boolean","title":"use_show_create_view","description":"Use SHOW CREATE VIEW per view to retrieve full view DDL.","uniqueKey":"integration.config.oneOf.0.athena.useShowCreateView.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"use_show_create_view","description":"Use SHOW CREATE VIEW per view to retrieve full view DDL.","uniqueKey":"integration.config.oneOf.0.athena.useShowCreateView.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.0.athena.useShowCreateView","typeLabel":"boolean | null"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","title":"fetch_query_logs","description":"Fetch Athena query history (management API calls; no per-scan billing).","uniqueKey":"integration.config.oneOf.0.athena.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_query_logs","description":"Fetch Athena query history (management API calls; no per-scan billing).","uniqueKey":"integration.config.oneOf.0.athena.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.0.athena.fetchQueryLogs","typeLabel":"boolean | null"},"useIcebergMetricsScan":{"oneOf":[{"type":"boolean","title":"use_iceberg_metrics_scan","description":"For Iceberg tables, scan metadata tables for row counts and file sizes (one\n Athena query per table).","uniqueKey":"integration.config.oneOf.0.athena.useIcebergMetricsScan.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"use_iceberg_metrics_scan","description":"For Iceberg tables, scan metadata tables for row counts and file sizes (one\n Athena query per table).","uniqueKey":"integration.config.oneOf.0.athena.useIcebergMetricsScan.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.0.athena.useIcebergMetricsScan","typeLabel":"boolean | null"},"scope":{"oneOf":[{"type":"object","properties":{"include":{"type":"array","items":{"type":"object","properties":{"database":{"type":"string","maxLength":256,"description":"Database-level pattern.\n Only meaningful for warehouses that expose more than one database/catalog\n per connection — Snowflake \u0026 Trino (catalog), Databricks (catalog), Athena\n (Glue catalog), DuckDB (database). Ignored by single-database/-project\n connections (Postgres, Redshift, MSSQL, Oracle, BigQuery project) and by\n MySQL/ClickHouse, which filter their namespace at the schema level below.","uniqueKey":"integration.config.oneOf.0.athena.scope.oneOf.0.include.items.[INDEX].database","typeLabel":"string"},"schema":{"type":"string","maxLength":256,"description":"Schema-level pattern. The level directly above a table.\n Maps to: dataset in BigQuery; database (namespace) in MySQL \u0026 ClickHouse;\n schema in Postgres/Redshift/Snowflake/Trino/MSSQL; owner in Oracle.","uniqueKey":"integration.config.oneOf.0.athena.scope.oneOf.0.include.items.[INDEX].schema","typeLabel":"string"},"table":{"type":"string","maxLength":256,"description":"Table or view name pattern.","uniqueKey":"integration.config.oneOf.0.athena.scope.oneOf.0.include.items.[INDEX].table","typeLabel":"string"}},"title":"ScopeRule","additionalProperties":false,"description":"ScopeRule is a multi-level pattern for matching data warehouse objects.\n All non-empty fields must match for the rule to apply.\n Empty field means \"match anything\" at that level (wildcard).\n Patterns support glob syntax where * matches zero or more characters.\n Matching is case-insensitive.","uniqueKey":"integration.config.oneOf.0.athena.scope.oneOf.0.include.items.[INDEX]","typeLabel":"ScopeRule · object"},"description":"Include rules. If non-empty, only matching objects are accepted.","uniqueKey":"integration.config.oneOf.0.athena.scope.oneOf.0.include","typeLabel":"ScopeRule · object[]"},"exclude":{"type":"array","items":{"type":"object","properties":{"database":{"type":"string","maxLength":256,"description":"Database-level pattern.\n Only meaningful for warehouses that expose more than one database/catalog\n per connection — Snowflake \u0026 Trino (catalog), Databricks (catalog), Athena\n (Glue catalog), DuckDB (database). Ignored by single-database/-project\n connections (Postgres, Redshift, MSSQL, Oracle, BigQuery project) and by\n MySQL/ClickHouse, which filter their namespace at the schema level below.","uniqueKey":"integration.config.oneOf.0.athena.scope.oneOf.0.exclude.items.[INDEX].database","typeLabel":"string"},"schema":{"type":"string","maxLength":256,"description":"Schema-level pattern. The level directly above a table.\n Maps to: dataset in BigQuery; database (namespace) in MySQL \u0026 ClickHouse;\n schema in Postgres/Redshift/Snowflake/Trino/MSSQL; owner in Oracle.","uniqueKey":"integration.config.oneOf.0.athena.scope.oneOf.0.exclude.items.[INDEX].schema","typeLabel":"string"},"table":{"type":"string","maxLength":256,"description":"Table or view name pattern.","uniqueKey":"integration.config.oneOf.0.athena.scope.oneOf.0.exclude.items.[INDEX].table","typeLabel":"string"}},"title":"ScopeRule","additionalProperties":false,"description":"ScopeRule is a multi-level pattern for matching data warehouse objects.\n All non-empty fields must match for the rule to apply.\n Empty field means \"match anything\" at that level (wildcard).\n Patterns support glob syntax where * matches zero or more characters.\n Matching is case-insensitive.","uniqueKey":"integration.config.oneOf.0.athena.scope.oneOf.0.exclude.items.[INDEX]","typeLabel":"ScopeRule · object"},"description":"Exclude rules. Matching objects are rejected, even if they match an include rule.","uniqueKey":"integration.config.oneOf.0.athena.scope.oneOf.0.exclude","typeLabel":"ScopeRule · object[]"}},"title":"scope","additionalProperties":false,"description":"Include/exclude scope filter. ScopeRule.database = Glue catalog (usually\n \"AwsDataCatalog\"), ScopeRule.schema = Glue database, ScopeRule.table = table/view.","uniqueKey":"integration.config.oneOf.0.athena.scope.oneOf.0","typeLabel":"scope · object"},{"type":"null","properties":{"include":{"type":"array","items":{"type":"object","properties":{"database":{"type":"string","maxLength":256,"description":"Database-level pattern.\n Only meaningful for warehouses that expose more than one database/catalog\n per connection — Snowflake \u0026 Trino (catalog), Databricks (catalog), Athena\n (Glue catalog), DuckDB (database). Ignored by single-database/-project\n connections (Postgres, Redshift, MSSQL, Oracle, BigQuery project) and by\n MySQL/ClickHouse, which filter their namespace at the schema level below."},"schema":{"type":"string","maxLength":256,"description":"Schema-level pattern. The level directly above a table.\n Maps to: dataset in BigQuery; database (namespace) in MySQL \u0026 ClickHouse;\n schema in Postgres/Redshift/Snowflake/Trino/MSSQL; owner in Oracle."},"table":{"type":"string","maxLength":256,"description":"Table or view name pattern."}},"title":"ScopeRule","additionalProperties":false,"description":"ScopeRule is a multi-level pattern for matching data warehouse objects.\n All non-empty fields must match for the rule to apply.\n Empty field means \"match anything\" at that level (wildcard).\n Patterns support glob syntax where * matches zero or more characters.\n Matching is case-insensitive."},"description":"Include rules. If non-empty, only matching objects are accepted."},"exclude":{"type":"array","items":{"type":"object","properties":{"database":{"type":"string","maxLength":256,"description":"Database-level pattern.\n Only meaningful for warehouses that expose more than one database/catalog\n per connection — Snowflake \u0026 Trino (catalog), Databricks (catalog), Athena\n (Glue catalog), DuckDB (database). Ignored by single-database/-project\n connections (Postgres, Redshift, MSSQL, Oracle, BigQuery project) and by\n MySQL/ClickHouse, which filter their namespace at the schema level below."},"schema":{"type":"string","maxLength":256,"description":"Schema-level pattern. The level directly above a table.\n Maps to: dataset in BigQuery; database (namespace) in MySQL \u0026 ClickHouse;\n schema in Postgres/Redshift/Snowflake/Trino/MSSQL; owner in Oracle."},"table":{"type":"string","maxLength":256,"description":"Table or view name pattern."}},"title":"ScopeRule","additionalProperties":false,"description":"ScopeRule is a multi-level pattern for matching data warehouse objects.\n All non-empty fields must match for the rule to apply.\n Empty field means \"match anything\" at that level (wildcard).\n Patterns support glob syntax where * matches zero or more characters.\n Matching is case-insensitive."},"description":"Exclude rules. Matching objects are rejected, even if they match an include rule."}},"title":"scope","additionalProperties":false,"description":"Include/exclude scope filter. ScopeRule.database = Glue catalog (usually\n \"AwsDataCatalog\"), ScopeRule.schema = Glue database, ScopeRule.table = table/view.","uniqueKey":"integration.config.oneOf.0.athena.scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.0.athena.scope","typeLabel":"scope · object | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"integration.config.oneOf.0.athena","typeLabel":"athena · object"}},"additionalProperties":false,"uniqueKey":"integration.config.oneOf.0","typeLabel":"athena · object"},{"type":"object","title":"bigquery","description":"Connection configuration. Secret fields are masked (empty) on reads.","required":["bigquery"],"properties":{"bigquery":{"type":"object","properties":{"projectId":{"oneOf":[{"type":"string","minLength":1,"description":"Google Cloud project id containing the datasets to monitor.","uniqueKey":"integration.config.oneOf.1.bigquery.projectId.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Google Cloud project id containing the datasets to monitor.","uniqueKey":"integration.config.oneOf.1.bigquery.projectId.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.1.bigquery.projectId","typeLabel":"string | null"},"blacklistedDatasets":{"type":"array","items":{"type":"string","uniqueKey":"integration.config.oneOf.1.bigquery.blacklistedDatasets.items.[INDEX]","typeLabel":"string"},"description":"Dataset name patterns to exclude from ingestion. Mutually exclusive with\n `datasets` — when `datasets` is set, this is ignored.","uniqueKey":"integration.config.oneOf.1.bigquery.blacklistedDatasets","typeLabel":"string[]"},"serviceAccountKey":{"oneOf":[{"type":"string","description":"Service-account key JSON, used with BIGQUERY_AUTHENTICATION_SERVICE_ACCOUNT_KEY.\n Write-only — masked on reads.","uniqueKey":"integration.config.oneOf.1.bigquery.serviceAccountKey.oneOf.0","typeLabel":"string"},{"type":"null","description":"Service-account key JSON, used with BIGQUERY_AUTHENTICATION_SERVICE_ACCOUNT_KEY.\n Write-only — masked on reads.","uniqueKey":"integration.config.oneOf.1.bigquery.serviceAccountKey.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.1.bigquery.serviceAccountKey","typeLabel":"string | null"},"region":{"oneOf":[{"type":"string","minLength":1,"description":"Google Cloud region for the project (e.g. \"us-central1\", \"EU\").","uniqueKey":"integration.config.oneOf.1.bigquery.region.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Google Cloud region for the project (e.g. \"us-central1\", \"EU\").","uniqueKey":"integration.config.oneOf.1.bigquery.region.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.1.bigquery.region","typeLabel":"string | null"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","description":"Ingest BigQuery query logs from INFORMATION_SCHEMA.","uniqueKey":"integration.config.oneOf.1.bigquery.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Ingest BigQuery query logs from INFORMATION_SCHEMA.","uniqueKey":"integration.config.oneOf.1.bigquery.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.1.bigquery.fetchQueryLogs","typeLabel":"boolean | null"},"auditTableFqn":{"oneOf":[{"type":"string","description":"Fully-qualified table for storing SQL test audit logs\n (e.g. \"project.dataset.table\").","uniqueKey":"integration.config.oneOf.1.bigquery.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fully-qualified table for storing SQL test audit logs\n (e.g. \"project.dataset.table\").","uniqueKey":"integration.config.oneOf.1.bigquery.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.1.bigquery.auditTableFqn","typeLabel":"string | null"},"datasets":{"type":"array","items":{"type":"string","uniqueKey":"integration.config.oneOf.1.bigquery.datasets.items.[INDEX]","typeLabel":"string"},"description":"Explicit list of datasets to scrape. When set, only these are queried (no\n project-level dataset listing needed). When empty, all visible datasets are\n discovered. Mutually exclusive with `blacklisted_datasets`.","uniqueKey":"integration.config.oneOf.1.bigquery.datasets","typeLabel":"string[]"},"fetchPolicyTags":{"oneOf":[{"type":"boolean","description":"Resolve column policy tags to their taxonomy and tag names through the Data\n Catalog API. Needs the Data Catalog API enabled in the taxonomy's project and\n datacatalog.taxonomies.get. Off by default, as a denied call shows in the\n audit log. Without it a policy tag keeps its resource name.","uniqueKey":"integration.config.oneOf.1.bigquery.fetchPolicyTags.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Resolve column policy tags to their taxonomy and tag names through the Data\n Catalog API. Needs the Data Catalog API enabled in the taxonomy's project and\n datacatalog.taxonomies.get. Off by default, as a denied call shows in the\n audit log. Without it a policy tag keeps its resource name.","uniqueKey":"integration.config.oneOf.1.bigquery.fetchPolicyTags.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.1.bigquery.fetchPolicyTags","typeLabel":"boolean | null"},"authentication":{"oneOf":[{"type":"string","title":"BigqueryAuthentication","enum":["BIGQUERY_AUTHENTICATION_UNSPECIFIED","BIGQUERY_AUTHENTICATION_SERVICE_ACCOUNT_KEY","BIGQUERY_AUTHENTICATION_IMPERSONATION","BIGQUERY_AUTHENTICATION_WORKSPACE_SERVICE_ACCOUNT"],"description":"How Coalesce Quality authenticates to BigQuery. An integration that never set it\n uses a service account key. Switching to a keyless authentication removes the\n stored key.","not":{"enum":[0]},"uniqueKey":"integration.config.oneOf.1.bigquery.authentication.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"BigqueryAuthentication","enum":["BIGQUERY_AUTHENTICATION_UNSPECIFIED","BIGQUERY_AUTHENTICATION_SERVICE_ACCOUNT_KEY","BIGQUERY_AUTHENTICATION_IMPERSONATION","BIGQUERY_AUTHENTICATION_WORKSPACE_SERVICE_ACCOUNT"],"description":"How Coalesce Quality authenticates to BigQuery. An integration that never set it\n uses a service account key. Switching to a keyless authentication removes the\n stored key.","not":{"enum":[0]},"uniqueKey":"integration.config.oneOf.1.bigquery.authentication.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.1.bigquery.authentication","typeLabel":"enum\u003cstring> | null"},"impersonatedServiceAccount":{"oneOf":[{"type":"string","maxLength":254,"description":"Email of your service account that Coalesce Quality impersonates, used with\n BIGQUERY_AUTHENTICATION_IMPERSONATION. Grant roles/iam.serviceAccountTokenCreator\n on it to the workspace service account.","uniqueKey":"integration.config.oneOf.1.bigquery.impersonatedServiceAccount.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":254,"description":"Email of your service account that Coalesce Quality impersonates, used with\n BIGQUERY_AUTHENTICATION_IMPERSONATION. Grant roles/iam.serviceAccountTokenCreator\n on it to the workspace service account.","uniqueKey":"integration.config.oneOf.1.bigquery.impersonatedServiceAccount.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.1.bigquery.impersonatedServiceAccount","typeLabel":"string | null"}},"title":"bigquery","additionalProperties":false,"description":"Google BigQuery connection.","isRequired":true,"uniqueKey":"integration.config.oneOf.1.bigquery","typeLabel":"bigquery · object"}},"additionalProperties":false,"uniqueKey":"integration.config.oneOf.1","typeLabel":"bigquery · object"},{"type":"object","title":"clickhouse","description":"Connection configuration. Secret fields are masked (empty) on reads.","required":["clickhouse"],"properties":{"clickhouse":{"type":"object","properties":{"host":{"oneOf":[{"type":"string","minLength":1,"description":"Host address or IP.","uniqueKey":"integration.config.oneOf.2.clickhouse.host.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Host address or IP.","uniqueKey":"integration.config.oneOf.2.clickhouse.host.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.2.clickhouse.host","typeLabel":"string | null"},"port":{"oneOf":[{"type":"string","description":"Port (e.g. \"8123\" for HTTP, \"9440\" for HTTPS).","uniqueKey":"integration.config.oneOf.2.clickhouse.port.oneOf.0","typeLabel":"string"},{"type":"null","description":"Port (e.g. \"8123\" for HTTP, \"9440\" for HTTPS).","uniqueKey":"integration.config.oneOf.2.clickhouse.port.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.2.clickhouse.port","typeLabel":"string | null"},"username":{"oneOf":[{"type":"string","description":"Username.","uniqueKey":"integration.config.oneOf.2.clickhouse.username.oneOf.0","typeLabel":"string"},{"type":"null","description":"Username.","uniqueKey":"integration.config.oneOf.2.clickhouse.username.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.2.clickhouse.username","typeLabel":"string | null"},"password":{"oneOf":[{"type":"string","description":"Password. Write-only — masked on reads.","uniqueKey":"integration.config.oneOf.2.clickhouse.password.oneOf.0","typeLabel":"string"},{"type":"null","description":"Password. Write-only — masked on reads.","uniqueKey":"integration.config.oneOf.2.clickhouse.password.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.2.clickhouse.password","typeLabel":"string | null"},"defaultDataset":{"oneOf":[{"type":"string","description":"Database the connection opens with, so unqualified table names in a query\n resolve against it. It is not a scrape filter: metadata is read from system\n tables and covers every database the credentials can see, whatever this says.","uniqueKey":"integration.config.oneOf.2.clickhouse.defaultDataset.oneOf.0","typeLabel":"string"},{"type":"null","description":"Database the connection opens with, so unqualified table names in a query\n resolve against it. It is not a scrape filter: metadata is read from system\n tables and covers every database the credentials can see, whatever this says.","uniqueKey":"integration.config.oneOf.2.clickhouse.defaultDataset.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.2.clickhouse.defaultDataset","typeLabel":"string | null"},"additionalParameters":{"type":"object","additionalProperties":{"type":"string","title":"value","uniqueKey":"integration.config.oneOf.2.clickhouse.additionalParameters.additionalProperties","typeLabel":"string"},"description":"Additional connection parameters as key/value pairs (e.g.\n \"max_execution_time\": \"30\").","uniqueKey":"integration.config.oneOf.2.clickhouse.additionalParameters","typeLabel":"object"},"ssl":{"oneOf":[{"type":"boolean","description":"Enable SSL/TLS.","uniqueKey":"integration.config.oneOf.2.clickhouse.ssl.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Enable SSL/TLS.","uniqueKey":"integration.config.oneOf.2.clickhouse.ssl.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.2.clickhouse.ssl","typeLabel":"boolean | null"},"databaseName":{"oneOf":[{"type":"string","description":"Name this ClickHouse is published under, and the top element of every path\n and breadcrumb its tables appear in — `prod`, `staging`, `eu-analytics`.\n ClickHouse has no container above a database, so something has to name the\n service; left empty that is the connection host, which is correct but\n unreadable for a ClickHouse Cloud endpoint. It is not a database and does not\n restrict what is scraped. Changing it republishes every table under new\n paths, so pick one per service and keep it.","uniqueKey":"integration.config.oneOf.2.clickhouse.databaseName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Name this ClickHouse is published under, and the top element of every path\n and breadcrumb its tables appear in — `prod`, `staging`, `eu-analytics`.\n ClickHouse has no container above a database, so something has to name the\n service; left empty that is the connection host, which is correct but\n unreadable for a ClickHouse Cloud endpoint. It is not a database and does not\n restrict what is scraped. Changing it republishes every table under new\n paths, so pick one per service and keep it.","uniqueKey":"integration.config.oneOf.2.clickhouse.databaseName.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.2.clickhouse.databaseName","typeLabel":"string | null"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","description":"Ingest query logs from system.query_log.","uniqueKey":"integration.config.oneOf.2.clickhouse.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Ingest query logs from system.query_log.","uniqueKey":"integration.config.oneOf.2.clickhouse.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.2.clickhouse.fetchQueryLogs","typeLabel":"boolean | null"},"auditTableFqn":{"oneOf":[{"type":"string","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"integration.config.oneOf.2.clickhouse.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"integration.config.oneOf.2.clickhouse.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.2.clickhouse.auditTableFqn","typeLabel":"string | null"},"cluster":{"oneOf":[{"type":"object","properties":{"mode":{"type":"string","title":"ClickhouseClusterMode","enum":["CLICKHOUSE_CLUSTER_MODE_UNSPECIFIED","CLICKHOUSE_CLUSTER_MODE_ALL_REPLICAS","CLICKHOUSE_CLUSTER_MODE_SINGLE_NODE"],"uniqueKey":"integration.config.oneOf.2.clickhouse.cluster.oneOf.0.mode","typeLabel":"enum\u003cstring>"},"name":{"type":"string","maxLength":256,"pattern":"^([A-Za-z_][A-Za-z0-9_.\\-]*)?$","description":"Cluster to read through, as named under remote_servers in the ClickHouse\n configuration. `SELECT DISTINCT cluster FROM system.clusters` lists what a\n server has. Empty means \"default\". Ignored in single-node mode.","uniqueKey":"integration.config.oneOf.2.clickhouse.cluster.oneOf.0.name","typeLabel":"string"}},"title":"ClickhouseClusterConf","additionalProperties":false,"description":"How ClickHouse system tables are read. Omit to keep reading across a cluster\n named \"default\", which every ClickHouse Cloud service provides.","uniqueKey":"integration.config.oneOf.2.clickhouse.cluster.oneOf.0","typeLabel":"ClickhouseClusterConf · object"},{"type":"null","properties":{"mode":{"type":"string","title":"ClickhouseClusterMode","enum":["CLICKHOUSE_CLUSTER_MODE_UNSPECIFIED","CLICKHOUSE_CLUSTER_MODE_ALL_REPLICAS","CLICKHOUSE_CLUSTER_MODE_SINGLE_NODE"]},"name":{"type":"string","maxLength":256,"pattern":"^([A-Za-z_][A-Za-z0-9_.\\-]*)?$","description":"Cluster to read through, as named under remote_servers in the ClickHouse\n configuration. `SELECT DISTINCT cluster FROM system.clusters` lists what a\n server has. Empty means \"default\". Ignored in single-node mode."}},"title":"ClickhouseClusterConf","additionalProperties":false,"description":"How ClickHouse system tables are read. Omit to keep reading across a cluster\n named \"default\", which every ClickHouse Cloud service provides.","uniqueKey":"integration.config.oneOf.2.clickhouse.cluster.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.2.clickhouse.cluster","typeLabel":"ClickhouseClusterConf · object | null"}},"title":"clickhouse","additionalProperties":false,"description":"ClickHouse connection.","isRequired":true,"uniqueKey":"integration.config.oneOf.2.clickhouse","typeLabel":"clickhouse · object"}},"additionalProperties":false,"uniqueKey":"integration.config.oneOf.2","typeLabel":"clickhouse · object"},{"type":"object","title":"databricks","description":"Connection configuration. Secret fields are masked (empty) on reads.","required":["databricks"],"properties":{"databricks":{"oneOf":[{"type":"object","title":"databricks","description":"Databricks connection.","required":["oauthM2m"],"properties":{"oauthM2m":{"type":"object","properties":{"clientId":{"oneOf":[{"type":"string","description":"OAuth client id of the service principal.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.oauthM2m.clientId.oneOf.0","typeLabel":"string"},{"type":"null","description":"OAuth client id of the service principal.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.oauthM2m.clientId.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.oauthM2m.clientId","typeLabel":"string | null"},"clientSecret":{"oneOf":[{"type":"string","description":"OAuth client secret. Write-only — masked on reads.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.oauthM2m.clientSecret.oneOf.0","typeLabel":"string"},{"type":"null","description":"OAuth client secret. Write-only — masked on reads.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.oauthM2m.clientSecret.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.oauthM2m.clientSecret","typeLabel":"string | null"}},"title":"oauth_m2m","additionalProperties":false,"description":"OAuth 2.0 machine-to-machine (service principal) auth.","isRequired":true,"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.oauthM2m","typeLabel":"oauth_m2m · object"},"workspaceUrl":{"oneOf":[{"type":"string","title":"workspace_url","minLength":1,"description":"Workspace URL (e.g. \"https://your-workspace.cloud.databricks.com\").","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.workspaceUrl.oneOf.0","typeLabel":"string"},{"type":"null","title":"workspace_url","minLength":1,"description":"Workspace URL (e.g. \"https://your-workspace.cloud.databricks.com\").","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.workspaceUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.workspaceUrl","typeLabel":"string | null"},"warehouseId":{"oneOf":[{"type":"string","title":"warehouse_id","description":"SQL warehouse id (or cluster id) used to execute queries.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.warehouseId.oneOf.0","typeLabel":"string"},{"type":"null","title":"warehouse_id","description":"SQL warehouse id (or cluster id) used to execute queries.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.warehouseId.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.warehouseId","typeLabel":"string | null"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","title":"fetch_query_logs","description":"Ingest query logs from system tables.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_query_logs","description":"Ingest query logs from system tables.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.fetchQueryLogs","typeLabel":"boolean | null"},"fetchTableMetrics":{"oneOf":[{"type":"boolean","title":"fetch_table_metrics","description":"Replaced by analyze_tables, read only while analyze_tables is unset.","deprecated":true,"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.fetchTableMetrics.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_table_metrics","description":"Replaced by analyze_tables, read only while analyze_tables is unset.","deprecated":true,"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.fetchTableMetrics.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.fetchTableMetrics","typeLabel":"boolean | null"},"fetchTableMetricsScan":{"oneOf":[{"type":"boolean","title":"fetch_table_metrics_scan","description":"Replaced by analyze_tables_scan, read only while analyze_tables_scan is unset.","deprecated":true,"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.fetchTableMetricsScan.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_table_metrics_scan","description":"Replaced by analyze_tables_scan, read only while analyze_tables_scan is unset.","deprecated":true,"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.fetchTableMetricsScan.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.fetchTableMetricsScan","typeLabel":"boolean | null"},"catalogBlocklist":{"type":"array","items":{"type":"string","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.catalogBlocklist.items.[INDEX]","typeLabel":"string"},"title":"catalog_blocklist","description":"Catalog name patterns to exclude from ingestion.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.catalogBlocklist","typeLabel":"string[]"},"fetchTableTags":{"oneOf":[{"type":"boolean","title":"fetch_table_tags","description":"Retrieve Unity Catalog table tags.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.fetchTableTags.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_table_tags","description":"Retrieve Unity Catalog table tags.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.fetchTableTags.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.fetchTableTags","typeLabel":"boolean | null"},"useShowCreateTable":{"oneOf":[{"type":"boolean","title":"use_show_create_table","description":"Use SHOW CREATE TABLE for table DDL (otherwise extracted from query logs).","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.useShowCreateTable.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"use_show_create_table","description":"Use SHOW CREATE TABLE for table DDL (otherwise extracted from query logs).","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.useShowCreateTable.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.useShowCreateTable","typeLabel":"boolean | null"},"auditTableFqn":{"oneOf":[{"type":"string","title":"audit_table_fqn","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","title":"audit_table_fqn","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.auditTableFqn","typeLabel":"string | null"},"disableUnityTableLineage":{"oneOf":[{"type":"boolean","title":"disable_unity_table_lineage","description":"Disable retrieval of Unity Catalog table-to-table lineage. Coalesce Quality\n already computes lineage from query logs, so the Unity Catalog edges can be\n redundant noise. When unset/false, Unity Catalog table-to-table lineage is\n retrieved and published (the default).","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.disableUnityTableLineage.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"disable_unity_table_lineage","description":"Disable retrieval of Unity Catalog table-to-table lineage. Coalesce Quality\n already computes lineage from query logs, so the Unity Catalog edges can be\n redundant noise. When unset/false, Unity Catalog table-to-table lineage is\n retrieved and published (the default).","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.disableUnityTableLineage.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.disableUnityTableLineage","typeLabel":"boolean | null"},"analyzeTables":{"oneOf":[{"type":"boolean","title":"analyze_tables","description":"Run ANALYZE TABLE before table statistics are read, so they are fresh.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.analyzeTables.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"analyze_tables","description":"Run ANALYZE TABLE before table statistics are read, so they are fresh.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.analyzeTables.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.analyzeTables","typeLabel":"boolean | null"},"analyzeTablesScan":{"oneOf":[{"type":"boolean","title":"analyze_tables_scan","description":"Run ANALYZE TABLE with a full scan, which also counts the rows. It costs more\n warehouse time than analyze_tables.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.analyzeTablesScan.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"analyze_tables_scan","description":"Run ANALYZE TABLE with a full scan, which also counts the rows. It costs more\n warehouse time than analyze_tables.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.analyzeTablesScan.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0.analyzeTablesScan","typeLabel":"boolean | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.0","typeLabel":"databricks · object"},{"type":"object","title":"databricks","description":"Databricks connection.","required":["token"],"properties":{"token":{"type":"string","title":"token","description":"Personal access token. Write-only — masked on reads.","isRequired":true,"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.token","typeLabel":"string"},"workspaceUrl":{"oneOf":[{"type":"string","title":"workspace_url","minLength":1,"description":"Workspace URL (e.g. \"https://your-workspace.cloud.databricks.com\").","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.workspaceUrl.oneOf.0","typeLabel":"string"},{"type":"null","title":"workspace_url","minLength":1,"description":"Workspace URL (e.g. \"https://your-workspace.cloud.databricks.com\").","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.workspaceUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.workspaceUrl","typeLabel":"string | null"},"warehouseId":{"oneOf":[{"type":"string","title":"warehouse_id","description":"SQL warehouse id (or cluster id) used to execute queries.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.warehouseId.oneOf.0","typeLabel":"string"},{"type":"null","title":"warehouse_id","description":"SQL warehouse id (or cluster id) used to execute queries.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.warehouseId.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.warehouseId","typeLabel":"string | null"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","title":"fetch_query_logs","description":"Ingest query logs from system tables.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_query_logs","description":"Ingest query logs from system tables.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.fetchQueryLogs","typeLabel":"boolean | null"},"fetchTableMetrics":{"oneOf":[{"type":"boolean","title":"fetch_table_metrics","description":"Replaced by analyze_tables, read only while analyze_tables is unset.","deprecated":true,"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.fetchTableMetrics.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_table_metrics","description":"Replaced by analyze_tables, read only while analyze_tables is unset.","deprecated":true,"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.fetchTableMetrics.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.fetchTableMetrics","typeLabel":"boolean | null"},"fetchTableMetricsScan":{"oneOf":[{"type":"boolean","title":"fetch_table_metrics_scan","description":"Replaced by analyze_tables_scan, read only while analyze_tables_scan is unset.","deprecated":true,"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.fetchTableMetricsScan.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_table_metrics_scan","description":"Replaced by analyze_tables_scan, read only while analyze_tables_scan is unset.","deprecated":true,"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.fetchTableMetricsScan.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.fetchTableMetricsScan","typeLabel":"boolean | null"},"catalogBlocklist":{"type":"array","items":{"type":"string","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.catalogBlocklist.items.[INDEX]","typeLabel":"string"},"title":"catalog_blocklist","description":"Catalog name patterns to exclude from ingestion.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.catalogBlocklist","typeLabel":"string[]"},"fetchTableTags":{"oneOf":[{"type":"boolean","title":"fetch_table_tags","description":"Retrieve Unity Catalog table tags.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.fetchTableTags.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_table_tags","description":"Retrieve Unity Catalog table tags.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.fetchTableTags.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.fetchTableTags","typeLabel":"boolean | null"},"useShowCreateTable":{"oneOf":[{"type":"boolean","title":"use_show_create_table","description":"Use SHOW CREATE TABLE for table DDL (otherwise extracted from query logs).","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.useShowCreateTable.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"use_show_create_table","description":"Use SHOW CREATE TABLE for table DDL (otherwise extracted from query logs).","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.useShowCreateTable.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.useShowCreateTable","typeLabel":"boolean | null"},"auditTableFqn":{"oneOf":[{"type":"string","title":"audit_table_fqn","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","title":"audit_table_fqn","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.auditTableFqn","typeLabel":"string | null"},"disableUnityTableLineage":{"oneOf":[{"type":"boolean","title":"disable_unity_table_lineage","description":"Disable retrieval of Unity Catalog table-to-table lineage. Coalesce Quality\n already computes lineage from query logs, so the Unity Catalog edges can be\n redundant noise. When unset/false, Unity Catalog table-to-table lineage is\n retrieved and published (the default).","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.disableUnityTableLineage.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"disable_unity_table_lineage","description":"Disable retrieval of Unity Catalog table-to-table lineage. Coalesce Quality\n already computes lineage from query logs, so the Unity Catalog edges can be\n redundant noise. When unset/false, Unity Catalog table-to-table lineage is\n retrieved and published (the default).","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.disableUnityTableLineage.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.disableUnityTableLineage","typeLabel":"boolean | null"},"analyzeTables":{"oneOf":[{"type":"boolean","title":"analyze_tables","description":"Run ANALYZE TABLE before table statistics are read, so they are fresh.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.analyzeTables.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"analyze_tables","description":"Run ANALYZE TABLE before table statistics are read, so they are fresh.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.analyzeTables.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.analyzeTables","typeLabel":"boolean | null"},"analyzeTablesScan":{"oneOf":[{"type":"boolean","title":"analyze_tables_scan","description":"Run ANALYZE TABLE with a full scan, which also counts the rows. It costs more\n warehouse time than analyze_tables.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.analyzeTablesScan.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"analyze_tables_scan","description":"Run ANALYZE TABLE with a full scan, which also counts the rows. It costs more\n warehouse time than analyze_tables.","uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.analyzeTablesScan.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1.analyzeTablesScan","typeLabel":"boolean | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"integration.config.oneOf.3.databricks.oneOf.1","typeLabel":"databricks · object"}],"isRequired":true,"uniqueKey":"integration.config.oneOf.3.databricks","typeLabel":"databricks · object"}},"additionalProperties":false,"uniqueKey":"integration.config.oneOf.3","typeLabel":"databricks · object"},{"type":"object","title":"db2","description":"Connection configuration. Secret fields are masked (empty) on reads.","required":["db2"],"properties":{"db2":{"type":"object","properties":{"hostname":{"oneOf":[{"type":"string","minLength":1,"description":"Host name or IP address of the Db2 server (HOSTNAME).","uniqueKey":"integration.config.oneOf.4.db2.hostname.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Host name or IP address of the Db2 server (HOSTNAME).","uniqueKey":"integration.config.oneOf.4.db2.hostname.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.4.db2.hostname","typeLabel":"string | null"},"port":{"oneOf":[{"type":"integer","maximum":65535,"minimum":1,"format":"int32","description":"TCP/IP port of the instance (PORT): the value of the SVCENAME database\n manager configuration parameter, or SSL_SVCENAME when security is \"SSL\"\n (`db2 get dbm cfg`). Defaults to 50000, or 50001 when security is \"SSL\".","uniqueKey":"integration.config.oneOf.4.db2.port.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","maximum":65535,"minimum":1,"format":"int32","description":"TCP/IP port of the instance (PORT): the value of the SVCENAME database\n manager configuration parameter, or SSL_SVCENAME when security is \"SSL\"\n (`db2 get dbm cfg`). Defaults to 50000, or 50001 when security is \"SSL\".","uniqueKey":"integration.config.oneOf.4.db2.port.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.4.db2.port","typeLabel":"integer\u003cint32> | null"},"database":{"oneOf":[{"type":"string","description":"Database name or alias (DATABASE), as in `CONNECT TO \u003cdatabase>`.","uniqueKey":"integration.config.oneOf.4.db2.database.oneOf.0","typeLabel":"string"},{"type":"null","description":"Database name or alias (DATABASE), as in `CONNECT TO \u003cdatabase>`.","uniqueKey":"integration.config.oneOf.4.db2.database.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.4.db2.database","typeLabel":"string | null"},"user":{"oneOf":[{"type":"string","description":"Authorization ID to connect with (UID). Db2 checks it through the\n instance's security plugin: against the server's operating system by\n default, or against LDAP when an LDAP plugin is configured.","uniqueKey":"integration.config.oneOf.4.db2.user.oneOf.0","typeLabel":"string"},{"type":"null","description":"Authorization ID to connect with (UID). Db2 checks it through the\n instance's security plugin: against the server's operating system by\n default, or against LDAP when an LDAP plugin is configured.","uniqueKey":"integration.config.oneOf.4.db2.user.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.4.db2.user","typeLabel":"string | null"},"password":{"oneOf":[{"type":"string","description":"Password of the authorization ID (PWD). Write-only, masked on reads.","uniqueKey":"integration.config.oneOf.4.db2.password.oneOf.0","typeLabel":"string"},{"type":"null","description":"Password of the authorization ID (PWD). Write-only, masked on reads.","uniqueKey":"integration.config.oneOf.4.db2.password.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.4.db2.password","typeLabel":"string | null"},"security":{"oneOf":[{"type":"string","enum":["","SSL","ssl"],"description":"Set to \"SSL\" to connect over SSL/TLS (SECURITY=SSL). The instance needs\n SSL_SVCENAME set and SSL listed in DB2COMM. Leave empty for a plain TCP/IP\n connection.","uniqueKey":"integration.config.oneOf.4.db2.security.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["","SSL","ssl"],"description":"Set to \"SSL\" to connect over SSL/TLS (SECURITY=SSL). The instance needs\n SSL_SVCENAME set and SSL listed in DB2COMM. Leave empty for a plain TCP/IP\n connection.","uniqueKey":"integration.config.oneOf.4.db2.security.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.4.db2.security","typeLabel":"enum\u003cstring> | null"},"sslServerCertificatePem":{"oneOf":[{"type":"string","description":"The server's certificate, or the certificate of the CA that signed it, in\n PEM format: the text starting with \"-----BEGIN CERTIFICATE-----\". The .arm\n file you get from the instance's keystore with\n `gsk8capicmd_64 -cert -extract` holds exactly this. Needs security set to\n \"SSL\". Leave empty to check the server against the public certificate\n authorities.","uniqueKey":"integration.config.oneOf.4.db2.sslServerCertificatePem.oneOf.0","typeLabel":"string"},{"type":"null","description":"The server's certificate, or the certificate of the CA that signed it, in\n PEM format: the text starting with \"-----BEGIN CERTIFICATE-----\". The .arm\n file you get from the instance's keystore with\n `gsk8capicmd_64 -cert -extract` holds exactly this. Needs security set to\n \"SSL\". Leave empty to check the server against the public certificate\n authorities.","uniqueKey":"integration.config.oneOf.4.db2.sslServerCertificatePem.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.4.db2.sslServerCertificatePem","typeLabel":"string | null"},"authentication":{"oneOf":[{"type":"string","enum":["","SERVER","SERVER_ENCRYPT","server","server_encrypt"],"description":"How the authorization ID and password travel to the server\n (AUTHENTICATION). The values match the database manager configuration\n parameter of the same name:\n - \"SERVER\" (default): sent unencrypted. Use it with security \"SSL\" on an\n untrusted network.\n - \"SERVER_ENCRYPT\": sent encrypted. The instance's AUTHENTICATION must\n accept encrypted credentials, for example SERVER_ENCRYPT.","uniqueKey":"integration.config.oneOf.4.db2.authentication.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["","SERVER","SERVER_ENCRYPT","server","server_encrypt"],"description":"How the authorization ID and password travel to the server\n (AUTHENTICATION). The values match the database manager configuration\n parameter of the same name:\n - \"SERVER\" (default): sent unencrypted. Use it with security \"SSL\" on an\n untrusted network.\n - \"SERVER_ENCRYPT\": sent encrypted. The instance's AUTHENTICATION must\n accept encrypted credentials, for example SERVER_ENCRYPT.","uniqueKey":"integration.config.oneOf.4.db2.authentication.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.4.db2.authentication","typeLabel":"enum\u003cstring> | null"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","description":"Read query history from the package cache (MON_GET_PKG_CACHE_STMT). The\n authorization ID needs EXECUTE on that table function.","uniqueKey":"integration.config.oneOf.4.db2.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Read query history from the package cache (MON_GET_PKG_CACHE_STMT). The\n authorization ID needs EXECUTE on that table function.","uniqueKey":"integration.config.oneOf.4.db2.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.4.db2.fetchQueryLogs","typeLabel":"boolean | null"},"auditTableFqn":{"oneOf":[{"type":"string","description":"Fully qualified table for storing SQL test audit logs.","uniqueKey":"integration.config.oneOf.4.db2.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fully qualified table for storing SQL test audit logs.","uniqueKey":"integration.config.oneOf.4.db2.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.4.db2.auditTableFqn","typeLabel":"string | null"}},"title":"db2","additionalProperties":false,"description":"IBM Db2 for Linux, UNIX and Windows connection.","isRequired":true,"uniqueKey":"integration.config.oneOf.4.db2","typeLabel":"db2 · object"}},"additionalProperties":false,"uniqueKey":"integration.config.oneOf.4","typeLabel":"db2 · object"},{"type":"object","title":"dbt_cloud","description":"Connection configuration. Secret fields are masked (empty) on reads.","required":["dbtCloud"],"properties":{"dbtCloud":{"type":"object","properties":{"accountId":{"oneOf":[{"type":"string","minLength":1,"description":"dbt Cloud account id (the numeric id from your dbt Cloud URL).","uniqueKey":"integration.config.oneOf.5.dbtCloud.accountId.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"dbt Cloud account id (the numeric id from your dbt Cloud URL).","uniqueKey":"integration.config.oneOf.5.dbtCloud.accountId.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.5.dbtCloud.accountId","typeLabel":"string | null"},"jobIds":{"type":"array","items":{"type":"string","uniqueKey":"integration.config.oneOf.5.dbtCloud.jobIds.items.[INDEX]","typeLabel":"string"},"description":"dbt Cloud jobs to track, by job id. Provide the full set on every update\n (the list is replaced, not merged). When empty, all jobs visible to the API\n token are tracked.","uniqueKey":"integration.config.oneOf.5.dbtCloud.jobIds","typeLabel":"string[]"},"token":{"oneOf":[{"type":"string","description":"dbt Cloud API token (service token recommended). Write-only — masked on\n reads; omit to keep the stored token, send a new value to rotate it.","uniqueKey":"integration.config.oneOf.5.dbtCloud.token.oneOf.0","typeLabel":"string"},{"type":"null","description":"dbt Cloud API token (service token recommended). Write-only — masked on\n reads; omit to keep the stored token, send a new value to rotate it.","uniqueKey":"integration.config.oneOf.5.dbtCloud.token.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.5.dbtCloud.token","typeLabel":"string | null"},"projectId":{"oneOf":[{"type":"string","description":"Project id used to generate asset identifiers. Use the same id for multiple\n projects that should be merged.","uniqueKey":"integration.config.oneOf.5.dbtCloud.projectId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Project id used to generate asset identifiers. Use the same id for multiple\n projects that should be merged.","uniqueKey":"integration.config.oneOf.5.dbtCloud.projectId.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.5.dbtCloud.projectId","typeLabel":"string | null"},"apiEndpoint":{"oneOf":[{"type":"string","description":"dbt Cloud API hostname without scheme (e.g. \"cloud.getdbt.com\",\n \"emea.dbt.com\"). Empty uses the multi-tenant default.","uniqueKey":"integration.config.oneOf.5.dbtCloud.apiEndpoint.oneOf.0","typeLabel":"string"},{"type":"null","description":"dbt Cloud API hostname without scheme (e.g. \"cloud.getdbt.com\",\n \"emea.dbt.com\"). Empty uses the multi-tenant default.","uniqueKey":"integration.config.oneOf.5.dbtCloud.apiEndpoint.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.5.dbtCloud.apiEndpoint","typeLabel":"string | null"},"defaultDatabaseInstance":{"oneOf":[{"type":"string","description":"Database instance identifier, required where database names are not globally\n unique (e.g. a Snowflake account).","uniqueKey":"integration.config.oneOf.5.dbtCloud.defaultDatabaseInstance.oneOf.0","typeLabel":"string"},{"type":"null","description":"Database instance identifier, required where database names are not globally\n unique (e.g. a Snowflake account).","uniqueKey":"integration.config.oneOf.5.dbtCloud.defaultDatabaseInstance.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.5.dbtCloud.defaultDatabaseInstance","typeLabel":"string | null"}},"title":"dbt_cloud","additionalProperties":false,"description":"dbt Cloud connection.","isRequired":true,"uniqueKey":"integration.config.oneOf.5.dbtCloud","typeLabel":"dbt_cloud · object"}},"additionalProperties":false,"uniqueKey":"integration.config.oneOf.5","typeLabel":"dbt_cloud · object"},{"type":"object","title":"duckdb","description":"Connection configuration. Secret fields are masked (empty) on reads.","required":["duckdb"],"properties":{"duckdb":{"type":"object","properties":{"motherduckAccount":{"oneOf":[{"type":"string","description":"MotherDuck account name or identifier.","uniqueKey":"integration.config.oneOf.6.duckdb.motherduckAccount.oneOf.0","typeLabel":"string"},{"type":"null","description":"MotherDuck account name or identifier.","uniqueKey":"integration.config.oneOf.6.duckdb.motherduckAccount.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.6.duckdb.motherduckAccount","typeLabel":"string | null"},"accessToken":{"oneOf":[{"type":"string","description":"MotherDuck access token. Write-only — masked on reads.","uniqueKey":"integration.config.oneOf.6.duckdb.accessToken.oneOf.0","typeLabel":"string"},{"type":"null","description":"MotherDuck access token. Write-only — masked on reads.","uniqueKey":"integration.config.oneOf.6.duckdb.accessToken.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.6.duckdb.accessToken","typeLabel":"string | null"},"auditTableFqn":{"oneOf":[{"type":"string","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"integration.config.oneOf.6.duckdb.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"integration.config.oneOf.6.duckdb.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.6.duckdb.auditTableFqn","typeLabel":"string | null"}},"title":"duckdb","additionalProperties":false,"description":"DuckDB / MotherDuck connection.","isRequired":true,"uniqueKey":"integration.config.oneOf.6.duckdb","typeLabel":"duckdb · object"}},"additionalProperties":false,"uniqueKey":"integration.config.oneOf.6","typeLabel":"duckdb · object"},{"type":"object","title":"fabric","description":"Connection configuration. Secret fields are masked (empty) on reads.","required":["fabric"],"properties":{"fabric":{"type":"object","title":"fabric","description":"Microsoft Fabric connection.","required":["servicePrincipal"],"properties":{"servicePrincipal":{"type":"object","properties":{"clientId":{"oneOf":[{"type":"string","minLength":1,"description":"Entra application (client) ID of the service principal.","uniqueKey":"integration.config.oneOf.7.fabric.servicePrincipal.clientId.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Entra application (client) ID of the service principal.","uniqueKey":"integration.config.oneOf.7.fabric.servicePrincipal.clientId.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.7.fabric.servicePrincipal.clientId","typeLabel":"string | null"},"clientSecret":{"oneOf":[{"type":"string","description":"Service principal client secret. Write-only — masked on reads.","uniqueKey":"integration.config.oneOf.7.fabric.servicePrincipal.clientSecret.oneOf.0","typeLabel":"string"},{"type":"null","description":"Service principal client secret. Write-only — masked on reads.","uniqueKey":"integration.config.oneOf.7.fabric.servicePrincipal.clientSecret.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.7.fabric.servicePrincipal.clientSecret","typeLabel":"string | null"},"tenantId":{"oneOf":[{"type":"string","description":"Entra tenant (directory) ID. Optional: inferred from the Fabric endpoint\n when empty; set it when the authority is not the service principal's home\n tenant.","uniqueKey":"integration.config.oneOf.7.fabric.servicePrincipal.tenantId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Entra tenant (directory) ID. Optional: inferred from the Fabric endpoint\n when empty; set it when the authority is not the service principal's home\n tenant.","uniqueKey":"integration.config.oneOf.7.fabric.servicePrincipal.tenantId.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.7.fabric.servicePrincipal.tenantId","typeLabel":"string | null"}},"title":"service_principal","additionalProperties":false,"description":"Entra service principal (application id + secret).","isRequired":true,"uniqueKey":"integration.config.oneOf.7.fabric.servicePrincipal","typeLabel":"service_principal · object"},"host":{"oneOf":[{"type":"string","title":"host","minLength":1,"description":"Workspace SQL analytics endpoint host, e.g.\n \"\u003cworkspace-id>.datawarehouse.fabric.microsoft.com\".","uniqueKey":"integration.config.oneOf.7.fabric.host.oneOf.0","typeLabel":"string"},{"type":"null","title":"host","minLength":1,"description":"Workspace SQL analytics endpoint host, e.g.\n \"\u003cworkspace-id>.datawarehouse.fabric.microsoft.com\".","uniqueKey":"integration.config.oneOf.7.fabric.host.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.7.fabric.host","typeLabel":"string | null"},"database":{"oneOf":[{"type":"string","title":"database","description":"Default execution database — the context in which unqualified ad-hoc /\n monitor SQL resolves. Defaults to \"master\" (the always-present workspace\n entry point) when empty. Metadata reads and generated metrics SQL are fully\n database-qualified, so this only affects unqualified queries.","uniqueKey":"integration.config.oneOf.7.fabric.database.oneOf.0","typeLabel":"string"},{"type":"null","title":"database","description":"Default execution database — the context in which unqualified ad-hoc /\n monitor SQL resolves. Defaults to \"master\" (the always-present workspace\n entry point) when empty. Metadata reads and generated metrics SQL are fully\n database-qualified, so this only affects unqualified queries.","uniqueKey":"integration.config.oneOf.7.fabric.database.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.7.fabric.database","typeLabel":"string | null"},"accessToken":{"oneOf":[{"type":"string","title":"access_token","description":"Pre-acquired Entra OAuth access token for the SQL scope\n (https://database.windows.net/.default). When set, takes precedence over\n the service principal — for callers that mint their own token out of band\n (managed identity / workload-identity federation). Write-only — masked on\n reads.","uniqueKey":"integration.config.oneOf.7.fabric.accessToken.oneOf.0","typeLabel":"string"},{"type":"null","title":"access_token","description":"Pre-acquired Entra OAuth access token for the SQL scope\n (https://database.windows.net/.default). When set, takes precedence over\n the service principal — for callers that mint their own token out of band\n (managed identity / workload-identity federation). Write-only — masked on\n reads.","uniqueKey":"integration.config.oneOf.7.fabric.accessToken.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.7.fabric.accessToken","typeLabel":"string | null"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","title":"fetch_query_logs","description":"Fetch Fabric query history for cost attribution and SQL / column-level\n lineage. Management-plane reads only, no per-query billing.","uniqueKey":"integration.config.oneOf.7.fabric.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_query_logs","description":"Fetch Fabric query history for cost attribution and SQL / column-level\n lineage. Management-plane reads only, no per-query billing.","uniqueKey":"integration.config.oneOf.7.fabric.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.7.fabric.fetchQueryLogs","typeLabel":"boolean | null"},"scope":{"oneOf":[{"type":"object","properties":{"include":{"type":"array","items":{"type":"object","properties":{"database":{"type":"string","maxLength":256,"description":"Database-level pattern.\n Only meaningful for warehouses that expose more than one database/catalog\n per connection — Snowflake \u0026 Trino (catalog), Databricks (catalog), Athena\n (Glue catalog), DuckDB (database). Ignored by single-database/-project\n connections (Postgres, Redshift, MSSQL, Oracle, BigQuery project) and by\n MySQL/ClickHouse, which filter their namespace at the schema level below.","uniqueKey":"integration.config.oneOf.7.fabric.scope.oneOf.0.include.items.[INDEX].database","typeLabel":"string"},"schema":{"type":"string","maxLength":256,"description":"Schema-level pattern. The level directly above a table.\n Maps to: dataset in BigQuery; database (namespace) in MySQL \u0026 ClickHouse;\n schema in Postgres/Redshift/Snowflake/Trino/MSSQL; owner in Oracle.","uniqueKey":"integration.config.oneOf.7.fabric.scope.oneOf.0.include.items.[INDEX].schema","typeLabel":"string"},"table":{"type":"string","maxLength":256,"description":"Table or view name pattern.","uniqueKey":"integration.config.oneOf.7.fabric.scope.oneOf.0.include.items.[INDEX].table","typeLabel":"string"}},"title":"ScopeRule","additionalProperties":false,"description":"ScopeRule is a multi-level pattern for matching data warehouse objects.\n All non-empty fields must match for the rule to apply.\n Empty field means \"match anything\" at that level (wildcard).\n Patterns support glob syntax where * matches zero or more characters.\n Matching is case-insensitive.","uniqueKey":"integration.config.oneOf.7.fabric.scope.oneOf.0.include.items.[INDEX]","typeLabel":"ScopeRule · object"},"description":"Include rules. If non-empty, only matching objects are accepted.","uniqueKey":"integration.config.oneOf.7.fabric.scope.oneOf.0.include","typeLabel":"ScopeRule · object[]"},"exclude":{"type":"array","items":{"type":"object","properties":{"database":{"type":"string","maxLength":256,"description":"Database-level pattern.\n Only meaningful for warehouses that expose more than one database/catalog\n per connection — Snowflake \u0026 Trino (catalog), Databricks (catalog), Athena\n (Glue catalog), DuckDB (database). Ignored by single-database/-project\n connections (Postgres, Redshift, MSSQL, Oracle, BigQuery project) and by\n MySQL/ClickHouse, which filter their namespace at the schema level below.","uniqueKey":"integration.config.oneOf.7.fabric.scope.oneOf.0.exclude.items.[INDEX].database","typeLabel":"string"},"schema":{"type":"string","maxLength":256,"description":"Schema-level pattern. The level directly above a table.\n Maps to: dataset in BigQuery; database (namespace) in MySQL \u0026 ClickHouse;\n schema in Postgres/Redshift/Snowflake/Trino/MSSQL; owner in Oracle.","uniqueKey":"integration.config.oneOf.7.fabric.scope.oneOf.0.exclude.items.[INDEX].schema","typeLabel":"string"},"table":{"type":"string","maxLength":256,"description":"Table or view name pattern.","uniqueKey":"integration.config.oneOf.7.fabric.scope.oneOf.0.exclude.items.[INDEX].table","typeLabel":"string"}},"title":"ScopeRule","additionalProperties":false,"description":"ScopeRule is a multi-level pattern for matching data warehouse objects.\n All non-empty fields must match for the rule to apply.\n Empty field means \"match anything\" at that level (wildcard).\n Patterns support glob syntax where * matches zero or more characters.\n Matching is case-insensitive.","uniqueKey":"integration.config.oneOf.7.fabric.scope.oneOf.0.exclude.items.[INDEX]","typeLabel":"ScopeRule · object"},"description":"Exclude rules. Matching objects are rejected, even if they match an include rule.","uniqueKey":"integration.config.oneOf.7.fabric.scope.oneOf.0.exclude","typeLabel":"ScopeRule · object[]"}},"title":"scope","additionalProperties":false,"description":"Include/exclude scope filter. ScopeRule.database = Fabric database /\n warehouse, ScopeRule.schema = schema, ScopeRule.table = table / view.","uniqueKey":"integration.config.oneOf.7.fabric.scope.oneOf.0","typeLabel":"scope · object"},{"type":"null","properties":{"include":{"type":"array","items":{"type":"object","properties":{"database":{"type":"string","maxLength":256,"description":"Database-level pattern.\n Only meaningful for warehouses that expose more than one database/catalog\n per connection — Snowflake \u0026 Trino (catalog), Databricks (catalog), Athena\n (Glue catalog), DuckDB (database). Ignored by single-database/-project\n connections (Postgres, Redshift, MSSQL, Oracle, BigQuery project) and by\n MySQL/ClickHouse, which filter their namespace at the schema level below."},"schema":{"type":"string","maxLength":256,"description":"Schema-level pattern. The level directly above a table.\n Maps to: dataset in BigQuery; database (namespace) in MySQL \u0026 ClickHouse;\n schema in Postgres/Redshift/Snowflake/Trino/MSSQL; owner in Oracle."},"table":{"type":"string","maxLength":256,"description":"Table or view name pattern."}},"title":"ScopeRule","additionalProperties":false,"description":"ScopeRule is a multi-level pattern for matching data warehouse objects.\n All non-empty fields must match for the rule to apply.\n Empty field means \"match anything\" at that level (wildcard).\n Patterns support glob syntax where * matches zero or more characters.\n Matching is case-insensitive."},"description":"Include rules. If non-empty, only matching objects are accepted."},"exclude":{"type":"array","items":{"type":"object","properties":{"database":{"type":"string","maxLength":256,"description":"Database-level pattern.\n Only meaningful for warehouses that expose more than one database/catalog\n per connection — Snowflake \u0026 Trino (catalog), Databricks (catalog), Athena\n (Glue catalog), DuckDB (database). Ignored by single-database/-project\n connections (Postgres, Redshift, MSSQL, Oracle, BigQuery project) and by\n MySQL/ClickHouse, which filter their namespace at the schema level below."},"schema":{"type":"string","maxLength":256,"description":"Schema-level pattern. The level directly above a table.\n Maps to: dataset in BigQuery; database (namespace) in MySQL \u0026 ClickHouse;\n schema in Postgres/Redshift/Snowflake/Trino/MSSQL; owner in Oracle."},"table":{"type":"string","maxLength":256,"description":"Table or view name pattern."}},"title":"ScopeRule","additionalProperties":false,"description":"ScopeRule is a multi-level pattern for matching data warehouse objects.\n All non-empty fields must match for the rule to apply.\n Empty field means \"match anything\" at that level (wildcard).\n Patterns support glob syntax where * matches zero or more characters.\n Matching is case-insensitive."},"description":"Exclude rules. Matching objects are rejected, even if they match an include rule."}},"title":"scope","additionalProperties":false,"description":"Include/exclude scope filter. ScopeRule.database = Fabric database /\n warehouse, ScopeRule.schema = schema, ScopeRule.table = table / view.","uniqueKey":"integration.config.oneOf.7.fabric.scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.7.fabric.scope","typeLabel":"scope · object | null"},"auditTableFqn":{"oneOf":[{"type":"string","title":"audit_table_fqn","description":"Fully-qualified table for storing SQL test audit logs, as a three-part\n [warehouse].[schema].[table]. The warehouse must be a Fabric Warehouse in\n the same workspace, not a read-only Lakehouse SQL analytics endpoint.","uniqueKey":"integration.config.oneOf.7.fabric.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","title":"audit_table_fqn","description":"Fully-qualified table for storing SQL test audit logs, as a three-part\n [warehouse].[schema].[table]. The warehouse must be a Fabric Warehouse in\n the same workspace, not a read-only Lakehouse SQL analytics endpoint.","uniqueKey":"integration.config.oneOf.7.fabric.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.7.fabric.auditTableFqn","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"integration.config.oneOf.7.fabric","typeLabel":"fabric · object"}},"additionalProperties":false,"uniqueKey":"integration.config.oneOf.7","typeLabel":"fabric · object"},{"type":"object","title":"mssql","description":"Connection configuration. Secret fields are masked (empty) on reads.","required":["mssql"],"properties":{"mssql":{"type":"object","properties":{"host":{"oneOf":[{"type":"string","minLength":1,"description":"Hostname or IP (Azure SQL e.g. \"yourserver.database.windows.net\").","uniqueKey":"integration.config.oneOf.8.mssql.host.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Hostname or IP (Azure SQL e.g. \"yourserver.database.windows.net\").","uniqueKey":"integration.config.oneOf.8.mssql.host.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.8.mssql.host","typeLabel":"string | null"},"port":{"oneOf":[{"type":"integer","maximum":65535,"minimum":1,"format":"int32","description":"Port (typically 1433).","uniqueKey":"integration.config.oneOf.8.mssql.port.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","maximum":65535,"minimum":1,"format":"int32","description":"Port (typically 1433).","uniqueKey":"integration.config.oneOf.8.mssql.port.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.8.mssql.port","typeLabel":"integer\u003cint32> | null"},"database":{"oneOf":[{"type":"string","description":"Database to connect to and ingest metadata from.","uniqueKey":"integration.config.oneOf.8.mssql.database.oneOf.0","typeLabel":"string"},{"type":"null","description":"Database to connect to and ingest metadata from.","uniqueKey":"integration.config.oneOf.8.mssql.database.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.8.mssql.database","typeLabel":"string | null"},"username":{"oneOf":[{"type":"string","description":"Login username.","uniqueKey":"integration.config.oneOf.8.mssql.username.oneOf.0","typeLabel":"string"},{"type":"null","description":"Login username.","uniqueKey":"integration.config.oneOf.8.mssql.username.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.8.mssql.username","typeLabel":"string | null"},"password":{"oneOf":[{"type":"string","description":"Login password. Write-only — masked on reads.","uniqueKey":"integration.config.oneOf.8.mssql.password.oneOf.0","typeLabel":"string"},{"type":"null","description":"Login password. Write-only — masked on reads.","uniqueKey":"integration.config.oneOf.8.mssql.password.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.8.mssql.password","typeLabel":"string | null"},"trustCert":{"oneOf":[{"type":"boolean","description":"Skip TLS server certificate verification (not recommended for Azure SQL).","uniqueKey":"integration.config.oneOf.8.mssql.trustCert.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Skip TLS server certificate verification (not recommended for Azure SQL).","uniqueKey":"integration.config.oneOf.8.mssql.trustCert.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.8.mssql.trustCert","typeLabel":"boolean | null"},"encrypt":{"oneOf":[{"type":"string","description":"Encryption mode: \"true\" (default, required for Azure SQL), \"false\",\n \"disable\".","uniqueKey":"integration.config.oneOf.8.mssql.encrypt.oneOf.0","typeLabel":"string"},{"type":"null","description":"Encryption mode: \"true\" (default, required for Azure SQL), \"false\",\n \"disable\".","uniqueKey":"integration.config.oneOf.8.mssql.encrypt.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.8.mssql.encrypt","typeLabel":"string | null"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","description":"Ingest query logs from Query Store (must be enabled on the database; Azure\n SQL has it on by default).","uniqueKey":"integration.config.oneOf.8.mssql.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Ingest query logs from Query Store (must be enabled on the database; Azure\n SQL has it on by default).","uniqueKey":"integration.config.oneOf.8.mssql.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.8.mssql.fetchQueryLogs","typeLabel":"boolean | null"},"scope":{"oneOf":[{"type":"object","properties":{"include":{"type":"array","items":{"type":"object","properties":{"database":{"type":"string","maxLength":256,"description":"Database-level pattern.\n Only meaningful for warehouses that expose more than one database/catalog\n per connection — Snowflake \u0026 Trino (catalog), Databricks (catalog), Athena\n (Glue catalog), DuckDB (database). Ignored by single-database/-project\n connections (Postgres, Redshift, MSSQL, Oracle, BigQuery project) and by\n MySQL/ClickHouse, which filter their namespace at the schema level below.","uniqueKey":"integration.config.oneOf.8.mssql.scope.oneOf.0.include.items.[INDEX].database","typeLabel":"string"},"schema":{"type":"string","maxLength":256,"description":"Schema-level pattern. The level directly above a table.\n Maps to: dataset in BigQuery; database (namespace) in MySQL \u0026 ClickHouse;\n schema in Postgres/Redshift/Snowflake/Trino/MSSQL; owner in Oracle.","uniqueKey":"integration.config.oneOf.8.mssql.scope.oneOf.0.include.items.[INDEX].schema","typeLabel":"string"},"table":{"type":"string","maxLength":256,"description":"Table or view name pattern.","uniqueKey":"integration.config.oneOf.8.mssql.scope.oneOf.0.include.items.[INDEX].table","typeLabel":"string"}},"title":"ScopeRule","additionalProperties":false,"description":"ScopeRule is a multi-level pattern for matching data warehouse objects.\n All non-empty fields must match for the rule to apply.\n Empty field means \"match anything\" at that level (wildcard).\n Patterns support glob syntax where * matches zero or more characters.\n Matching is case-insensitive.","uniqueKey":"integration.config.oneOf.8.mssql.scope.oneOf.0.include.items.[INDEX]","typeLabel":"ScopeRule · object"},"description":"Include rules. If non-empty, only matching objects are accepted.","uniqueKey":"integration.config.oneOf.8.mssql.scope.oneOf.0.include","typeLabel":"ScopeRule · object[]"},"exclude":{"type":"array","items":{"type":"object","properties":{"database":{"type":"string","maxLength":256,"description":"Database-level pattern.\n Only meaningful for warehouses that expose more than one database/catalog\n per connection — Snowflake \u0026 Trino (catalog), Databricks (catalog), Athena\n (Glue catalog), DuckDB (database). Ignored by single-database/-project\n connections (Postgres, Redshift, MSSQL, Oracle, BigQuery project) and by\n MySQL/ClickHouse, which filter their namespace at the schema level below.","uniqueKey":"integration.config.oneOf.8.mssql.scope.oneOf.0.exclude.items.[INDEX].database","typeLabel":"string"},"schema":{"type":"string","maxLength":256,"description":"Schema-level pattern. The level directly above a table.\n Maps to: dataset in BigQuery; database (namespace) in MySQL \u0026 ClickHouse;\n schema in Postgres/Redshift/Snowflake/Trino/MSSQL; owner in Oracle.","uniqueKey":"integration.config.oneOf.8.mssql.scope.oneOf.0.exclude.items.[INDEX].schema","typeLabel":"string"},"table":{"type":"string","maxLength":256,"description":"Table or view name pattern.","uniqueKey":"integration.config.oneOf.8.mssql.scope.oneOf.0.exclude.items.[INDEX].table","typeLabel":"string"}},"title":"ScopeRule","additionalProperties":false,"description":"ScopeRule is a multi-level pattern for matching data warehouse objects.\n All non-empty fields must match for the rule to apply.\n Empty field means \"match anything\" at that level (wildcard).\n Patterns support glob syntax where * matches zero or more characters.\n Matching is case-insensitive.","uniqueKey":"integration.config.oneOf.8.mssql.scope.oneOf.0.exclude.items.[INDEX]","typeLabel":"ScopeRule · object"},"description":"Exclude rules. Matching objects are rejected, even if they match an include rule.","uniqueKey":"integration.config.oneOf.8.mssql.scope.oneOf.0.exclude","typeLabel":"ScopeRule · object[]"}},"title":"ScopeFilter","additionalProperties":false,"description":"Include/exclude scope filter (by schema and table; database-level filtering\n does not apply since the connection targets one database).","uniqueKey":"integration.config.oneOf.8.mssql.scope.oneOf.0","typeLabel":"ScopeFilter · object"},{"type":"null","properties":{"include":{"type":"array","items":{"type":"object","properties":{"database":{"type":"string","maxLength":256,"description":"Database-level pattern.\n Only meaningful for warehouses that expose more than one database/catalog\n per connection — Snowflake \u0026 Trino (catalog), Databricks (catalog), Athena\n (Glue catalog), DuckDB (database). Ignored by single-database/-project\n connections (Postgres, Redshift, MSSQL, Oracle, BigQuery project) and by\n MySQL/ClickHouse, which filter their namespace at the schema level below."},"schema":{"type":"string","maxLength":256,"description":"Schema-level pattern. The level directly above a table.\n Maps to: dataset in BigQuery; database (namespace) in MySQL \u0026 ClickHouse;\n schema in Postgres/Redshift/Snowflake/Trino/MSSQL; owner in Oracle."},"table":{"type":"string","maxLength":256,"description":"Table or view name pattern."}},"title":"ScopeRule","additionalProperties":false,"description":"ScopeRule is a multi-level pattern for matching data warehouse objects.\n All non-empty fields must match for the rule to apply.\n Empty field means \"match anything\" at that level (wildcard).\n Patterns support glob syntax where * matches zero or more characters.\n Matching is case-insensitive."},"description":"Include rules. If non-empty, only matching objects are accepted."},"exclude":{"type":"array","items":{"type":"object","properties":{"database":{"type":"string","maxLength":256,"description":"Database-level pattern.\n Only meaningful for warehouses that expose more than one database/catalog\n per connection — Snowflake \u0026 Trino (catalog), Databricks (catalog), Athena\n (Glue catalog), DuckDB (database). Ignored by single-database/-project\n connections (Postgres, Redshift, MSSQL, Oracle, BigQuery project) and by\n MySQL/ClickHouse, which filter their namespace at the schema level below."},"schema":{"type":"string","maxLength":256,"description":"Schema-level pattern. The level directly above a table.\n Maps to: dataset in BigQuery; database (namespace) in MySQL \u0026 ClickHouse;\n schema in Postgres/Redshift/Snowflake/Trino/MSSQL; owner in Oracle."},"table":{"type":"string","maxLength":256,"description":"Table or view name pattern."}},"title":"ScopeRule","additionalProperties":false,"description":"ScopeRule is a multi-level pattern for matching data warehouse objects.\n All non-empty fields must match for the rule to apply.\n Empty field means \"match anything\" at that level (wildcard).\n Patterns support glob syntax where * matches zero or more characters.\n Matching is case-insensitive."},"description":"Exclude rules. Matching objects are rejected, even if they match an include rule."}},"title":"ScopeFilter","additionalProperties":false,"description":"Include/exclude scope filter (by schema and table; database-level filtering\n does not apply since the connection targets one database).","uniqueKey":"integration.config.oneOf.8.mssql.scope.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.8.mssql.scope","typeLabel":"ScopeFilter · object | null"},"auditTableFqn":{"oneOf":[{"type":"string","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"integration.config.oneOf.8.mssql.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"integration.config.oneOf.8.mssql.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.8.mssql.auditTableFqn","typeLabel":"string | null"}},"title":"mssql","additionalProperties":false,"description":"Microsoft SQL Server / Azure SQL connection.","isRequired":true,"uniqueKey":"integration.config.oneOf.8.mssql","typeLabel":"mssql · object"}},"additionalProperties":false,"uniqueKey":"integration.config.oneOf.8","typeLabel":"mssql · object"},{"type":"object","title":"mysql","description":"Connection configuration. Secret fields are masked (empty) on reads.","required":["mysql"],"properties":{"mysql":{"type":"object","properties":{"user":{"oneOf":[{"type":"string","description":"Username.","uniqueKey":"integration.config.oneOf.9.mysql.user.oneOf.0","typeLabel":"string"},{"type":"null","description":"Username.","uniqueKey":"integration.config.oneOf.9.mysql.user.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.9.mysql.user","typeLabel":"string | null"},"password":{"oneOf":[{"type":"string","description":"Password. Write-only — masked on reads.","uniqueKey":"integration.config.oneOf.9.mysql.password.oneOf.0","typeLabel":"string"},{"type":"null","description":"Password. Write-only — masked on reads.","uniqueKey":"integration.config.oneOf.9.mysql.password.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.9.mysql.password","typeLabel":"string | null"},"host":{"oneOf":[{"type":"string","minLength":1,"description":"Host address or IP.","uniqueKey":"integration.config.oneOf.9.mysql.host.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Host address or IP.","uniqueKey":"integration.config.oneOf.9.mysql.host.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.9.mysql.host","typeLabel":"string | null"},"port":{"oneOf":[{"type":"integer","maximum":65535,"minimum":1,"format":"int32","description":"Port (typically 3306).","uniqueKey":"integration.config.oneOf.9.mysql.port.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","maximum":65535,"minimum":1,"format":"int32","description":"Port (typically 3306).","uniqueKey":"integration.config.oneOf.9.mysql.port.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.9.mysql.port","typeLabel":"integer\u003cint32> | null"},"auditTableFqn":{"oneOf":[{"type":"string","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"integration.config.oneOf.9.mysql.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"integration.config.oneOf.9.mysql.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.9.mysql.auditTableFqn","typeLabel":"string | null"}},"title":"mysql","additionalProperties":false,"description":"MySQL connection.","isRequired":true,"uniqueKey":"integration.config.oneOf.9.mysql","typeLabel":"mysql · object"}},"additionalProperties":false,"uniqueKey":"integration.config.oneOf.9","typeLabel":"mysql · object"},{"type":"object","title":"oracle","description":"Connection configuration. Secret fields are masked (empty) on reads.","required":["oracle"],"properties":{"oracle":{"type":"object","properties":{"host":{"oneOf":[{"type":"string","minLength":1,"description":"Host address or IP (OCI Autonomous DB e.g. \"adb.eu-frankfurt-1.oraclecloud.com\").","uniqueKey":"integration.config.oneOf.10.oracle.host.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Host address or IP (OCI Autonomous DB e.g. \"adb.eu-frankfurt-1.oraclecloud.com\").","uniqueKey":"integration.config.oneOf.10.oracle.host.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.10.oracle.host","typeLabel":"string | null"},"port":{"oneOf":[{"type":"integer","maximum":65535,"minimum":1,"format":"int32","description":"Listener port (typically 1521; OCI Autonomous DB with mTLS uses 1522).","uniqueKey":"integration.config.oneOf.10.oracle.port.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","maximum":65535,"minimum":1,"format":"int32","description":"Listener port (typically 1521; OCI Autonomous DB with mTLS uses 1522).","uniqueKey":"integration.config.oneOf.10.oracle.port.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.10.oracle.port","typeLabel":"integer\u003cint32> | null"},"serviceName":{"oneOf":[{"type":"string","description":"Service name / PDB name (OCI Autonomous DB e.g. \"mydb_high\").","uniqueKey":"integration.config.oneOf.10.oracle.serviceName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Service name / PDB name (OCI Autonomous DB e.g. \"mydb_high\").","uniqueKey":"integration.config.oneOf.10.oracle.serviceName.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.10.oracle.serviceName","typeLabel":"string | null"},"username":{"oneOf":[{"type":"string","description":"Username.","uniqueKey":"integration.config.oneOf.10.oracle.username.oneOf.0","typeLabel":"string"},{"type":"null","description":"Username.","uniqueKey":"integration.config.oneOf.10.oracle.username.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.10.oracle.username","typeLabel":"string | null"},"password":{"oneOf":[{"type":"string","description":"Password. Write-only — masked on reads.","uniqueKey":"integration.config.oneOf.10.oracle.password.oneOf.0","typeLabel":"string"},{"type":"null","description":"Password. Write-only — masked on reads.","uniqueKey":"integration.config.oneOf.10.oracle.password.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.10.oracle.password","typeLabel":"string | null"},"ssl":{"oneOf":[{"type":"boolean","description":"Enable TLS/SSL (TCPS). Required for OCI Autonomous Database.","uniqueKey":"integration.config.oneOf.10.oracle.ssl.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Enable TLS/SSL (TCPS). Required for OCI Autonomous Database.","uniqueKey":"integration.config.oneOf.10.oracle.ssl.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.10.oracle.ssl","typeLabel":"boolean | null"},"sslVerify":{"oneOf":[{"type":"boolean","description":"Verify the server certificate when SSL is enabled.","uniqueKey":"integration.config.oneOf.10.oracle.sslVerify.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Verify the server certificate when SSL is enabled.","uniqueKey":"integration.config.oneOf.10.oracle.sslVerify.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.10.oracle.sslVerify","typeLabel":"boolean | null"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","description":"Ingest query logs (V$SQL by default, DBA_HIST with the Diagnostics Pack).","uniqueKey":"integration.config.oneOf.10.oracle.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Ingest query logs (V$SQL by default, DBA_HIST with the Diagnostics Pack).","uniqueKey":"integration.config.oneOf.10.oracle.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.10.oracle.fetchQueryLogs","typeLabel":"boolean | null"},"useDiagnosticsPack":{"oneOf":[{"type":"boolean","description":"Use the Oracle Diagnostics Pack (AWR) for persistent query-log history\n (requires a license; included with OCI Autonomous Database).","uniqueKey":"integration.config.oneOf.10.oracle.useDiagnosticsPack.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Use the Oracle Diagnostics Pack (AWR) for persistent query-log history\n (requires a license; included with OCI Autonomous Database).","uniqueKey":"integration.config.oneOf.10.oracle.useDiagnosticsPack.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.10.oracle.useDiagnosticsPack","typeLabel":"boolean | null"},"auditTableFqn":{"oneOf":[{"type":"string","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"integration.config.oneOf.10.oracle.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"integration.config.oneOf.10.oracle.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.10.oracle.auditTableFqn","typeLabel":"string | null"}},"title":"oracle","additionalProperties":false,"description":"Oracle Database connection.","isRequired":true,"uniqueKey":"integration.config.oneOf.10.oracle","typeLabel":"oracle · object"}},"additionalProperties":false,"uniqueKey":"integration.config.oneOf.10","typeLabel":"oracle · object"},{"type":"object","title":"postgres","description":"Connection configuration. Secret fields are masked (empty) on reads.","required":["postgres"],"properties":{"postgres":{"type":"object","properties":{"user":{"oneOf":[{"type":"string","description":"Username.","uniqueKey":"integration.config.oneOf.11.postgres.user.oneOf.0","typeLabel":"string"},{"type":"null","description":"Username.","uniqueKey":"integration.config.oneOf.11.postgres.user.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.11.postgres.user","typeLabel":"string | null"},"password":{"oneOf":[{"type":"string","description":"Password. Write-only — masked on reads.","uniqueKey":"integration.config.oneOf.11.postgres.password.oneOf.0","typeLabel":"string"},{"type":"null","description":"Password. Write-only — masked on reads.","uniqueKey":"integration.config.oneOf.11.postgres.password.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.11.postgres.password","typeLabel":"string | null"},"host":{"oneOf":[{"type":"string","minLength":1,"description":"Host address or IP.","uniqueKey":"integration.config.oneOf.11.postgres.host.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Host address or IP.","uniqueKey":"integration.config.oneOf.11.postgres.host.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.11.postgres.host","typeLabel":"string | null"},"port":{"oneOf":[{"type":"integer","maximum":65535,"minimum":1,"format":"int32","description":"Port (typically 5432).","uniqueKey":"integration.config.oneOf.11.postgres.port.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","maximum":65535,"minimum":1,"format":"int32","description":"Port (typically 5432).","uniqueKey":"integration.config.oneOf.11.postgres.port.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.11.postgres.port","typeLabel":"integer\u003cint32> | null"},"database":{"oneOf":[{"type":"string","description":"Database to connect to and ingest metadata from.","uniqueKey":"integration.config.oneOf.11.postgres.database.oneOf.0","typeLabel":"string"},{"type":"null","description":"Database to connect to and ingest metadata from.","uniqueKey":"integration.config.oneOf.11.postgres.database.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.11.postgres.database","typeLabel":"string | null"},"auditTableFqn":{"oneOf":[{"type":"string","description":"Table name for storing SQL test audit logs (e.g., 'sql_test_audit').\n Auto-creation quotes the value as a single identifier, so a schema-qualified\n name only works against a table you have created yourself.","uniqueKey":"integration.config.oneOf.11.postgres.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","description":"Table name for storing SQL test audit logs (e.g., 'sql_test_audit').\n Auto-creation quotes the value as a single identifier, so a schema-qualified\n name only works against a table you have created yourself.","uniqueKey":"integration.config.oneOf.11.postgres.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.11.postgres.auditTableFqn","typeLabel":"string | null"}},"title":"postgres","additionalProperties":false,"description":"PostgreSQL connection.","isRequired":true,"uniqueKey":"integration.config.oneOf.11.postgres","typeLabel":"postgres · object"}},"additionalProperties":false,"uniqueKey":"integration.config.oneOf.11","typeLabel":"postgres · object"},{"type":"object","title":"redshift","description":"Connection configuration. Secret fields are masked (empty) on reads.","required":["redshift"],"properties":{"redshift":{"type":"object","properties":{"user":{"oneOf":[{"type":"string","description":"Username.","uniqueKey":"integration.config.oneOf.12.redshift.user.oneOf.0","typeLabel":"string"},{"type":"null","description":"Username.","uniqueKey":"integration.config.oneOf.12.redshift.user.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.12.redshift.user","typeLabel":"string | null"},"password":{"oneOf":[{"type":"string","description":"Password. Write-only — masked on reads.","uniqueKey":"integration.config.oneOf.12.redshift.password.oneOf.0","typeLabel":"string"},{"type":"null","description":"Password. Write-only — masked on reads.","uniqueKey":"integration.config.oneOf.12.redshift.password.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.12.redshift.password","typeLabel":"string | null"},"host":{"oneOf":[{"type":"string","minLength":1,"description":"Cluster endpoint hostname.","uniqueKey":"integration.config.oneOf.12.redshift.host.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Cluster endpoint hostname.","uniqueKey":"integration.config.oneOf.12.redshift.host.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.12.redshift.host","typeLabel":"string | null"},"port":{"oneOf":[{"type":"integer","maximum":65535,"minimum":1,"format":"int32","description":"Port (typically 5439).","uniqueKey":"integration.config.oneOf.12.redshift.port.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","maximum":65535,"minimum":1,"format":"int32","description":"Port (typically 5439).","uniqueKey":"integration.config.oneOf.12.redshift.port.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.12.redshift.port","typeLabel":"integer\u003cint32> | null"},"database":{"oneOf":[{"type":"string","description":"Database to connect to and ingest metadata from.","uniqueKey":"integration.config.oneOf.12.redshift.database.oneOf.0","typeLabel":"string"},{"type":"null","description":"Database to connect to and ingest metadata from.","uniqueKey":"integration.config.oneOf.12.redshift.database.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.12.redshift.database","typeLabel":"string | null"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","description":"Ingest query logs from system views.","uniqueKey":"integration.config.oneOf.12.redshift.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Ingest query logs from system views.","uniqueKey":"integration.config.oneOf.12.redshift.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.12.redshift.fetchQueryLogs","typeLabel":"boolean | null"},"freshnessFromQueryLogs":{"oneOf":[{"type":"boolean","description":"Estimate table freshness from query logs (SYS_QUERY_DETAIL).","uniqueKey":"integration.config.oneOf.12.redshift.freshnessFromQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Estimate table freshness from query logs (SYS_QUERY_DETAIL).","uniqueKey":"integration.config.oneOf.12.redshift.freshnessFromQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.12.redshift.freshnessFromQueryLogs","typeLabel":"boolean | null"},"auditTableFqn":{"oneOf":[{"type":"string","description":"Table name for storing SQL test audit logs (e.g., 'sql_test_audit').\n Auto-creation quotes the value as a single identifier, so a schema-qualified\n name only works against a table you have created yourself.","uniqueKey":"integration.config.oneOf.12.redshift.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","description":"Table name for storing SQL test audit logs (e.g., 'sql_test_audit').\n Auto-creation quotes the value as a single identifier, so a schema-qualified\n name only works against a table you have created yourself.","uniqueKey":"integration.config.oneOf.12.redshift.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.12.redshift.auditTableFqn","typeLabel":"string | null"},"useShowCreateTable":{"oneOf":[{"type":"boolean","description":"Read each table's DDL with SHOW TABLE (one statement per table).","uniqueKey":"integration.config.oneOf.12.redshift.useShowCreateTable.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Read each table's DDL with SHOW TABLE (one statement per table).","uniqueKey":"integration.config.oneOf.12.redshift.useShowCreateTable.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.12.redshift.useShowCreateTable","typeLabel":"boolean | null"}},"title":"redshift","additionalProperties":false,"description":"Amazon Redshift connection.","isRequired":true,"uniqueKey":"integration.config.oneOf.12.redshift","typeLabel":"redshift · object"}},"additionalProperties":false,"uniqueKey":"integration.config.oneOf.12","typeLabel":"redshift · object"},{"type":"object","title":"snowflake","description":"Connection configuration. Secret fields are masked (empty) on reads.","required":["snowflake"],"properties":{"snowflake":{"oneOf":[{"type":"object","title":"snowflake","description":"Snowflake connection.","required":["keyPair"],"properties":{"keyPair":{"type":"object","properties":{"privateKeySecret":{"oneOf":[{"type":"string","description":"PEM-encoded private key (PKCS#8). Write-only — masked on reads. Required\n when using key-pair auth.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.keyPair.privateKeySecret.oneOf.0","typeLabel":"string"},{"type":"null","description":"PEM-encoded private key (PKCS#8). Write-only — masked on reads. Required\n when using key-pair auth.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.keyPair.privateKeySecret.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.keyPair.privateKeySecret","typeLabel":"string | null"},"publicKey":{"oneOf":[{"type":"string","description":"Public key corresponding to the private key. For a Coalesce Quality–managed\n key pair this is returned so you can register it on the Snowflake user; when\n you supply your own key it is optional.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.keyPair.publicKey.oneOf.0","typeLabel":"string"},{"type":"null","description":"Public key corresponding to the private key. For a Coalesce Quality–managed\n key pair this is returned so you can register it on the Snowflake user; when\n you supply your own key it is optional.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.keyPair.publicKey.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.keyPair.publicKey","typeLabel":"string | null"},"privateKeyPassphrase":{"oneOf":[{"type":"string","description":"Optional passphrase for an encrypted private key. Write-only — masked on\n reads.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.keyPair.privateKeyPassphrase.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional passphrase for an encrypted private key. Write-only — masked on\n reads.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.keyPair.privateKeyPassphrase.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.keyPair.privateKeyPassphrase","typeLabel":"string | null"}},"title":"key_pair","additionalProperties":false,"description":"Key-pair authentication.","isRequired":true,"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.keyPair","typeLabel":"key_pair · object"},"user":{"oneOf":[{"type":"string","title":"user","description":"Snowflake username.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.user.oneOf.0","typeLabel":"string"},{"type":"null","title":"user","description":"Snowflake username.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.user.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.user","typeLabel":"string | null"},"account":{"oneOf":[{"type":"string","title":"account","description":"Account identifier (e.g. \"xy12345.us-east-1\") without scheme or trailing slash.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.account.oneOf.0","typeLabel":"string"},{"type":"null","title":"account","description":"Account identifier (e.g. \"xy12345.us-east-1\") without scheme or trailing slash.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.account.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.account","typeLabel":"string | null"},"warehouse":{"oneOf":[{"type":"string","title":"warehouse","description":"Warehouse to run queries on.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.warehouse.oneOf.0","typeLabel":"string"},{"type":"null","title":"warehouse","description":"Warehouse to run queries on.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.warehouse.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.warehouse","typeLabel":"string | null"},"databases":{"type":"array","items":{"type":"string","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.databases.items.[INDEX]","typeLabel":"string"},"title":"databases","description":"Databases to monitor and ingest metadata from.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.databases","typeLabel":"string[]"},"role":{"oneOf":[{"type":"string","title":"role","description":"Role to use for metadata access and queries.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.role.oneOf.0","typeLabel":"string"},{"type":"null","title":"role","description":"Role to use for metadata access and queries.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.role.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.role","typeLabel":"string | null"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","title":"fetch_query_logs","description":"Ingest query logs from the ACCOUNT_USAGE schema.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_query_logs","description":"Ingest query logs from the ACCOUNT_USAGE schema.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.fetchQueryLogs","typeLabel":"boolean | null"},"fetchQueryLogsDatabases":{"type":"array","items":{"type":"string","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.fetchQueryLogsDatabases.items.[INDEX]","typeLabel":"string"},"title":"fetch_query_logs_databases","description":"Databases to fetch query logs from (defaults to all configured databases).","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.fetchQueryLogsDatabases","typeLabel":"string[]"},"auditTableFqn":{"oneOf":[{"type":"string","title":"audit_table_fqn","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","title":"audit_table_fqn","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.auditTableFqn","typeLabel":"string | null"},"noGetDdl":{"oneOf":[{"type":"boolean","title":"no_get_ddl","description":"Skip GET_DDL for table definitions (use query logs instead).","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.noGetDdl.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"no_get_ddl","description":"Skip GET_DDL for table definitions (use query logs instead).","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.noGetDdl.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.noGetDdl","typeLabel":"boolean | null"},"fetchTasks":{"oneOf":[{"type":"boolean","title":"fetch_tasks","description":"Ingest Snowflake Tasks metadata.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.fetchTasks.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_tasks","description":"Ingest Snowflake Tasks metadata.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.fetchTasks.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.fetchTasks","typeLabel":"boolean | null"},"fetchTasksDatabases":{"type":"array","items":{"type":"string","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.fetchTasksDatabases.items.[INDEX]","typeLabel":"string"},"title":"fetch_tasks_databases","description":"Databases to retrieve tasks from (defaults to all configured databases).","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.fetchTasksDatabases","typeLabel":"string[]"},"fetchTasksExecutionsFromAccountUsage":{"oneOf":[{"type":"boolean","title":"fetch_tasks_executions_from_account_usage","description":"Use ACCOUNT_USAGE.TASK_HISTORY for task execution history.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.fetchTasksExecutionsFromAccountUsage.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_tasks_executions_from_account_usage","description":"Use ACCOUNT_USAGE.TASK_HISTORY for task execution history.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.fetchTasksExecutionsFromAccountUsage.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.fetchTasksExecutionsFromAccountUsage","typeLabel":"boolean | null"},"fetchTasksExecutionsDuration":{"oneOf":[{"type":"string","format":"duration","description":"Time range for fetching task execution history (minimum 5 minutes).","title":"fetch_tasks_executions_duration","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.fetchTasksExecutionsDuration.oneOf.0","typeLabel":"string\u003cduration>"},{"type":"null","format":"duration","description":"Time range for fetching task execution history (minimum 5 minutes).","title":"fetch_tasks_executions_duration","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.fetchTasksExecutionsDuration.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.fetchTasksExecutionsDuration","typeLabel":"string\u003cduration> | null"},"fetchTableLineage":{"oneOf":[{"type":"boolean","title":"fetch_table_lineage","description":"Produce table-level lineage via GET_LINEAGE (Enterprise edition or higher).","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.fetchTableLineage.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_table_lineage","description":"Produce table-level lineage via GET_LINEAGE (Enterprise edition or higher).","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.fetchTableLineage.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.fetchTableLineage","typeLabel":"boolean | null"},"fetchTableLineageDatabases":{"type":"array","items":{"type":"string","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.fetchTableLineageDatabases.items.[INDEX]","typeLabel":"string"},"title":"fetch_table_lineage_databases","description":"Databases to fetch upstream lineage from (defaults to `databases`).","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.fetchTableLineageDatabases","typeLabel":"string[]"},"accountUsageDb":{"oneOf":[{"type":"string","title":"account_usage_db","description":"Database where the ACCOUNT_USAGE schema lives (defaults to \"SNOWFLAKE\").","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.accountUsageDb.oneOf.0","typeLabel":"string"},{"type":"null","title":"account_usage_db","description":"Database where the ACCOUNT_USAGE schema lives (defaults to \"SNOWFLAKE\").","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.accountUsageDb.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.accountUsageDb","typeLabel":"string | null"},"catalogFromAccountUsage":{"oneOf":[{"type":"boolean","title":"catalog_from_account_usage","description":"Read databases, schemas, tables, columns and view definitions from ACCOUNT_USAGE, for a role\n with only IMPORTED PRIVILEGES on the SNOWFLAKE database. New objects show up to three hours\n late.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.catalogFromAccountUsage.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"catalog_from_account_usage","description":"Read databases, schemas, tables, columns and view definitions from ACCOUNT_USAGE, for a role\n with only IMPORTED PRIVILEGES on the SNOWFLAKE database. New objects show up to three hours\n late.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.catalogFromAccountUsage.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.catalogFromAccountUsage","typeLabel":"boolean | null"},"tableMetricsFromAccountUsage":{"oneOf":[{"type":"boolean","title":"table_metrics_from_account_usage","description":"Read table row counts, sizes and last change times from ACCOUNT_USAGE. Freshness is then up\n to three hours late.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.tableMetricsFromAccountUsage.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"table_metrics_from_account_usage","description":"Read table row counts, sizes and last change times from ACCOUNT_USAGE. Freshness is then up\n to three hours late.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.tableMetricsFromAccountUsage.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0.tableMetricsFromAccountUsage","typeLabel":"boolean | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.0","typeLabel":"snowflake · object"},{"type":"object","title":"snowflake","description":"Snowflake connection.","required":["password"],"properties":{"password":{"type":"string","title":"password","description":"Password. Write-only — masked on reads.","isRequired":true,"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.password","typeLabel":"string"},"user":{"oneOf":[{"type":"string","title":"user","description":"Snowflake username.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.user.oneOf.0","typeLabel":"string"},{"type":"null","title":"user","description":"Snowflake username.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.user.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.user","typeLabel":"string | null"},"account":{"oneOf":[{"type":"string","title":"account","description":"Account identifier (e.g. \"xy12345.us-east-1\") without scheme or trailing slash.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.account.oneOf.0","typeLabel":"string"},{"type":"null","title":"account","description":"Account identifier (e.g. \"xy12345.us-east-1\") without scheme or trailing slash.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.account.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.account","typeLabel":"string | null"},"warehouse":{"oneOf":[{"type":"string","title":"warehouse","description":"Warehouse to run queries on.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.warehouse.oneOf.0","typeLabel":"string"},{"type":"null","title":"warehouse","description":"Warehouse to run queries on.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.warehouse.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.warehouse","typeLabel":"string | null"},"databases":{"type":"array","items":{"type":"string","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.databases.items.[INDEX]","typeLabel":"string"},"title":"databases","description":"Databases to monitor and ingest metadata from.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.databases","typeLabel":"string[]"},"role":{"oneOf":[{"type":"string","title":"role","description":"Role to use for metadata access and queries.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.role.oneOf.0","typeLabel":"string"},{"type":"null","title":"role","description":"Role to use for metadata access and queries.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.role.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.role","typeLabel":"string | null"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","title":"fetch_query_logs","description":"Ingest query logs from the ACCOUNT_USAGE schema.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_query_logs","description":"Ingest query logs from the ACCOUNT_USAGE schema.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.fetchQueryLogs","typeLabel":"boolean | null"},"fetchQueryLogsDatabases":{"type":"array","items":{"type":"string","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.fetchQueryLogsDatabases.items.[INDEX]","typeLabel":"string"},"title":"fetch_query_logs_databases","description":"Databases to fetch query logs from (defaults to all configured databases).","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.fetchQueryLogsDatabases","typeLabel":"string[]"},"auditTableFqn":{"oneOf":[{"type":"string","title":"audit_table_fqn","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","title":"audit_table_fqn","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.auditTableFqn","typeLabel":"string | null"},"noGetDdl":{"oneOf":[{"type":"boolean","title":"no_get_ddl","description":"Skip GET_DDL for table definitions (use query logs instead).","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.noGetDdl.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"no_get_ddl","description":"Skip GET_DDL for table definitions (use query logs instead).","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.noGetDdl.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.noGetDdl","typeLabel":"boolean | null"},"fetchTasks":{"oneOf":[{"type":"boolean","title":"fetch_tasks","description":"Ingest Snowflake Tasks metadata.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.fetchTasks.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_tasks","description":"Ingest Snowflake Tasks metadata.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.fetchTasks.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.fetchTasks","typeLabel":"boolean | null"},"fetchTasksDatabases":{"type":"array","items":{"type":"string","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.fetchTasksDatabases.items.[INDEX]","typeLabel":"string"},"title":"fetch_tasks_databases","description":"Databases to retrieve tasks from (defaults to all configured databases).","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.fetchTasksDatabases","typeLabel":"string[]"},"fetchTasksExecutionsFromAccountUsage":{"oneOf":[{"type":"boolean","title":"fetch_tasks_executions_from_account_usage","description":"Use ACCOUNT_USAGE.TASK_HISTORY for task execution history.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.fetchTasksExecutionsFromAccountUsage.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_tasks_executions_from_account_usage","description":"Use ACCOUNT_USAGE.TASK_HISTORY for task execution history.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.fetchTasksExecutionsFromAccountUsage.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.fetchTasksExecutionsFromAccountUsage","typeLabel":"boolean | null"},"fetchTasksExecutionsDuration":{"oneOf":[{"type":"string","format":"duration","description":"Time range for fetching task execution history (minimum 5 minutes).","title":"fetch_tasks_executions_duration","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.fetchTasksExecutionsDuration.oneOf.0","typeLabel":"string\u003cduration>"},{"type":"null","format":"duration","description":"Time range for fetching task execution history (minimum 5 minutes).","title":"fetch_tasks_executions_duration","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.fetchTasksExecutionsDuration.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.fetchTasksExecutionsDuration","typeLabel":"string\u003cduration> | null"},"fetchTableLineage":{"oneOf":[{"type":"boolean","title":"fetch_table_lineage","description":"Produce table-level lineage via GET_LINEAGE (Enterprise edition or higher).","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.fetchTableLineage.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_table_lineage","description":"Produce table-level lineage via GET_LINEAGE (Enterprise edition or higher).","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.fetchTableLineage.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.fetchTableLineage","typeLabel":"boolean | null"},"fetchTableLineageDatabases":{"type":"array","items":{"type":"string","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.fetchTableLineageDatabases.items.[INDEX]","typeLabel":"string"},"title":"fetch_table_lineage_databases","description":"Databases to fetch upstream lineage from (defaults to `databases`).","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.fetchTableLineageDatabases","typeLabel":"string[]"},"accountUsageDb":{"oneOf":[{"type":"string","title":"account_usage_db","description":"Database where the ACCOUNT_USAGE schema lives (defaults to \"SNOWFLAKE\").","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.accountUsageDb.oneOf.0","typeLabel":"string"},{"type":"null","title":"account_usage_db","description":"Database where the ACCOUNT_USAGE schema lives (defaults to \"SNOWFLAKE\").","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.accountUsageDb.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.accountUsageDb","typeLabel":"string | null"},"catalogFromAccountUsage":{"oneOf":[{"type":"boolean","title":"catalog_from_account_usage","description":"Read databases, schemas, tables, columns and view definitions from ACCOUNT_USAGE, for a role\n with only IMPORTED PRIVILEGES on the SNOWFLAKE database. New objects show up to three hours\n late.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.catalogFromAccountUsage.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"catalog_from_account_usage","description":"Read databases, schemas, tables, columns and view definitions from ACCOUNT_USAGE, for a role\n with only IMPORTED PRIVILEGES on the SNOWFLAKE database. New objects show up to three hours\n late.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.catalogFromAccountUsage.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.catalogFromAccountUsage","typeLabel":"boolean | null"},"tableMetricsFromAccountUsage":{"oneOf":[{"type":"boolean","title":"table_metrics_from_account_usage","description":"Read table row counts, sizes and last change times from ACCOUNT_USAGE. Freshness is then up\n to three hours late.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.tableMetricsFromAccountUsage.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"table_metrics_from_account_usage","description":"Read table row counts, sizes and last change times from ACCOUNT_USAGE. Freshness is then up\n to three hours late.","uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.tableMetricsFromAccountUsage.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1.tableMetricsFromAccountUsage","typeLabel":"boolean | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"integration.config.oneOf.13.snowflake.oneOf.1","typeLabel":"snowflake · object"}],"isRequired":true,"uniqueKey":"integration.config.oneOf.13.snowflake","typeLabel":"snowflake · object"}},"additionalProperties":false,"uniqueKey":"integration.config.oneOf.13","typeLabel":"snowflake · object"},{"type":"object","title":"trino","description":"Connection configuration. Secret fields are masked (empty) on reads.","required":["trino"],"properties":{"trino":{"type":"object","title":"trino","description":"Trino / Presto connection.","required":["basic"],"properties":{"basic":{"type":"object","properties":{"user":{"oneOf":[{"type":"string","description":"Trino username.","uniqueKey":"integration.config.oneOf.14.trino.basic.user.oneOf.0","typeLabel":"string"},{"type":"null","description":"Trino username.","uniqueKey":"integration.config.oneOf.14.trino.basic.user.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.14.trino.basic.user","typeLabel":"string | null"},"password":{"oneOf":[{"type":"string","description":"Trino password. Write-only — masked on reads.","uniqueKey":"integration.config.oneOf.14.trino.basic.password.oneOf.0","typeLabel":"string"},{"type":"null","description":"Trino password. Write-only — masked on reads.","uniqueKey":"integration.config.oneOf.14.trino.basic.password.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.14.trino.basic.password","typeLabel":"string | null"}},"title":"basic","additionalProperties":false,"description":"Basic username/password auth.","isRequired":true,"uniqueKey":"integration.config.oneOf.14.trino.basic","typeLabel":"basic · object"},"host":{"oneOf":[{"type":"string","title":"host","format":"hostname","description":"Coordinator hostname or IP.","uniqueKey":"integration.config.oneOf.14.trino.host.oneOf.0","typeLabel":"string\u003chostname>"},{"type":"null","title":"host","format":"hostname","description":"Coordinator hostname or IP.","uniqueKey":"integration.config.oneOf.14.trino.host.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.14.trino.host","typeLabel":"string\u003chostname> | null"},"port":{"oneOf":[{"type":"integer","title":"port","maximum":65535,"minimum":1,"format":"int32","description":"Port (leave unset for the driver default — typically 443 for HTTPS,\n 8080 for HTTP).","uniqueKey":"integration.config.oneOf.14.trino.port.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","title":"port","maximum":65535,"minimum":1,"format":"int32","description":"Port (leave unset for the driver default — typically 443 for HTTPS,\n 8080 for HTTP).","uniqueKey":"integration.config.oneOf.14.trino.port.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.14.trino.port","typeLabel":"integer\u003cint32> | null"},"catalogs":{"type":"array","items":{"type":"string","minLength":1,"uniqueKey":"integration.config.oneOf.14.trino.catalogs.items.[INDEX]","typeLabel":"string"},"title":"catalogs","description":"Catalogs to ingest metadata from (e.g. [\"hive\", \"postgresql\"]).","uniqueKey":"integration.config.oneOf.14.trino.catalogs","typeLabel":"string[]"},"fetchQueryLogs":{"oneOf":[{"type":"boolean","title":"fetch_query_logs","description":"Has no effect. Trino keeps only the coordinator's recent queries in memory, which is not a\n complete history, so Trino query logs are not read.","deprecated":true,"uniqueKey":"integration.config.oneOf.14.trino.fetchQueryLogs.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_query_logs","description":"Has no effect. Trino keeps only the coordinator's recent queries in memory, which is not a\n complete history, so Trino query logs are not read.","deprecated":true,"uniqueKey":"integration.config.oneOf.14.trino.fetchQueryLogs.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.14.trino.fetchQueryLogs","typeLabel":"boolean | null"},"noShowCreateView":{"oneOf":[{"type":"boolean","title":"no_show_create_view","description":"Disable SHOW CREATE VIEW for view DDL.","uniqueKey":"integration.config.oneOf.14.trino.noShowCreateView.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"no_show_create_view","description":"Disable SHOW CREATE VIEW for view DDL.","uniqueKey":"integration.config.oneOf.14.trino.noShowCreateView.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.14.trino.noShowCreateView","typeLabel":"boolean | null"},"noShowCreateTable":{"oneOf":[{"type":"boolean","title":"no_show_create_table","description":"Disable SHOW CREATE TABLE for table DDL.","uniqueKey":"integration.config.oneOf.14.trino.noShowCreateTable.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"no_show_create_table","description":"Disable SHOW CREATE TABLE for table DDL.","uniqueKey":"integration.config.oneOf.14.trino.noShowCreateTable.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.14.trino.noShowCreateTable","typeLabel":"boolean | null"},"noMaterializedViews":{"oneOf":[{"type":"boolean","title":"no_materialized_views","description":"Disable fetching materialized views from system.metadata.materialized_views.","uniqueKey":"integration.config.oneOf.14.trino.noMaterializedViews.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"no_materialized_views","description":"Disable fetching materialized views from system.metadata.materialized_views.","uniqueKey":"integration.config.oneOf.14.trino.noMaterializedViews.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.14.trino.noMaterializedViews","typeLabel":"boolean | null"},"fetchTableComments":{"oneOf":[{"type":"boolean","title":"fetch_table_comments","description":"Fetch table comments from system.metadata.table_comments.","uniqueKey":"integration.config.oneOf.14.trino.fetchTableComments.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"fetch_table_comments","description":"Fetch table comments from system.metadata.table_comments.","uniqueKey":"integration.config.oneOf.14.trino.fetchTableComments.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.14.trino.fetchTableComments","typeLabel":"boolean | null"},"usePlaintext":{"oneOf":[{"type":"boolean","title":"use_plaintext","description":"Use plaintext HTTP instead of HTTPS. Only enable when SSL is unsupported or\n the connection is otherwise secured (e.g. a VPN).","uniqueKey":"integration.config.oneOf.14.trino.usePlaintext.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"use_plaintext","description":"Use plaintext HTTP instead of HTTPS. Only enable when SSL is unsupported or\n the connection is otherwise secured (e.g. a VPN).","uniqueKey":"integration.config.oneOf.14.trino.usePlaintext.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.14.trino.usePlaintext","typeLabel":"boolean | null"},"auditTableFqn":{"oneOf":[{"type":"string","title":"audit_table_fqn","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"integration.config.oneOf.14.trino.auditTableFqn.oneOf.0","typeLabel":"string"},{"type":"null","title":"audit_table_fqn","description":"Fully-qualified table for storing SQL test audit logs.","uniqueKey":"integration.config.oneOf.14.trino.auditTableFqn.oneOf.1","typeLabel":"null"}],"uniqueKey":"integration.config.oneOf.14.trino.auditTableFqn","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"integration.config.oneOf.14.trino","typeLabel":"trino · object"}},"additionalProperties":false,"uniqueKey":"integration.config.oneOf.14","typeLabel":"trino · object"}],"uniqueKey":"integration.config","typeLabel":"athena · object | bigquery · object | clickhouse · object | databricks · object | db2 · object | dbt_cloud · object | duckdb · object | fabric · object | mssql · object | mysql · object | oracle · object | postgres · object | redshift · object | snowflake · object | trino · object"},"outputs":{"oneOf":[{"type":"object","title":"athena","description":"Server-generated outputs (read-only). Empty for types that produce none.","required":["athena"],"properties":{"athena":{"type":"object","properties":{"accountId":{"type":"string","description":"AWS account id resolved from the supplied credentials.","uniqueKey":"integration.outputs.oneOf.0.athena.accountId","typeLabel":"string"},"principalArn":{"type":"string","description":"ARN of the IAM principal Coalesce Quality authenticates as. Reference it in\n your Athena / Glue resource policies.","uniqueKey":"integration.outputs.oneOf.0.athena.principalArn","typeLabel":"string"}},"title":"athena","additionalProperties":false,"description":"Athena: the resolved AWS caller identity.","isRequired":true,"uniqueKey":"integration.outputs.oneOf.0.athena","typeLabel":"athena · object"}},"additionalProperties":false,"uniqueKey":"integration.outputs.oneOf.0","typeLabel":"athena · object"},{"type":"object","title":"bigquery","description":"Server-generated outputs (read-only). Empty for types that produce none.","required":["bigquery"],"properties":{"bigquery":{"type":"object","properties":{"serviceAccountEmail":{"type":"string","description":"Email of the service account derived from the supplied credentials. Grant\n this principal access to the datasets you want Coalesce Quality to read.","uniqueKey":"integration.outputs.oneOf.1.bigquery.serviceAccountEmail","typeLabel":"string"}},"title":"bigquery","additionalProperties":false,"description":"BigQuery: the service-account identity to grant dataset access to.","isRequired":true,"uniqueKey":"integration.outputs.oneOf.1.bigquery","typeLabel":"bigquery · object"}},"additionalProperties":false,"uniqueKey":"integration.outputs.oneOf.1","typeLabel":"bigquery · object"},{"type":"object","title":"snowflake","description":"Server-generated outputs (read-only). Empty for types that produce none.","required":["snowflake"],"properties":{"snowflake":{"type":"object","properties":{"publicKey":{"type":"string","description":"Public key (PEM) to register on the Snowflake user when authenticating with\n a Coalesce Quality–managed key pair. Empty when you supply your own\n credentials.","uniqueKey":"integration.outputs.oneOf.2.snowflake.publicKey","typeLabel":"string"}},"title":"snowflake","additionalProperties":false,"description":"Snowflake: the public key to register when using key-pair auth.","isRequired":true,"uniqueKey":"integration.outputs.oneOf.2.snowflake","typeLabel":"snowflake · object"}},"additionalProperties":false,"uniqueKey":"integration.outputs.oneOf.2","typeLabel":"snowflake · object"}],"uniqueKey":"integration.outputs","typeLabel":"athena · object | bigquery · object | snowflake · object"},"capabilities":{"type":"object","properties":{"canPatch":{"type":"boolean","description":"The configuration can be changed via `UpdateIntegration`. False for\n read-only / externally-owned integrations.","uniqueKey":"integration.capabilities.canPatch","typeLabel":"boolean"},"canRefresh":{"type":"boolean","description":"An ad-hoc refresh can be triggered via `RefreshIntegration`.","uniqueKey":"integration.capabilities.canRefresh","typeLabel":"boolean"},"canDisable":{"type":"boolean","description":"The integration can be disabled via `DisableIntegration` (true only when\n currently enabled).","uniqueKey":"integration.capabilities.canDisable","typeLabel":"boolean"},"canEnable":{"type":"boolean","description":"The integration can be enabled via `EnableIntegration` (true only when\n currently disabled).","uniqueKey":"integration.capabilities.canEnable","typeLabel":"boolean"},"canDelete":{"type":"boolean","description":"The integration can be deleted via `DeleteIntegration`.","uniqueKey":"integration.capabilities.canDelete","typeLabel":"boolean"},"isDwh":{"type":"boolean","description":"Whether this is a data warehouse or database connection (rather than a\n transformation tool, catalog, etc.). Querying features — data preview,\n SQL tests, and reconciliation — are only available for these.","uniqueKey":"integration.capabilities.isDwh","typeLabel":"boolean"},"canReconcileDeploy":{"type":"boolean","description":"Whether scheduled and API-triggered reconciliations can run against this\n integration. True only when it is an enabled data warehouse and your\n workspace has enabled reconciliation for it. These runs use the\n integration's workspace-level credentials, so this does not depend on any\n individual user's personal connection.","uniqueKey":"integration.capabilities.canReconcileDeploy","typeLabel":"boolean"}},"title":"Capabilities","additionalProperties":false,"description":"Actions valid for this integration in its current state (read-only hint).","uniqueKey":"integration.capabilities","typeLabel":"Capabilities · object"}},"title":"Integration","additionalProperties":false,"description":"The updated integration with a new etag.","uniqueKey":"integration","typeLabel":"Integration · object"}},"title":"UpdateIntegrationResponse","additionalProperties":false,"description":"Response from updating an integration.","uniqueKey":"","typeLabel":"UpdateIntegrationResponse · object"},"examples":{"Example":{"title":"Example","value":{"integration":{"id":"\u003cstring>","title":"\u003cstring>","disabled":true,"createdAt":"2023-01-15T01:30:15.01Z","updatedAt":"2023-01-15T01:30:15.01Z","etag":"\u003cstring>","platform":"DATA_PLATFORM_TYPE_UNSPECIFIED","dialect":"SQL_DIALECT_UNSPECIFIED","config":{"athena":{"accessKey":{"accessKeyId":"\u003cstring>","secretAccessKey":"\u003cstring>"},"region":"\u003cstring>","workgroup":"\u003cstring>","useShowCreateTable":true,"useShowCreateView":true,"fetchQueryLogs":true,"useIcebergMetricsScan":true,"scope":{"include":[{"database":"\u003cstring>","schema":"\u003cstring>","table":"\u003cstring>"}],"exclude":[{"database":"\u003cstring>","schema":"\u003cstring>","table":"\u003cstring>"}]}}},"outputs":{"athena":{"accountId":"\u003cstring>","principalArn":"\u003cstring>"}},"capabilities":{"canPatch":true,"canRefresh":true,"canDisable":true,"canEnable":true,"canDelete":true,"isDwh":true,"canReconcileDeploy":true}}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"379ee2f2-ebaf-470b-afc4-64f1e17ecab2":{"bearerAuth":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"abcc77c3-b80c-408b-919b-d9a46a66b731":{"url":"https://developer.synq.io"},"5219f1bb-e913-4dd6-b490-4b05888d6ea1":{"url":"https://api.us.synq.io"},"b01509f7-4949-4ef2-ba98-767c4a5b9021":{"url":"https://api.au.synq.io"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi.yaml"},"subdomain":"synq-15","siteName":"Coalesce Quality Documentation","title":"UpdateIntegration - Coalesce Quality Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-30T15:51:19.596Z","originalFileLocation":"api-reference/synqintegrationsv1integrationsservice/updateintegration.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=\"Update an integration. The config is replaced wholesale — send the complete desired config (omitted secrets are preserved; see the service-level secret semantics). title is patch-style: omit it to leave it unchanged. The config variant must match the existing integration\u0026#x27;s type; changing the type is rejected with FAILED_PRECONDITION. Safe to retry: addresses an existing id and converges to the same state. With an etag set, a retry after success returns ABORTED (the version moved) — treat that as \u0026quot;already applied\u0026quot;.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Coalesce Quality Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/synq-15/B7wGMZU-A3ADVMov/_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/synq-15/B7wGMZU-A3ADVMov/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/synq-15/B7wGMZU-A3ADVMov/_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/synq-15/B7wGMZU-A3ADVMov/_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/synq-15/B7wGMZU-A3ADVMov/_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/synq-15/B7wGMZU-A3ADVMov/_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/synq-15/B7wGMZU-A3ADVMov/_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/synq-15/B7wGMZU-A3ADVMov/_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/synq-15/B7wGMZU-A3ADVMov/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"UpdateIntegration - Coalesce Quality Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Update an integration. The config is replaced wholesale — send the complete desired config (omitted secrets are preserved; see the service-level secret semantics). title is patch-style: omit it to leave it unchanged. The config variant must match the existing integration\u0026#x27;s type; changing the type is rejected with FAILED_PRECONDITION. Safe to retry: addresses an existing id and converges to the same state. With an etag set, a retry after success returns ABORTED (the version moved) — treat that as \u0026quot;already applied\u0026quot;.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Coalesce Quality Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.synq.io/api-reference/synqintegrationsv1integrationsservice/updateintegration\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://synq-15.mintlify.app/_mintlify/api/og/v2?division=synq.integrations.v1.IntegrationsService\u0026amp;title=UpdateIntegration\u0026amp;description=Update+an+integration.+The+%60config%60+is+replaced+wholesale+%E2%80%94+send+the%0A+complete+desired+config+%28omitted+secrets+are+preserved%3B+see+the%0A+service-level+secret+sema\u0026amp;theme=c4b0b33f9bac9b90d2a12108\u0026amp;signature=4edfad88e6098acb13632a27f449c6930a3383b1618c24d2836937934976798f\">\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=\"UpdateIntegration - Coalesce Quality Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Update an integration. The config is replaced wholesale — send the complete desired config (omitted secrets are preserved; see the service-level secret semantics). title is patch-style: omit it to leave it unchanged. The config variant must match the existing integration\u0026#x27;s type; changing the type is rejected with FAILED_PRECONDITION. Safe to retry: addresses an existing id and converges to the same state. With an etag set, a retry after success returns ABORTED (the version moved) — treat that as \u0026quot;already applied\u0026quot;.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://synq-15.mintlify.app/_mintlify/api/og/v2?division=synq.integrations.v1.IntegrationsService\u0026amp;title=UpdateIntegration\u0026amp;description=Update+an+integration.+The+%60config%60+is+replaced+wholesale+%E2%80%94+send+the%0A+complete+desired+config+%28omitted+secrets+are+preserved%3B+see+the%0A+service-level+secret+sema\u0026amp;theme=c4b0b33f9bac9b90d2a12108\u0026amp;signature=4edfad88e6098acb13632a27f449c6930a3383b1618c24d2836937934976798f\">\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/synq-15/B7wGMZU-A3ADVMov/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Coalesce Quality Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#135594\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.synq.io/api-reference/synqintegrationsv1integrationsservice/updateintegration\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/synqintegrationsv1integrationsservice/updateintegration.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.synq.io/#organization\",\"name\":\"Coalesce Quality Documentation\",\"url\":\"https://docs.synq.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/synq-15/VrNXC6Gv5xCECUGd/logo/coalesce-quality-logo.svg?fit=max\u0026auto=format\u0026n=VrNXC6Gv5xCECUGd\u0026q=85\u0026s=4ad60b616ed815902c710f413d59cf63\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.synq.io#website\",\"name\":\"Coalesce Quality Documentation\",\"url\":\"https://docs.synq.io\",\"publisher\":{\"@id\":\"https://docs.synq.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.synq.io/api-reference/synqintegrationsv1integrationsservice/updateintegration#webpage\",\"url\":\"https://docs.synq.io/api-reference/synqintegrationsv1integrationsservice/updateintegration\",\"name\":\"UpdateIntegration\",\"description\":\"Update an integration. The config is replaced wholesale — send the complete desired config (omitted secrets are preserved; see the service-level secret semantics). title is patch-style: omit it to leave it unchanged. The config variant must match the existing integration's type; changing the type is rejected with FAILED_PRECONDITION. Safe to retry: addresses an existing id and converges to the same state. With an etag set, a retry after success returns ABORTED (the version moved) — treat that as \\\"already applied\\\".\",\"dateModified\":\"2026-10-30T15:51:19.596Z\",\"isPartOf\":{\"@id\":\"https://docs.synq.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.synq.io/api-reference/synqintegrationsv1integrationsservice/updateintegration#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.synq.io/api-reference/synqintegrationsv1integrationsservice/updateintegration#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Developer API\",\"item\":\"https://docs.synq.io/api-reference/getting-started\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"REST API\",\"item\":\"https://docs.synq.io/api-reference/synqagentreconv1yamlservice/parseyaml\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"synq.integrations.v1.IntegrationsService\",\"item\":\"https://docs.synq.io/api-reference/synqintegrationsv1integrationsservice/listintegrations\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"UpdateIntegration\",\"item\":\"https://docs.synq.io/api-reference/synqintegrationsv1integrationsservice/updateintegration\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.synq.io/api-reference/synqintegrationsv1integrationsservice/updateintegration#apireference\",\"headline\":\"UpdateIntegration\",\"name\":\"UpdateIntegration\",\"description\":\"Update an integration. The config is replaced wholesale — send the complete desired config (omitted secrets are preserved; see the service-level secret semantics). title is patch-style: omit it to leave it unchanged. The config variant must match the existing integration's type; changing the type is rejected with FAILED_PRECONDITION. Safe to retry: addresses an existing id and converges to the same state. With an etag set, a retry after success returns ABORTED (the version moved) — treat that as \\\"already applied\\\".\",\"url\":\"https://docs.synq.io/api-reference/synqintegrationsv1integrationsservice/updateintegration\",\"mainEntityOfPage\":{\"@id\":\"https://docs.synq.io/api-reference/synqintegrationsv1integrationsservice/updateintegration#webpage\"},\"dateModified\":\"2026-10-30T15:51:19.596Z\",\"publisher\":{\"@id\":\"https://docs.synq.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.synq.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Coalesce Quality Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Coalesce Quality Documentation","nav":{"global":{"anchors":[{"anchor":"Blog","icon":"newspaper","href":"https://coalesce.io/resources/"},{"anchor":"Changelog","icon":"rocket","href":"https://synq.io/changelog"}]},"anchors":[{"anchor":"Documentation","icon":"book-open","groups":[{"group":"Get Started","pages":[{"title":"Introduction","href":"/introduction"},{"title":"Command-line tools","href":"/cli"}]},{"group":"Alerts","pages":[{"title":"Alerts overview","href":"/alerts/alert-overview"},{"title":"Setting up alerts","href":"/alerts/setting-up-alerts"},{"title":"Tagging owners","href":"/alerts/tagging-owners"},{"title":"Routing alerts","href":"/alerts/routing-alerts"},{"title":"Business alerts","href":"/alerts/business-alerts"},{"title":"Writing alert templates","href":"/alerts/templates"}]},{"group":"Monitors","pages":[{"title":"Monitors overview","href":"/monitors/monitors-overview"},{"title":"Setting up monitors","href":"/monitors/setting-up-monitors"},{"title":"Setting up deployment rules","href":"/monitors/deployment-rules"},{"title":"Configuring monitor sensitivity","href":"/monitors/monitor-sensitivity"},{"title":"Monitor feedback","href":"/monitors/monitor-feedback"},{"title":"Muting monitors","href":"/monitors/muting-monitors"},{"title":"Defining monitors in code","href":"/monitors/monitors-as-code"},{"title":"Agent workflow","href":"/monitors/agent-workflow"},{"title":"Monitors CLI reference","href":"/monitors/cli"},{"title":"SQL Tests","href":"/monitors/sql-tests"},{"title":"Working with time dimensions and scheduling for monitors","href":"/monitors/time-dimensions"}]},{"group":"Monitors Types","pages":[{"title":"Table stats monitor","href":"/monitor-types/table-stats-monitor"},{"title":"Volume monitor","href":"/monitor-types/volume-monitor"},{"title":"Freshness monitor","href":"/monitor-types/freshness-monitor"},{"title":"Custom SQL monitor","href":"/monitor-types/custom-sql-monitor"},{"title":"Field stats monitor","href":"/monitor-types/fieldstats"},{"title":"Schema monitor","href":"/monitor-types/schema-monitor"}]},{"group":"Reconciliations","pages":[{"title":"Reconciliation overview","href":"/reconciliation/overview"},{"title":"Getting started","href":"/reconciliation/getting-started"},{"title":"Concepts and vocabulary","href":"/reconciliation/concepts"},{"title":"Authoring suites","href":"/reconciliation/authoring-suites"},{"title":"Comparison modes","href":"/reconciliation/comparison-modes"},{"title":"Time windows and cutoffs","href":"/reconciliation/time-windows-and-cutoffs"},{"title":"Running locally","href":"/reconciliation/running-locally"},{"title":"Workspace suites","href":"/reconciliation/workspace-suites"},{"title":"Investigating results","href":"/reconciliation/investigating-results"},{"title":"CI/CD and automation","href":"/reconciliation/cicd-and-automation"},{"title":"How comparison works","href":"/reconciliation/how-comparison-works"},{"title":"Agent workflow","href":"/reconciliation/agent-workflow"},{"title":"Reconciliation CLI reference","href":"/reconciliation/cli"}]},{"group":"Data Products","pages":[{"title":"Data products overview","href":"/data-products/data-products-overview"},{"title":"Creating a data product","href":"/data-products/creating-a-data-product"},{"title":"BI Status Badge","href":"/data-products/bi-badge"}]},{"group":"Scout AI","pages":[{"title":"Scout overview","href":"/scout/scout"},{"title":"Setting up and configuring Scout","href":"/scout/setting-up-scout"},{"title":"Scout on-premise setup","href":"/scout/on-premise"},{"title":"MCP","href":"/scout/mcp"},{"title":"Agent workflow","href":"/scout/agent-workflow"},{"title":"Scout CLI reference","href":"/scout/cli"}]},{"group":"Ownership","pages":[{"title":"Ownership overview","href":"/ownership/ownership-overview"},{"title":"Creating an owner","href":"/ownership/creating-an-owner"},{"title":"Domains","href":"/ownership/domains"}]},{"group":"Incidents","pages":[{"title":"Incidents overview","href":"/incidents/incident-overview"}]},{"group":"Analytics","pages":[{"title":"Analytics overview","href":"/analytics/analytics-overview"},{"title":"How metrics are calculated","href":"/analytics/how-metrics-are-calculated"},{"title":"Check categories","href":"/analytics/check-categories"}]},{"group":"Query activity","pages":[{"title":"Query activity","href":"/query-activity/overview"}]},{"group":"Lineage","pages":[{"title":"Lineage overview","href":"/lineage/lineage"},{"title":"Column-level lineage","href":"/lineage/column-level-lineage"}]},{"group":"BI Integrations","pages":[{"title":"Looker","href":"/bi-integrations/looker"},{"title":"Tableau","href":"/bi-integrations/tableau"},{"title":"Omni","href":"/bi-integrations/omni"}]},{"group":"Data Warehouse Integrations","pages":[{"title":"BigQuery","href":"/dw-integrations/bigquery"},{"title":"ClickHouse","href":"/dw-integrations/clickhouse"},{"title":"Databricks","href":"/dw-integrations/databricks"},{"title":"Microsoft Fabric","href":"/dw-integrations/fabric"},{"title":"Redshift","href":"/dw-integrations/redshift"},{"title":"Snowflake","href":"/dw-integrations/snowflake"},{"title":"Trino","href":"/dw-integrations/trino"},{"title":"DWH Agent","href":"/dw-integrations/agent"},{"title":"MotherDuck","href":"/dw-integrations/motherduck"}]},{"group":"Transactional databases","pages":[{"title":"Postgres","href":"/transactional-databases/postgres"},{"title":"MySQL","href":"/transactional-databases/mysql"},{"title":"Microsoft SQL Server","href":"/transactional-databases/mssql"},{"title":"Oracle","href":"/transactional-databases/oracle"},{"title":"IBM Db2","href":"/transactional-databases/db2"}]},{"group":"Code Integrations","pages":[{"title":"Code Integration Requirements","href":"/code-integrations/overview"},{"title":"GitHub Integration","href":"/code-integrations/github"},{"title":"GitLab Integration","href":"/code-integrations/gitlab"},{"title":"Bitbucket Integration","href":"/code-integrations/bitbucket"},{"title":"Azure DevOps Integration","href":"/code-integrations/azure-devops"},{"title":"Other Git Providers","href":"/code-integrations/ssh-git"}]},{"group":"dbt Integrations","pages":[{"title":"dbt Core","href":"/dbt-integrations/dbt-core"},{"title":"dbt Cloud","href":"/dbt-integrations/dbt-cloud"},{"title":"Coalesce Quality options for dbt","href":"/dbt-integrations/synq-options"}]},{"group":"SQLMesh Integrations","pages":[{"title":"SQLMesh","href":"/sqlmesh-integrations/sqlmesh"}]},{"group":"Coalesce Integrations","pages":[{"title":"Coalesce Transform","href":"/coalesce-integrations/coalesce-transform"},{"title":"Coalesce Catalog","href":"/coalesce-integrations/coalesce-catalog"}]},{"group":"Orchestration Tool Integrations","pages":[{"title":"Airflow","href":"/orchestration-integrations/airflow"},{"title":"Airflow + dbt Core Linking","href":"/orchestration-integrations/airflow-dbt-core"}]},{"group":"Alerting Integrations","pages":[{"title":"Slack","href":"/alert-integrations/slack"},{"title":"Email","href":"/alert-integrations/email"},{"title":"Microsoft Teams","href":"/alert-integrations/ms-teams"},{"title":"PagerDuty","href":"/alert-integrations/pagerduty"},{"title":"Opsgenie","href":"/alert-integrations/opsgenie"}]},{"group":"Catalogs","pages":[{"title":"Atlan","href":"/catalogs/atlan"}]},{"group":"Google Cloud Integrations","pages":[{"title":"Google Cloud Storage","href":"/gcp-integrations/cloud-storage"},{"title":"Google Cloud Pub/Sub","href":"/gcp-integrations/pubsub"}]},{"group":"Admin","pages":[{"title":"Single Sign-On (SSO)","href":"/admin/sso"},{"title":"Inviting new users","href":"/admin/invite_user"},{"title":"User roles","href":"/admin/user_roles"},{"title":"Monitor Usage","href":"/admin/monitor-usage"}]},{"group":"Security","pages":[{"title":"Security Policy","href":"/security/security"},{"title":"Subprocessors","href":"/security/subprocessors"},{"title":"Data Warehouse Access","href":"/security/dwh-access"},{"title":"Private Connectivity","href":"/security/private-connectivity"},{"title":"IP Whitelist","href":"/security/ip"}]},{"group":"Support","pages":[{"title":"Coalesce Quality Support","href":"/support/support"}]},{"group":"Developer API","pages":[{"title":"Getting Started","href":"/api-reference/getting-started"},{"title":"API Scopes","href":"/api-reference/scopes"},{"group":"REST API","pages":[{"group":"synq.agent.recon.v1.YamlService","pages":[{"title":"ParseYaml","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/agent/recon/v1/yaml/parse","href":"/api-reference/synqagentreconv1yamlservice/parseyaml"},{"title":"RenderYaml","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/agent/recon/v1/yaml/render","href":"/api-reference/synqagentreconv1yamlservice/renderyaml"},{"title":"ValidateSuite","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/agent/recon/v1/yaml/validate","href":"/api-reference/synqagentreconv1yamlservice/validatesuite"}]},{"group":"synq.alerts.services.v1.AlertsService","pages":[{"title":"Update","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /api/alerts/v1","href":"/api-reference/synqalertsservicesv1alertsservice/update"},{"title":"Create","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/alerts/v1","href":"/api-reference/synqalertsservicesv1alertsservice/create"},{"title":"Delete","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /api/alerts/v1","href":"/api-reference/synqalertsservicesv1alertsservice/delete"},{"title":"BatchGet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/alerts/v1/get","href":"/api-reference/synqalertsservicesv1alertsservice/batchget"},{"title":"List","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/alerts/v1/list","href":"/api-reference/synqalertsservicesv1alertsservice/list"},{"title":"ToggleEnabled","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/alerts/v1/toggle","href":"/api-reference/synqalertsservicesv1alertsservice/toggleenabled"}]},{"group":"synq.alerts.services.v2.AlertsService","pages":[{"title":"Upsert","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /api/alerts/v2","href":"/api-reference/synqalertsservicesv2alertsservice/upsert"},{"title":"Create","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/alerts/v2","href":"/api-reference/synqalertsservicesv2alertsservice/create"},{"title":"Delete","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /api/alerts/v2","href":"/api-reference/synqalertsservicesv2alertsservice/delete"},{"title":"BatchGet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/alerts/v2/get","href":"/api-reference/synqalertsservicesv2alertsservice/batchget"},{"title":"GetIncidentOwnerAlert","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/alerts/v2/incident-owner","href":"/api-reference/synqalertsservicesv2alertsservice/getincidentowneralert"},{"title":"ToggleIncidentOwnerAlert","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/alerts/v2/incident-owner","href":"/api-reference/synqalertsservicesv2alertsservice/toggleincidentowneralert"},{"title":"List","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/alerts/v2/list","href":"/api-reference/synqalertsservicesv2alertsservice/list"},{"title":"Rename","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/alerts/v2/rename","href":"/api-reference/synqalertsservicesv2alertsservice/rename"},{"title":"UpdateSettings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/alerts/v2/settings","href":"/api-reference/synqalertsservicesv2alertsservice/updatesettings"},{"title":"UpdateTargets","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/alerts/v2/targets","href":"/api-reference/synqalertsservicesv2alertsservice/updatetargets"},{"title":"UpdateTemplate","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/alerts/v2/template","href":"/api-reference/synqalertsservicesv2alertsservice/updatetemplate"},{"title":"SendTestAlert","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/alerts/v2/test","href":"/api-reference/synqalertsservicesv2alertsservice/sendtestalert"},{"title":"ToggleEnabled","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/alerts/v2/toggle","href":"/api-reference/synqalertsservicesv2alertsservice/toggleenabled"}]},{"group":"synq.entities.changes.v1.ChangesService","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/changes/v1","href":"/api-reference/synqentitieschangesv1changesservice/list"},{"title":"BatchChange","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/changes/v1/by-id","href":"/api-reference/synqentitieschangesv1changesservice/batchchange"}]},{"group":"synq.entities.code.v1.CodeService","pages":[{"title":"ListCode","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/code/v1","href":"/api-reference/synqentitiescodev1codeservice/listcode"}]},{"group":"synq.entities.constraints.v1.TableConstraintsService","pages":[{"title":"GetTableConstraints","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/constraints/v1/table-constraints","href":"/api-reference/synqentitiesconstraintsv1tableconstraintsservice/gettableconstraints"}]},{"group":"synq.entities.coordinates.v1.DatabaseCoordinatesService","pages":[{"title":"BatchIdsByCoordinates","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/coordinates/v1/database/by-fqn","href":"/api-reference/synqentitiescoordinatesv1databasecoordinatesservice/batchidsbycoordinates"},{"title":"BatchDatabaseCoordinates","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/coordinates/v1/database/by-id","href":"/api-reference/synqentitiescoordinatesv1databasecoordinatesservice/batchdatabasecoordinates"}]},{"group":"synq.datachecks.v1.TriggerService","pages":[{"title":"TriggerDatachecks","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/datachecks/scheduler/v1/trigger","href":"/api-reference/synqdatachecksv1triggerservice/triggerdatachecks"}]},{"group":"synq.datachecks.sqltests.v1.SqlTestsDeploymentRulesService","pages":[{"title":"ListSqlTestDeploymentRules","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/datachecks/sql-test-deployment-rules/v1","href":"/api-reference/synqdatacheckssqltestsv1sqltestsdeploymentrulesservice/listsqltestdeploymentrules"},{"title":"BatchDeleteSqlTestDeploymentRules","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /api/datachecks/sql-test-deployment-rules/v1/batch","href":"/api-reference/synqdatacheckssqltestsv1sqltestsdeploymentrulesservice/batchdeletesqltestdeploymentrules"},{"title":"BatchDeploySqlTestDeploymentRules","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/datachecks/sql-test-deployment-rules/v1/batch/deployed","href":"/api-reference/synqdatacheckssqltestsv1sqltestsdeploymentrulesservice/batchdeploysqltestdeploymentrules"},{"title":"BatchGetSqlTestDeploymentRules","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/datachecks/sql-test-deployment-rules/v1/by-id","href":"/api-reference/synqdatacheckssqltestsv1sqltestsdeploymentrulesservice/batchgetsqltestdeploymentrules"},{"title":"DeploySqlTestDeploymentRule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/datachecks/sql-test-deployment-rules/v1/deployed","href":"/api-reference/synqdatacheckssqltestsv1sqltestsdeploymentrulesservice/deploysqltestdeploymentrule"},{"title":"GetSqlTestDeployOverview","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/datachecks/sql-test-deployment-rules/v1/overview","href":"/api-reference/synqdatacheckssqltestsv1sqltestsdeploymentrulesservice/getsqltestdeployoverview"},{"title":"DeleteSqlTestDeploymentRule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /api/datachecks/sql-test-deployment-rules/v1/{id}","href":"/api-reference/synqdatacheckssqltestsv1sqltestsdeploymentrulesservice/deletesqltestdeploymentrule"},{"title":"GetSqlTestDeployDeleteOverview","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/datachecks/sql-test-deployment-rules/v1/{id}/deleted","href":"/api-reference/synqdatacheckssqltestsv1sqltestsdeploymentrulesservice/getsqltestdeploydeleteoverview"}]},{"group":"synq.datachecks.sqltests.v1.SqlTestsService","pages":[{"title":"ListSqlTests","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/datachecks/sqltests/v1","href":"/api-reference/synqdatacheckssqltestsv1sqltestsservice/listsqltests"},{"title":"BatchUpsertSqlTests","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/datachecks/sqltests/v1","href":"/api-reference/synqdatacheckssqltestsv1sqltestsservice/batchupsertsqltests"},{"title":"BatchDeleteSqlTests","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /api/datachecks/sqltests/v1","href":"/api-reference/synqdatacheckssqltestsv1sqltestsservice/batchdeletesqltests"},{"title":"BatchGetSqlTests","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/datachecks/sqltests/v1/by-id","href":"/api-reference/synqdatacheckssqltestsv1sqltestsservice/batchgetsqltests"}]},{"group":"synq.datachecks.testsuggestions.v1.TestSuggestionsService","pages":[{"title":"BatchGetTestSuggestionsForEntities","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/datachecks/testsuggestions/v1","href":"/api-reference/synqdatacheckstestsuggestionsv1testsuggestionsservice/batchgettestsuggestionsforentities"},{"title":"BatchCreateTestSuggestions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/datachecks/testsuggestions/v1","href":"/api-reference/synqdatacheckstestsuggestionsv1testsuggestionsservice/batchcreatetestsuggestions"},{"title":"BatchAcceptTestSuggestions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /api/datachecks/testsuggestions/v1/accepted","href":"/api-reference/synqdatacheckstestsuggestionsv1testsuggestionsservice/batchaccepttestsuggestions"},{"title":"BatchRejectTestSuggestions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /api/datachecks/testsuggestions/v1/rejected","href":"/api-reference/synqdatacheckstestsuggestionsv1testsuggestionsservice/batchrejecttestsuggestions"}]},{"group":"synq.dataproducts.v1.DataproductsService","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/dataproducts/v1","href":"/api-reference/synqdataproductsv1dataproductsservice/list"},{"title":"Upsert","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/dataproducts/v1","href":"/api-reference/synqdataproductsv1dataproductsservice/upsert"},{"title":"SetDefinition","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/dataproducts/v1/definition","href":"/api-reference/synqdataproductsv1dataproductsservice/setdefinition"},{"title":"UpsertDefinitionPart","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/dataproducts/v1/definition/part","href":"/api-reference/synqdataproductsv1dataproductsservice/upsertdefinitionpart"},{"title":"RemoveDefinitionPart","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/dataproducts/v1/definition/part/delete","href":"/api-reference/synqdataproductsv1dataproductsservice/removedefinitionpart"},{"title":"Delete","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/dataproducts/v1/delete","href":"/api-reference/synqdataproductsv1dataproductsservice/delete"},{"title":"Get","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/dataproducts/v1/get","href":"/api-reference/synqdataproductsv1dataproductsservice/get"}]},{"group":"synq.dataproducts.v2.DataproductsService","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/dataproducts/v2","href":"/api-reference/synqdataproductsv2dataproductsservice/list"},{"title":"Upsert","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/dataproducts/v2","href":"/api-reference/synqdataproductsv2dataproductsservice/upsert"},{"title":"BatchGet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/dataproducts/v2/batch-get","href":"/api-reference/synqdataproductsv2dataproductsservice/batchget"},{"title":"Delete","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/dataproducts/v2/delete","href":"/api-reference/synqdataproductsv2dataproductsservice/delete"},{"title":"SetDefinition","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /api/dataproducts/v2/{id}/definition","href":"/api-reference/synqdataproductsv2dataproductsservice/setdefinition"},{"title":"UpsertDefinitionPart","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/dataproducts/v2/{id}/definition/parts","href":"/api-reference/synqdataproductsv2dataproductsservice/upsertdefinitionpart"},{"title":"RemoveDefinitionPart","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /api/dataproducts/v2/{id}/definition/parts/{part_id}","href":"/api-reference/synqdataproductsv2dataproductsservice/removedefinitionpart"},{"title":"ListMembers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/dataproducts/v2/{id}/members","href":"/api-reference/synqdataproductsv2dataproductsservice/listmembers"}]},{"group":"synq.ingest.dwh.v1.DwhService","pages":[{"title":"IngestTaskResults","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/datawarehouse/v1/connection/{connection_id}/task/{task_id}/task-results","href":"/api-reference/synqingestdwhv1dwhservice/ingesttaskresults"},{"title":"IngestLineage","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/datawarehouse/v1/connection/{connection_id}/upload/{upload_id}/lineage","href":"/api-reference/synqingestdwhv1dwhservice/ingestlineage"},{"title":"IngestObjectInformation","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/datawarehouse/v1/connection/{connection_id}/upload/{upload_id}/object-information","href":"/api-reference/synqingestdwhv1dwhservice/ingestobjectinformation"},{"title":"IngestObjectMetrics","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/datawarehouse/v1/connection/{connection_id}/upload/{upload_id}/object-metrics","href":"/api-reference/synqingestdwhv1dwhservice/ingestobjectmetrics"},{"title":"IngestQueryLogs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/datawarehouse/v1/connection/{connection_id}/upload/{upload_id}/query-logs","href":"/api-reference/synqingestdwhv1dwhservice/ingestquerylogs"},{"title":"IngestSchemas","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/datawarehouse/v1/connection/{connection_id}/upload/{upload_id}/schemas","href":"/api-reference/synqingestdwhv1dwhservice/ingestschemas"},{"title":"IngestSqlDefinitions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/datawarehouse/v1/connection/{connection_id}/upload/{upload_id}/sql-definitions","href":"/api-reference/synqingestdwhv1dwhservice/ingestsqldefinitions"},{"title":"IngestTableConstraints","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/datawarehouse/v1/connection/{connection_id}/upload/{upload_id}/table-constraints","href":"/api-reference/synqingestdwhv1dwhservice/ingesttableconstraints"}]},{"group":"synq.deliveries.v1.DeliveriesService","pages":[{"title":"ListDeliveries","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/deliveries/v1","href":"/api-reference/synqdeliveriesv1deliveriesservice/listdeliveries"},{"title":"BatchGetDeliveries","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/deliveries/v1/by-id","href":"/api-reference/synqdeliveriesv1deliveriesservice/batchgetdeliveries"},{"title":"SummariseDeliveries","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/deliveries/v1/summarise","href":"/api-reference/synqdeliveriesv1deliveriesservice/summarisedeliveries"},{"title":"SendTestDelivery","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/deliveries/v1/test","href":"/api-reference/synqdeliveriesv1deliveriesservice/sendtestdelivery"},{"title":"ListAttempts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/deliveries/v1/{delivery_id}/attempts","href":"/api-reference/synqdeliveriesv1deliveriesservice/listattempts"},{"title":"Redeliver","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/deliveries/v1/{delivery_id}/redeliver","href":"/api-reference/synqdeliveriesv1deliveriesservice/redeliver"}]},{"group":"synq.domains.members.v1.DomainMembersService","pages":[{"title":"ListUserDomains","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/domains/members/v1/users/{user_id}/domains","href":"/api-reference/synqdomainsmembersv1domainmembersservice/listuserdomains"},{"title":"SetDefaultUserDomain","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/domains/members/v1/{domain_id}/default-for-user","href":"/api-reference/synqdomainsmembersv1domainmembersservice/setdefaultuserdomain"},{"title":"ListDomainMembers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/domains/members/v1/{domain_id}/members","href":"/api-reference/synqdomainsmembersv1domainmembersservice/listdomainmembers"},{"title":"AddDomainMembers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/domains/members/v1/{domain_id}/members","href":"/api-reference/synqdomainsmembersv1domainmembersservice/adddomainmembers"},{"title":"RemoveDomainMembers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/domains/members/v1/{domain_id}/members/remove","href":"/api-reference/synqdomainsmembersv1domainmembersservice/removedomainmembers"}]},{"group":"synq.domains.v1.DomainsService","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/domains/v1","href":"/api-reference/synqdomainsv1domainsservice/list"},{"title":"Upsert","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/domains/v1","href":"/api-reference/synqdomainsv1domainsservice/upsert"},{"title":"BatchGet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/domains/v1/batch-get","href":"/api-reference/synqdomainsv1domainsservice/batchget"},{"title":"Delete","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/domains/v1/delete","href":"/api-reference/synqdomainsv1domainsservice/delete"},{"title":"GetUsage","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/domains/v1/usage","href":"/api-reference/synqdomainsv1domainsservice/getusage"},{"title":"SetDefinition","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /api/domains/v1/{domain_id}/definition","href":"/api-reference/synqdomainsv1domainsservice/setdefinition"},{"title":"UpsertDefinitionPart","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/domains/v1/{domain_id}/definition/parts","href":"/api-reference/synqdomainsv1domainsservice/upsertdefinitionpart"},{"title":"RemoveDefinitionPart","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /api/domains/v1/{domain_id}/definition/parts/{part_id}","href":"/api-reference/synqdomainsv1domainsservice/removedefinitionpart"},{"title":"FetchDomainWithSubDomains","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/domains/v1/{domain_id}/sub-domains","href":"/api-reference/synqdomainsv1domainsservice/fetchdomainwithsubdomains"}]},{"group":"synq.domains.v2.DomainsService","pages":[{"title":"List","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/domains/v2","href":"/api-reference/synqdomainsv2domainsservice/list"},{"title":"Upsert","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/domains/v2","href":"/api-reference/synqdomainsv2domainsservice/upsert"},{"title":"BatchGet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/domains/v2/batch-get","href":"/api-reference/synqdomainsv2domainsservice/batchget"},{"title":"Delete","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/domains/v2/delete","href":"/api-reference/synqdomainsv2domainsservice/delete"},{"title":"GetUsage","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/domains/v2/usage","href":"/api-reference/synqdomainsv2domainsservice/getusage"},{"title":"SetDefinition","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /api/domains/v2/{id}/definition","href":"/api-reference/synqdomainsv2domainsservice/setdefinition"},{"title":"UpsertDefinitionPart","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/domains/v2/{id}/definition/parts","href":"/api-reference/synqdomainsv2domainsservice/upsertdefinitionpart"},{"title":"RemoveDefinitionPart","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /api/domains/v2/{id}/definition/parts/{part_id}","href":"/api-reference/synqdomainsv2domainsservice/removedefinitionpart"},{"title":"ListMembers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/domains/v2/{id}/members","href":"/api-reference/synqdomainsv2domainsservice/listmembers"},{"title":"FetchDomainWithSubDomains","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/domains/v2/{id}/sub-domains","href":"/api-reference/synqdomainsv2domainsservice/fetchdomainwithsubdomains"}]},{"group":"synq.entities.activity.v1alpha.ActivityService","pages":[{"title":"ListActors","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/activity/v1alpha/actor-list","href":"/api-reference/synqentitiesactivityv1alphaactivityservice/listactors"},{"title":"GetActorSummary","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/activity/v1alpha/actor-summary","href":"/api-reference/synqentitiesactivityv1alphaactivityservice/getactorsummary"},{"title":"ListEntityActors","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/activity/v1alpha/actors","href":"/api-reference/synqentitiesactivityv1alphaactivityservice/listentityactors"},{"title":"GetActivityOverview","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/activity/v1alpha/overview","href":"/api-reference/synqentitiesactivityv1alphaactivityservice/getactivityoverview"},{"title":"ListPersonActivity","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/activity/v1alpha/person","href":"/api-reference/synqentitiesactivityv1alphaactivityservice/listpersonactivity"},{"title":"BatchGetPopularity","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/activity/v1alpha/popularity","href":"/api-reference/synqentitiesactivityv1alphaactivityservice/batchgetpopularity"},{"title":"GetEntityActivitySeries","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/activity/v1alpha/series","href":"/api-reference/synqentitiesactivityv1alphaactivityservice/getentityactivityseries"},{"title":"ListAccessSignals","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/activity/v1alpha/signals","href":"/api-reference/synqentitiesactivityv1alphaactivityservice/listaccesssignals"},{"title":"BatchGetEntityUsage","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/activity/v1alpha/usage","href":"/api-reference/synqentitiesactivityv1alphaactivityservice/batchgetentityusage"}]},{"group":"synq.entities.annotations.v1.AnnotationsService","pages":[{"title":"ListAnnotations","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/entities/annotations/v1","href":"/api-reference/synqentitiesannotationsv1annotationsservice/listannotations"},{"title":"BatchGetEntityAnnotations","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/annotations/v1/batchGet","href":"/api-reference/synqentitiesannotationsv1annotationsservice/batchgetentityannotations"}]},{"group":"synq.entities.checks.v1.ChecksCategoriesService","pages":[{"title":"ListCheckCategories","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/entities/checks/v1/categories","href":"/api-reference/synqentitieschecksv1checkscategoriesservice/listcheckcategories"},{"title":"DeleteCheckCategories","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/checks/v1/categories:delete","href":"/api-reference/synqentitieschecksv1checkscategoriesservice/deletecheckcategories"},{"title":"UpsertCheckCategories","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/checks/v1/categories:upsert","href":"/api-reference/synqentitieschecksv1checkscategoriesservice/upsertcheckcategories"}]},{"group":"synq.entities.custom.v1.EntityExecutionsService","pages":[{"title":"UpsertExecution","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/custom/executions/v1","href":"/api-reference/synqentitiescustomv1entityexecutionsservice/upsertexecution"},{"title":"UpsertLogEntry","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/custom/executions/v1/log-entry","href":"/api-reference/synqentitiescustomv1entityexecutionsservice/upsertlogentry"}]},{"group":"synq.entities.custom.v1.ChecksRelationshipsService","pages":[{"title":"UpsertCheckRelationships","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/custom/v1/check-relationships","href":"/api-reference/synqentitiescustomv1checksrelationshipsservice/upsertcheckrelationships"},{"title":"DeleteCheckRelationships","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /api/entities/custom/v1/check-relationships","href":"/api-reference/synqentitiescustomv1checksrelationshipsservice/deletecheckrelationships"},{"title":"ListCheckRelationships","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/custom/v1/check-relationships/list","href":"/api-reference/synqentitiescustomv1checksrelationshipsservice/listcheckrelationships"}]},{"group":"synq.entities.custom.v1.EntitiesService","pages":[{"title":"ListEntities","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/entities/custom/v1/entities","href":"/api-reference/synqentitiescustomv1entitiesservice/listentities"},{"title":"UpsertEntity","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/custom/v1/entities","href":"/api-reference/synqentitiescustomv1entitiesservice/upsertentity"},{"title":"DeleteEntity","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /api/entities/custom/v1/entities","href":"/api-reference/synqentitiescustomv1entitiesservice/deleteentity"}]},{"group":"synq.entities.custom.v1.FeaturesService","pages":[{"title":"UpsertEntityFeature","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/custom/v1/features","href":"/api-reference/synqentitiescustomv1featuresservice/upsertentityfeature"},{"title":"DeleteEntityFeature","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /api/entities/custom/v1/features","href":"/api-reference/synqentitiescustomv1featuresservice/deleteentityfeature"},{"title":"ListEntityFeatures","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/custom/v1/features/list","href":"/api-reference/synqentitiescustomv1featuresservice/listentityfeatures"}]},{"group":"synq.entities.custom.v1.GroupsService","pages":[{"title":"UpsertEntitiesGroup","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/custom/v1/groups","href":"/api-reference/synqentitiescustomv1groupsservice/upsertentitiesgroup"},{"title":"DeleteEntitiesGroup","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /api/entities/custom/v1/groups","href":"/api-reference/synqentitiescustomv1groupsservice/deleteentitiesgroup"},{"title":"ListEntityGroups","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/custom/v1/groups/list","href":"/api-reference/synqentitiescustomv1groupsservice/listentitygroups"}]},{"group":"synq.entities.custom.v1.RelationshipsService","pages":[{"title":"UpsertRelationships","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/custom/v1/relationships","href":"/api-reference/synqentitiescustomv1relationshipsservice/upsertrelationships"},{"title":"DeleteRelationships","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /api/entities/custom/v1/relationships","href":"/api-reference/synqentitiescustomv1relationshipsservice/deleterelationships"},{"title":"ListRelationships","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/custom/v1/relationships/list","href":"/api-reference/synqentitiescustomv1relationshipsservice/listrelationships"}]},{"group":"synq.entities.custom.v1.TypesService","pages":[{"title":"UpsertType","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/custom/v1/types","href":"/api-reference/synqentitiescustomv1typesservice/upserttype"},{"title":"DeleteType","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /api/entities/custom/v1/types","href":"/api-reference/synqentitiescustomv1typesservice/deletetype"},{"title":"ListTypes","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/custom/v1/types/list","href":"/api-reference/synqentitiescustomv1typesservice/listtypes"}]},{"group":"synq.entities.folders.v1.FoldersService","pages":[{"title":"Browse","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/entities/folders/v1/browse","href":"/api-reference/synqentitiesfoldersv1foldersservice/browse"},{"title":"GetFolderOf","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/entities/folders/v1/folder-of","href":"/api-reference/synqentitiesfoldersv1foldersservice/getfolderof"},{"title":"ListMembers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/entities/folders/v1/members","href":"/api-reference/synqentitiesfoldersv1foldersservice/listmembers"}]},{"group":"synq.entities.platformusers.v1alpha.PlatformUsersService","pages":[{"title":"BatchGetPlatformUsers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/platform-users/v1alpha/batch-get","href":"/api-reference/synqentitiesplatformusersv1alphaplatformusersservice/batchgetplatformusers"},{"title":"ListLinkSuggestions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/platform-users/v1alpha/link-suggestions","href":"/api-reference/synqentitiesplatformusersv1alphaplatformusersservice/listlinksuggestions"},{"title":"ListPlatformUsers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/platform-users/v1alpha/list","href":"/api-reference/synqentitiesplatformusersv1alphaplatformusersservice/listplatformusers"}]},{"group":"synq.entities.platformusers.v1alpha.ServiceAccountsService","pages":[{"title":"ApplyServiceAccountChanges","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/service-accounts/v1alpha/apply","href":"/api-reference/synqentitiesplatformusersv1alphaserviceaccountsservice/applyserviceaccountchanges"},{"title":"BatchGetServiceAccounts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/service-accounts/v1alpha/batch-get","href":"/api-reference/synqentitiesplatformusersv1alphaserviceaccountsservice/batchgetserviceaccounts"},{"title":"ListServiceAccounts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/service-accounts/v1alpha/list","href":"/api-reference/synqentitiesplatformusersv1alphaserviceaccountsservice/listserviceaccounts"},{"title":"PlanServiceAccountChanges","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/service-accounts/v1alpha/plan","href":"/api-reference/synqentitiesplatformusersv1alphaserviceaccountsservice/planserviceaccountchanges"},{"title":"ListServiceAccountSuggestions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/service-accounts/v1alpha/suggestions","href":"/api-reference/synqentitiesplatformusersv1alphaserviceaccountsservice/listserviceaccountsuggestions"}]},{"group":"synq.entities.tableinfo.v1alpha.TableInfoService","pages":[{"title":"BatchGetTableInfo","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/table-info/v1alpha/batch-get","href":"/api-reference/synqentitiestableinfov1alphatableinfoservice/batchgettableinfo"}]},{"group":"synq.entities.typedefs.v1.TypeDefsService","pages":[{"title":"ListEntityTraitDefs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/typedefs/v1/entity-traits/list","href":"/api-reference/synqentitiestypedefsv1typedefsservice/listentitytraitdefs"},{"title":"ListEntityTypeDefs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/typedefs/v1/entity-types/list","href":"/api-reference/synqentitiestypedefsv1typedefsservice/listentitytypedefs"},{"title":"ListExecutionTypeDefs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/typedefs/v1/execution-types/list","href":"/api-reference/synqentitiestypedefsv1typedefsservice/listexecutiontypedefs"},{"title":"ListPlatformDefs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/typedefs/v1/platforms/list","href":"/api-reference/synqentitiestypedefsv1typedefsservice/listplatformdefs"}]},{"group":"synq.entities.entities.v1.EntitiesService","pages":[{"title":"ListEntities","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/entities/v1","href":"/api-reference/synqentitiesentitiesv1entitiesservice/listentities"},{"title":"BatchGetEntities","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/v1/by-id","href":"/api-reference/synqentitiesentitiesv1entitiesservice/batchgetentities"},{"title":"SearchEntities","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/entities/v1/search","href":"/api-reference/synqentitiesentitiesv1entitiesservice/searchentities"}]},{"group":"synq.entities.checks.v2.ChecksCategoriesService","pages":[{"title":"UpsertCheckCategories","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/v2/checks/categories","href":"/api-reference/synqentitieschecksv2checkscategoriesservice/upsertcheckcategories"},{"title":"BatchGetCheckCategories","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/v2/checks/categories/batch-get","href":"/api-reference/synqentitieschecksv2checkscategoriesservice/batchgetcheckcategories"},{"title":"DeleteCheckCategories","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/v2/checks/categories/delete","href":"/api-reference/synqentitieschecksv2checkscategoriesservice/deletecheckcategories"},{"title":"ListCategorisationFilters","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/v2/checks/categories/filters","href":"/api-reference/synqentitieschecksv2checkscategoriesservice/listcategorisationfilters"},{"title":"ListCheckCategories","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/v2/checks/categories/list","href":"/api-reference/synqentitieschecksv2checkscategoriesservice/listcheckcategories"},{"title":"ListCategories","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/v2/checks/categories/vocabulary","href":"/api-reference/synqentitieschecksv2checkscategoriesservice/listcategories"}]},{"group":"synq.entities.checks.v2.ChecksCategorisationRulesService","pages":[{"title":"UpsertRule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/v2/checks/categorisation-rules","href":"/api-reference/synqentitieschecksv2checkscategorisationrulesservice/upsertrule"},{"title":"BatchGetRules","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/v2/checks/categorisation-rules/batch-get","href":"/api-reference/synqentitieschecksv2checkscategorisationrulesservice/batchgetrules"},{"title":"DeleteRule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/v2/checks/categorisation-rules/delete","href":"/api-reference/synqentitieschecksv2checkscategorisationrulesservice/deleterule"},{"title":"ListRules","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/v2/checks/categorisation-rules/list","href":"/api-reference/synqentitieschecksv2checkscategorisationrulesservice/listrules"},{"title":"ListRuleMatches","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/v2/checks/categorisation-rules/matches","href":"/api-reference/synqentitieschecksv2checkscategorisationrulesservice/listrulematches"},{"title":"PreviewRule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/v2/checks/categorisation-rules/preview","href":"/api-reference/synqentitieschecksv2checkscategorisationrulesservice/previewrule"},{"title":"GetRecategorisationStatus","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/entities/v2/checks/categorisation-rules/recategorisation-status","href":"/api-reference/synqentitieschecksv2checkscategorisationrulesservice/getrecategorisationstatus"}]},{"group":"synq.entities.executions.v1.EntityExecutionsService","pages":[{"title":"UpsertExecution","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/executions/v1","href":"/api-reference/synqentitiesexecutionsv1entityexecutionsservice/upsertexecution"},{"title":"UpsertLogEntry","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/executions/v1/log-entry","href":"/api-reference/synqentitiesexecutionsv1entityexecutionsservice/upsertlogentry"}]},{"group":"synq.entities.executions.v2.EntityExecutionsService","pages":[{"title":"BatchGetExecutions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/executions/v2/by-id","href":"/api-reference/synqentitiesexecutionsv2entityexecutionsservice/batchgetexecutions"},{"title":"GetLatestExecutions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/executions/v2/latest","href":"/api-reference/synqentitiesexecutionsv2entityexecutionsservice/getlatestexecutions"},{"title":"ListExecutions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/executions/v2/list","href":"/api-reference/synqentitiesexecutionsv2entityexecutionsservice/listexecutions"},{"title":"GetExecutionsSummary","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/executions/v2/summary","href":"/api-reference/synqentitiesexecutionsv2entityexecutionsservice/getexecutionssummary"}]},{"group":"synq.extensions.atlan.integrations.v1.AtlanIntegrationService","pages":[{"title":"Get","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/extensions/atlan/integrations/v1","href":"/api-reference/synqextensionsatlanintegrationsv1atlanintegrationservice/get"},{"title":"Upsert","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/extensions/atlan/integrations/v1","href":"/api-reference/synqextensionsatlanintegrationsv1atlanintegrationservice/upsert"},{"title":"Remove","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /api/extensions/atlan/integrations/v1","href":"/api-reference/synqextensionsatlanintegrationsv1atlanintegrationservice/remove"},{"title":"Activate","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /api/extensions/atlan/integrations/v1","href":"/api-reference/synqextensionsatlanintegrationsv1atlanintegrationservice/activate"},{"title":"Ping","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/extensions/atlan/integrations/v1/ping","href":"/api-reference/synqextensionsatlanintegrationsv1atlanintegrationservice/ping"}]},{"group":"synq.extensions.atlan.provider.v1.AtlanProviderService","pages":[{"title":"GetAtlanConnections","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/extensions/atlan/provider/v1/connections","href":"/api-reference/synqextensionsatlanproviderv1atlanproviderservice/getatlanconnections"},{"title":"GetAtlanDataProducts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/extensions/atlan/provider/v1/data-products","href":"/api-reference/synqextensionsatlanproviderv1atlanproviderservice/getatlandataproducts"},{"title":"GetAtlanDomains","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/extensions/atlan/provider/v1/domains","href":"/api-reference/synqextensionsatlanproviderv1atlanproviderservice/getatlandomains"}]},{"group":"synq.extensions.atlan.workflows.v1.AtlanWorkflowService","pages":[{"title":"GetConnectionMappings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/extensions/atlan/workflows/v1/connection-mappings","href":"/api-reference/synqextensionsatlanworkflowsv1atlanworkflowservice/getconnectionmappings"},{"title":"SetConnectionMappings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/extensions/atlan/workflows/v1/connection-mappings","href":"/api-reference/synqextensionsatlanworkflowsv1atlanworkflowservice/setconnectionmappings"},{"title":"RemoveConnectionMappings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /api/extensions/atlan/workflows/v1/connection-mappings","href":"/api-reference/synqextensionsatlanworkflowsv1atlanworkflowservice/removeconnectionmappings"},{"title":"GetDomainMappings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/extensions/atlan/workflows/v1/domain-mappings","href":"/api-reference/synqextensionsatlanworkflowsv1atlanworkflowservice/getdomainmappings"},{"title":"GetMappingToggles","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/extensions/atlan/workflows/v1/mappings/toggle","href":"/api-reference/synqextensionsatlanworkflowsv1atlanworkflowservice/getmappingtoggles"},{"title":"SetMappingToggles","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/extensions/atlan/workflows/v1/mappings/toggle","href":"/api-reference/synqextensionsatlanworkflowsv1atlanworkflowservice/setmappingtoggles"},{"title":"GetProductMappings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/extensions/atlan/workflows/v1/product-mappings","href":"/api-reference/synqextensionsatlanworkflowsv1atlanworkflowservice/getproductmappings"},{"title":"FetchRuns","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/extensions/atlan/workflows/v1/runs","href":"/api-reference/synqextensionsatlanworkflowsv1atlanworkflowservice/fetchruns"},{"title":"Synchronize","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/extensions/atlan/workflows/v1/synchronize","href":"/api-reference/synqextensionsatlanworkflowsv1atlanworkflowservice/synchronize"}]},{"group":"synq.agent.sre.v1.FeatureRequestService","pages":[{"title":"SubmitFeatureRequest","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/feature-request/v1/submit","href":"/api-reference/synqagentsrev1featurerequestservice/submitfeaturerequest"}]},{"group":"synq.git.commits.v1.CommitsService","pages":[{"title":"GetDiffByChangeId","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/git/v1/change/{change_id}","href":"/api-reference/synqgitcommitsv1commitsservice/getdiffbychangeid"},{"title":"GetDiffByCommit","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/git/v1/commit/{commit_sha}","href":"/api-reference/synqgitcommitsv1commitsservice/getdiffbycommit"}]},{"group":"synq.auth.iam.v1.IamService","pages":[{"title":"Iam","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/iam/v1","href":"/api-reference/synqauthiamv1iamservice/iam"}]},{"group":"synq.entities.impact.v1.ImpactService","pages":[{"title":"GetImpact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/impact/v1","href":"/api-reference/synqentitiesimpactv1impactservice/getimpact"}]},{"group":"synq.incidents.v1.IncidentsService","pages":[{"title":"ListIncidents","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/incidents/v1","href":"/api-reference/synqincidentsv1incidentsservice/listincidents"},{"title":"CreateIncident","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/incidents/v1","href":"/api-reference/synqincidentsv1incidentsservice/createincident"},{"title":"BatchGetIncidents","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/incidents/v1/by-id","href":"/api-reference/synqincidentsv1incidentsservice/batchgetincidents"},{"title":"AssignIncidentOwner","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /api/incidents/v1/{incident_id}/assign-owner","href":"/api-reference/synqincidentsv1incidentsservice/assignincidentowner"},{"title":"CancelIncident","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /api/incidents/v1/{incident_id}/cancel","href":"/api-reference/synqincidentsv1incidentsservice/cancelincident"},{"title":"CloseIncident","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /api/incidents/v1/{incident_id}/close","href":"/api-reference/synqincidentsv1incidentsservice/closeincident"},{"title":"PostComment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/incidents/v1/{incident_id}/comment","href":"/api-reference/synqincidentsv1incidentsservice/postcomment"},{"title":"DeleteComment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /api/incidents/v1/{incident_id}/comment/{comment_id}","href":"/api-reference/synqincidentsv1incidentsservice/deletecomment"},{"title":"AddIssuesToIncident","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/incidents/v1/{incident_id}/issues","href":"/api-reference/synqincidentsv1incidentsservice/addissuestoincident"},{"title":"RemoveIssuesFromIncident","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /api/incidents/v1/{incident_id}/issues","href":"/api-reference/synqincidentsv1incidentsservice/removeissuesfromincident"},{"title":"MergeIncidents","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/incidents/v1/{incident_id}/merge","href":"/api-reference/synqincidentsv1incidentsservice/mergeincidents"},{"title":"RenameIncident","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /api/incidents/v1/{incident_id}/rename","href":"/api-reference/synqincidentsv1incidentsservice/renameincident"},{"title":"SplitIncident","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/incidents/v1/{incident_id}/split","href":"/api-reference/synqincidentsv1incidentsservice/splitincident"},{"title":"UpdateIncidentState","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /api/incidents/v1/{incident_id}/state","href":"/api-reference/synqincidentsv1incidentsservice/updateincidentstate"}]},{"group":"synq.ingest.airflow.v1.AirflowLogsService","pages":[{"title":"IngestDatahubAspects","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/ingest/airflow/v1/aspects","href":"/api-reference/synqingestairflowv1airflowlogsservice/ingestdatahubaspects"},{"title":"IngestLog","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/ingest/airflow/v1/{dag_id}/{task_id}/{run_id}/logs","href":"/api-reference/synqingestairflowv1airflowlogsservice/ingestlog"}]},{"group":"synq.ingest.cloudwatch.v1.CloudwatchService","pages":[{"title":"IngestCloudwatchLogsData","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/ingest/cloudwatch/v1/{log_group}/{log_stream}","href":"/api-reference/synqingestcloudwatchv1cloudwatchservice/ingestcloudwatchlogsdata"}]},{"group":"synq.ingest.openlineage.v1.OpenlineageService","pages":[{"title":"Ingest","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/ingest/openlineage/v1","href":"/api-reference/synqingestopenlineagev1openlineageservice/ingest"}]},{"group":"synq.integrations.v1.IntegrationsService","pages":[{"title":"ListIntegrations","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/integrations/v1","href":"/api-reference/synqintegrationsv1integrationsservice/listintegrations"},{"title":"CreateIntegration","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/integrations/v1","href":"/api-reference/synqintegrationsv1integrationsservice/createintegration"},{"title":"BatchGetIntegrations","description":"Fetch multiple integrations by id in one call. Ids not found (or not in the\n workspace) are omitted from the response rather than erroring.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/integrations/v1/by-id","href":"/api-reference/synqintegrationsv1integrationsservice/batchgetintegrations"},{"title":"UpdateIntegration","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /api/integrations/v1/{integration_id}","href":"/api-reference/synqintegrationsv1integrationsservice/updateintegration"},{"title":"DeleteIntegration","description":"Delete an integration. The integration stops being scheduled and is removed\n from listings. Safe to retry (deleting an already-deleted id is a no-op).","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /api/integrations/v1/{integration_id}","href":"/api-reference/synqintegrationsv1integrationsservice/deleteintegration"},{"title":"DisableIntegration","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/integrations/v1/{integration_id}/disable","href":"/api-reference/synqintegrationsv1integrationsservice/disableintegration"},{"title":"EnableIntegration","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/integrations/v1/{integration_id}/enable","href":"/api-reference/synqintegrationsv1integrationsservice/enableintegration"},{"title":"RefreshIntegration","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/integrations/v1/{integration_id}/refresh","href":"/api-reference/synqintegrationsv1integrationsservice/refreshintegration"}]},{"group":"synq.issues.issues.v1.IssuesService","pages":[{"title":"ListIssues","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/issues/v1","href":"/api-reference/synqissuesissuesv1issuesservice/listissues"},{"title":"BatchGetIssues","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/issues/v1/by-id","href":"/api-reference/synqissuesissuesv1issuesservice/batchgetissues"},{"title":"PostComment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/issues/v1/{issue_id}/comment","href":"/api-reference/synqissuesissuesv1issuesservice/postcomment"},{"title":"MarkExpected","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /api/issues/v1/{issue_id}/mark-expected","href":"/api-reference/synqissuesissuesv1issuesservice/markexpected"},{"title":"MarkFixed","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /api/issues/v1/{issue_id}/mark-fixed","href":"/api-reference/synqissuesissuesv1issuesservice/markfixed"},{"title":"MarkInvestigating","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /api/issues/v1/{issue_id}/mark-investigating","href":"/api-reference/synqissuesissuesv1issuesservice/markinvestigating"},{"title":"MarkNoActionNeeded","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /api/issues/v1/{issue_id}/mark-no-action-needed","href":"/api-reference/synqissuesissuesv1issuesservice/marknoactionneeded"}]},{"group":"synq.issues.v2.IssuesService","pages":[{"title":"ListIssues","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/issues/v2","href":"/api-reference/synqissuesv2issuesservice/listissues"},{"title":"BatchGetIssues","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/issues/v2/by-id","href":"/api-reference/synqissuesv2issuesservice/batchgetissues"},{"title":"ClearStatus","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /api/issues/v2/{issue_id}/clear-status","href":"/api-reference/synqissuesv2issuesservice/clearstatus"},{"title":"PostComment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/issues/v2/{issue_id}/comment","href":"/api-reference/synqissuesv2issuesservice/postcomment"},{"title":"DeleteComment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /api/issues/v2/{issue_id}/comment/{comment_id}","href":"/api-reference/synqissuesv2issuesservice/deletecomment"},{"title":"MarkExpected","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /api/issues/v2/{issue_id}/mark-expected","href":"/api-reference/synqissuesv2issuesservice/markexpected"},{"title":"MarkFixed","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /api/issues/v2/{issue_id}/mark-fixed","href":"/api-reference/synqissuesv2issuesservice/markfixed"},{"title":"MarkInvestigating","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /api/issues/v2/{issue_id}/mark-investigating","href":"/api-reference/synqissuesv2issuesservice/markinvestigating"},{"title":"MarkNoActionNeeded","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /api/issues/v2/{issue_id}/mark-no-action-needed","href":"/api-reference/synqissuesv2issuesservice/marknoactionneeded"}]},{"group":"synq.knowledge.v1alpha.KnowledgeService","pages":[{"title":"BatchGetEntityKnowledge","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/knowledge/v1alpha/entities/by-id","href":"/api-reference/synqknowledgev1alphaknowledgeservice/batchgetentityknowledge"},{"title":"ListKnowledgePages","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/knowledge/v1alpha/pages","href":"/api-reference/synqknowledgev1alphaknowledgeservice/listknowledgepages"},{"title":"BatchGetKnowledgePages","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/knowledge/v1alpha/pages/by-id","href":"/api-reference/synqknowledgev1alphaknowledgeservice/batchgetknowledgepages"},{"title":"ListKnowledgePageLinks","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/knowledge/v1alpha/pages/{page_id}/links","href":"/api-reference/synqknowledgev1alphaknowledgeservice/listknowledgepagelinks"}]},{"group":"synq.entities.lineage.folds.v1alpha.LineageFoldsService","pages":[{"title":"ListFolds","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/lineage/folds/v1alpha","href":"/api-reference/synqentitieslineagefoldsv1alphalineagefoldsservice/listfolds"},{"title":"CreateFold","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/lineage/folds/v1alpha","href":"/api-reference/synqentitieslineagefoldsv1alphalineagefoldsservice/createfold"},{"title":"BatchGetFolds","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/lineage/folds/v1alpha/batch-get","href":"/api-reference/synqentitieslineagefoldsv1alphalineagefoldsservice/batchgetfolds"},{"title":"BatchGetFoldNodes","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/lineage/folds/v1alpha/nodes/batch-get","href":"/api-reference/synqentitieslineagefoldsv1alphalineagefoldsservice/batchgetfoldnodes"},{"title":"PreviewFold","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/lineage/folds/v1alpha/preview","href":"/api-reference/synqentitieslineagefoldsv1alphalineagefoldsservice/previewfold"},{"title":"DeleteFold","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/lineage/folds/v1alpha/{id}/delete","href":"/api-reference/synqentitieslineagefoldsv1alphalineagefoldsservice/deletefold"},{"title":"SetFoldEnabled","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/lineage/folds/v1alpha/{id}/enabled","href":"/api-reference/synqentitieslineagefoldsv1alphalineagefoldsservice/setfoldenabled"},{"title":"UpdateFoldMatcher","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/lineage/folds/v1alpha/{id}/matcher","href":"/api-reference/synqentitieslineagefoldsv1alphalineagefoldsservice/updatefoldmatcher"},{"title":"RenameFold","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/lineage/folds/v1alpha/{id}/rename","href":"/api-reference/synqentitieslineagefoldsv1alphalineagefoldsservice/renamefold"}]},{"group":"synq.entities.lineage.v1.LineageService","pages":[{"title":"GetLineage","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/lineage/v1","href":"/api-reference/synqentitieslineagev1lineageservice/getlineage"}]},{"group":"synq.monitors.automated_monitors.v1.DeploymentRulesService","pages":[{"title":"GetDeployOverview","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/monitors/automated/v1/deployment-rule","href":"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/getdeployoverview"},{"title":"DeleteDeploymentRule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /api/monitors/automated/v1/deployment-rule/{id}","href":"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/deletedeploymentrule"},{"title":"GetDeployDeleteOverview","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/monitors/automated/v1/deployment-rule/{id}/deleted","href":"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/getdeploydeleteoverview"},{"title":"ListDeploymentRules","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/monitors/automated/v1/deployment-rules","href":"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/listdeploymentrules"},{"title":"UpsertDeploymentRule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/monitors/automated/v1/deployment-rules","href":"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/upsertdeploymentrule"},{"title":"BatchUpdateDeploymentRuleTitle","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /api/monitors/automated/v1/deployment-rules","href":"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/batchupdatedeploymentruletitle"},{"title":"BatchGetDeploymentRules","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/monitors/automated/v1/deployment-rules/batch","href":"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/batchgetdeploymentrules"},{"title":"BatchUpsertDeploymentRules","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/monitors/automated/v1/deployment-rules/batch","href":"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/batchupsertdeploymentrules"},{"title":"BatchDeleteDeploymentRules","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /api/monitors/automated/v1/deployment-rules/batch","href":"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/batchdeletedeploymentrules"},{"title":"BatchDeployDeploymentRules","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/monitors/automated/v1/deployment-rules/batch/deployed","href":"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/batchdeploydeploymentrules"},{"title":"DeployDeploymentRule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/monitors/automated/v1/deployment-rules/deployed","href":"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/deploydeploymentrule"},{"title":"ListDeploymentRulesForAsset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/monitors/automated/v1/deployment-rules/{asset_path}","href":"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/listdeploymentrulesforasset"}]},{"group":"synq.monitors.custom_monitors.v1.CustomMonitorsService","pages":[{"title":"ListMonitors","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/monitors/custom-monitors/v1","href":"/api-reference/synqmonitorscustom_monitorsv1custommonitorsservice/listmonitors"},{"title":"BatchUpdateMonitor","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /api/monitors/custom-monitors/v1","href":"/api-reference/synqmonitorscustom_monitorsv1custommonitorsservice/batchupdatemonitor"},{"title":"BatchCreateMonitor","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/monitors/custom-monitors/v1","href":"/api-reference/synqmonitorscustom_monitorsv1custommonitorsservice/batchcreatemonitor"},{"title":"ListConfigsMonitors","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/monitors/custom-monitors/v1/by-config","href":"/api-reference/synqmonitorscustom_monitorsv1custommonitorsservice/listconfigsmonitors"},{"title":"ConfigChangesOverview","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/monitors/custom-monitors/v1/config-changes","href":"/api-reference/synqmonitorscustom_monitorsv1custommonitorsservice/configchangesoverview"},{"title":"BatchDeleteMonitor","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/monitors/custom-monitors/v1/delete","href":"/api-reference/synqmonitorscustom_monitorsv1custommonitorsservice/batchdeletemonitor"},{"title":"BatchUpdateMonitorMode","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/monitors/custom-monitors/v1/mode","href":"/api-reference/synqmonitorscustom_monitorsv1custommonitorsservice/batchupdatemonitormode"},{"title":"BatchUpdateMonitorSeverity","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/monitors/custom-monitors/v1/severity","href":"/api-reference/synqmonitorscustom_monitorsv1custommonitorsservice/batchupdatemonitorseverity"}]},{"group":"synq.monitors.history.v1.HistoryService","pages":[{"title":"History","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/monitors/history/v1","href":"/api-reference/synqmonitorshistoryv1historyservice/history"}]},{"group":"synq.monitors.info.v1.MonitorInfoService","pages":[{"title":"MonitorInfo","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/monitors/info/v1","href":"/api-reference/synqmonitorsinfov1monitorinfoservice/monitorinfo"}]},{"group":"synq.monitors.predictions.v1.MonitorPredictionsService","pages":[{"title":"GetMonitorPredictions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/monitors/predictions/v1","href":"/api-reference/synqmonitorspredictionsv1monitorpredictionsservice/getmonitorpredictions"},{"title":"GetEntityMetrics","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/monitors/predictions/v1/entity-metrics","href":"/api-reference/synqmonitorspredictionsv1monitorpredictionsservice/getentitymetrics"},{"title":"BatchGetLatestEntityMetrics","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/monitors/predictions/v1/entity-metrics:batchLatest","href":"/api-reference/synqmonitorspredictionsv1monitorpredictionsservice/batchgetlatestentitymetrics"}]},{"group":"synq.monitors.segments.v1.MonitorSegmentsService","pages":[{"title":"ListMonitorSegments","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/monitors/segments/v1","href":"/api-reference/synqmonitorssegmentsv1monitorsegmentsservice/listmonitorsegments"},{"title":"BatchUpdateMonitorSegmentLabels","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/monitors/segments/v1/labels","href":"/api-reference/synqmonitorssegmentsv1monitorsegmentsservice/batchupdatemonitorsegmentlabels"}]},{"group":"synq.entities.orchestration.v1.OrchestrationService","pages":[{"title":"BatchOrchestration","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/orchestration/v1","href":"/api-reference/synqentitiesorchestrationv1orchestrationservice/batchorchestration"}]},{"group":"synq.overlays.v1.OverlaysService","pages":[{"title":"BatchGetEntityOverlays","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/overlays/v1/by-id","href":"/api-reference/synqoverlaysv1overlaysservice/batchgetentityoverlays"},{"title":"ListEntityCoverage","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/overlays/v1/coverage","href":"/api-reference/synqoverlaysv1overlaysservice/listentitycoverage"},{"title":"GetCoverageSummary","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/overlays/v1/coverage-summary","href":"/api-reference/synqoverlaysv1overlaysservice/getcoveragesummary"},{"title":"BatchGetOverlayMemberCounts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/overlays/v1/member-counts","href":"/api-reference/synqoverlaysv1overlaysservice/batchgetoverlaymembercounts"}]},{"group":"synq.owners.v1.OwnersService","pages":[{"title":"ListOwners","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/owners/v1","href":"/api-reference/synqownersv1ownersservice/listowners"},{"title":"UpsertOwner","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/owners/v1","href":"/api-reference/synqownersv1ownersservice/upsertowner"},{"title":"BatchGetOwners","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/owners/v1/batch-get","href":"/api-reference/synqownersv1ownersservice/batchgetowners"},{"title":"DeleteOwner","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/owners/v1/delete","href":"/api-reference/synqownersv1ownersservice/deleteowner"},{"title":"BatchGetOwnerships","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/owners/v1/ownerships/batch-get","href":"/api-reference/synqownersv1ownersservice/batchgetownerships"},{"title":"DeleteOwnership","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/owners/v1/ownerships/delete","href":"/api-reference/synqownersv1ownersservice/deleteownership"},{"title":"ListOwnerships","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/owners/v1/{owner_id}/ownerships","href":"/api-reference/synqownersv1ownersservice/listownerships"},{"title":"UpsertOwnership","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/owners/v1/{owner_id}/ownerships","href":"/api-reference/synqownersv1ownersservice/upsertownership"}]},{"group":"synq.platforms.v1.PlatformsService","pages":[{"title":"SetPlatformAuthentication","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/platforms/v1","href":"/api-reference/synqplatformsv1platformsservice/setplatformauthentication"}]},{"group":"synq.queries.v1.QueriesService","pages":[{"title":"DescribeResolverQl","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/queries/v1/describe-resolver-ql","href":"/api-reference/synqqueriesv1queriesservice/describeresolverql"},{"title":"ResolveQuery","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/queries/v1/resolve","href":"/api-reference/synqqueriesv1queriesservice/resolvequery"},{"title":"TranslateResolverQl","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/queries/v1/translate-resolver-ql","href":"/api-reference/synqqueriesv1queriesservice/translateresolverql"}]},{"group":"synq.queries.v1.NLQueryService","pages":[{"title":"GenerateQuery","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/queries/v1/generate","href":"/api-reference/synqqueriesv1nlqueryservice/generatequery"}]},{"group":"synq.recommendations.v1.RecommendationsService","pages":[{"title":"ListRecommendations","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/recommendations/v1","href":"/api-reference/synqrecommendationsv1recommendationsservice/listrecommendations"},{"title":"BatchGetRecommendations","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/recommendations/v1/by-id","href":"/api-reference/synqrecommendationsv1recommendationsservice/batchgetrecommendations"},{"title":"DismissRecommendation","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/recommendations/v1/{recommendation_id}/dismiss","href":"/api-reference/synqrecommendationsv1recommendationsservice/dismissrecommendation"},{"title":"IgnoreRecommendation","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/recommendations/v1/{recommendation_id}/ignore","href":"/api-reference/synqrecommendationsv1recommendationsservice/ignorerecommendation"},{"title":"RestoreRecommendation","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/recommendations/v1/{recommendation_id}/restore","href":"/api-reference/synqrecommendationsv1recommendationsservice/restorerecommendation"}]},{"group":"synq.agent.recon.v1.SuiteDeploymentService","pages":[{"title":"TriggerDeployment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/recon/v1/deployments/trigger","href":"/api-reference/synqagentreconv1suitedeploymentservice/triggerdeployment"}]},{"group":"synq.entities.resolve.v1.IdentifierResolveService","pages":[{"title":"BatchResolveIdentifiers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/resolve/v1/by-id","href":"/api-reference/synqentitiesresolvev1identifierresolveservice/batchresolveidentifiers"}]},{"group":"synq.savedviews.v1.SavedViewsService","pages":[{"title":"Upsert","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/saved-views/v1","href":"/api-reference/synqsavedviewsv1savedviewsservice/upsert"},{"title":"BatchGet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/saved-views/v1/batch-get","href":"/api-reference/synqsavedviewsv1savedviewsservice/batchget"},{"title":"Delete","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/saved-views/v1/delete","href":"/api-reference/synqsavedviewsv1savedviewsservice/delete"},{"title":"List","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/saved-views/v1/list","href":"/api-reference/synqsavedviewsv1savedviewsservice/list"},{"title":"SetPin","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/saved-views/v1/set-pin","href":"/api-reference/synqsavedviewsv1savedviewsservice/setpin"}]},{"group":"synq.schedule.v1.ScheduleService","pages":[{"title":"PreviewSchedules","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/schedule/v1/preview","href":"/api-reference/synqschedulev1scheduleservice/previewschedules"}]},{"group":"synq.entities.schemas.v1.SchemaMismatchesService","pages":[{"title":"BatchSchemaMismatches","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/schema-mismatches/v1","href":"/api-reference/synqentitiesschemasv1schemamismatchesservice/batchschemamismatches"}]},{"group":"synq.entities.schemas.v1.SchemasService","pages":[{"title":"GetSchema","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/schema/v1","href":"/api-reference/synqentitiesschemasv1schemasservice/getschema"}]},{"group":"synq.entities.sql_insights.v1.SqlInsightsService","pages":[{"title":"ListSqlConstructs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/sql-insights/v1/constructs","href":"/api-reference/synqentitiessql_insightsv1sqlinsightsservice/listsqlconstructs"},{"title":"BatchSqlDetails","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/sql-insights/v1/details:batch","href":"/api-reference/synqentitiessql_insightsv1sqlinsightsservice/batchsqldetails"},{"title":"ListJoinPatterns","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/sql-insights/v1/join-patterns","href":"/api-reference/synqentitiessql_insightsv1sqlinsightsservice/listjoinpatterns"}]},{"group":"synq.agent.sre.v1.LlmService","pages":[{"title":"Evaluate","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/sre/llm/v1/evaluate","href":"/api-reference/synqagentsrev1llmservice/evaluate"}]},{"group":"synq.entities.status.v1.EntityIncidentsService","pages":[{"title":"BatchGetIncidents","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/status/v1/incidents/by-id","href":"/api-reference/synqentitiesstatusv1entityincidentsservice/batchgetincidents"}]},{"group":"synq.entities.status.v1.EntityIssuesService","pages":[{"title":"BatchGetIssuesStatus","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/status/v1/issues/by-id","href":"/api-reference/synqentitiesstatusv1entityissuesservice/batchgetissuesstatus"}]},{"group":"synq.agent.sre.v1.TriageService","pages":[{"title":"BatchLatestConclusions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/triage/v1/conclusions","href":"/api-reference/synqagentsrev1triageservice/batchlatestconclusions"},{"title":"MarkFailed","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /api/triage/v1/failed","href":"/api-reference/synqagentsrev1triageservice/markfailed"},{"title":"MarkAsInProgress","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /api/triage/v1/in-progress","href":"/api-reference/synqagentsrev1triageservice/markasinprogress"},{"title":"BatchTriageState","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/triage/v1/states","href":"/api-reference/synqagentsrev1triageservice/batchtriagestate"},{"title":"ListTriageState","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/triage/v1/statuses","href":"/api-reference/synqagentsrev1triageservice/listtriagestate"},{"title":"Conclude","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/triage/v1/{session_id}/conclusion","href":"/api-reference/synqagentsrev1triageservice/conclude"},{"title":"RecordEvidence","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/triage/v1/{session_id}/evidence","href":"/api-reference/synqagentsrev1triageservice/recordevidence"}]},{"group":"synq.users.v1.UsersService","pages":[{"title":"ListUsers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/users/v1","href":"/api-reference/synqusersv1usersservice/listusers"},{"title":"GetUserAliases","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/users/v1/aliases","href":"/api-reference/synqusersv1usersservice/getuseraliases"},{"title":"UpsertUserAliases","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /api/users/v1/aliases","href":"/api-reference/synqusersv1usersservice/upsertuseraliases"},{"title":"DeleteUserAliases","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/users/v1/aliases/delete","href":"/api-reference/synqusersv1usersservice/deleteuseraliases"},{"title":"BatchGetUsers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/users/v1/batch-get","href":"/api-reference/synqusersv1usersservice/batchgetusers"},{"title":"GetByAlias","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/users/v1/by-alias","href":"/api-reference/synqusersv1usersservice/getbyalias"},{"title":"GetByEmail","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/users/v1/by-email","href":"/api-reference/synqusersv1usersservice/getbyemail"},{"title":"GetUserIdentities","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/users/v1/identities","href":"/api-reference/synqusersv1usersservice/getuseridentities"},{"title":"AddUserRole","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/users/v1/roles","href":"/api-reference/synqusersv1usersservice/adduserrole"},{"title":"RemoveUserRole","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /api/users/v1/roles/remove","href":"/api-reference/synqusersv1usersservice/removeuserrole"}]}]},{"group":"gRPC API","pages":[{"title":"API","href":"/api-reference/api"},{"title":null,"href":"/api-reference/examples"}]},{"group":"Custom Integrations","pages":[{"title":"Custom Integrations","href":"/custom-integrations/overview"},{"title":"Modelling Your Tool","href":"/custom-integrations/modelling"},{"title":"Building an Integration","href":"/custom-integrations/building-an-integration"},{"title":"API Surface","href":"/custom-integrations/api-surface"},{"title":"Agent Workflow","href":"/custom-integrations/agent-workflow"}]},{"group":"Webhooks","pages":[{"title":"Using Webhooks","href":"/api-reference/webhook"},{"title":"Debugging Deliveries","href":"/api-reference/webhook-deliveries"}]}]}]}]},"basePath":"","title":"UpdateIntegration - Coalesce Quality Documentation","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","clsx-xpJZXxdP.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BTZUMDnx.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DqdKa2R4.js"]}