Filter by rule type. When empty, rules of every type are returned. When set,
only rules whose type is listed are returned (e.g. pass
[DEPLOYMENT_RULE_TYPE_QUERY, DEPLOYMENT_RULE_TYPE_PRODUCT] to exclude
single-path rules). The filter is applied server-side before paging, so every
page reflects only the selected types.
DeploymentRuleType identifies which kind of selection a deployment rule uses.
The value corresponds to the populated config oneof arm on
MonitorsDeploymentRule / MonitorsDeploymentRuleView. Use it with
ListDeploymentRulesRequest.rule_types to return only rules of selected kinds.
Opaque cursor token for the next page of results. If not provided, returns the first page.
This is an encoded token that should be passed as-is from the previous PageInfo.last_id.
Paging information for this response. Always populated. This response carries
at most one bounded page of rules, never the full set. The cursor is the paging
contract: to retrieve every rule, repeat the request passing page_info.last_id
as pagination.cursor until last_id comes back empty. page_info.count is the
number of rules in this page. page_info.total_count is a best-effort total for
the same filter, but it is deprecated — do not drive paging off it; loop on
last_id instead.
{"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":"6aecb414e142d265493a8a86","collectionId":"96dd6f2b-88bb-4d89-a679-534e33a89a90","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aecb414e142d265493a8a86"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aedccbfa97e78d5bc08e291","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"Documentation","count":450},{"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":"Monitors","count":13},{"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":"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":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"global.css","content":".dark img[src^=\"/images/\"]{background:white;border-radius:0.5rem;padding:4px}"}],"page":{"pagePath":"api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/listdeploymentrules","slug":"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/listdeploymentrules","pageMetadata":{"title":"ListDeploymentRules","description":null,"deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/monitors/automated/v1/deployment-rules","href":"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/listdeploymentrules","autogeneratedByOpenApi":true},"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":"ListDeploymentRules","description":null,"deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /api/monitors/automated/v1/deployment-rules","href":"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/listdeploymentrules","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/synq-15/7fe5b7dda612017d/region.js"],"openApiReferenceData":{"operation":{"tags":["synq.monitors.automated_monitors.v1.DeploymentRulesService"],"summary":"ListDeploymentRules","operationId":"synq.monitors.automated_monitors.v1.DeploymentRulesService.ListDeploymentRules","parameters":["3ee21df1-4570-4722-806f-cccea5dd1d32","7088fec3-c1cb-46dc-b6a3-0806c7cbbe48","641d0a15-6e2a-40cc-9553-db8b122ae522","469b41e5-7819-4af8-bf44-c5deeec5d03d","eb2ff985-fb25-438a-81a4-c87f32a75de7","116b7630-63b8-4e5c-b2ae-1a3ef7d7389b","db9f670c-02ed-43b3-9ad4-544caa5fadbf"],"responses":{"200":"d3384046-cea7-46a0-b7e0-6e2ff57eb0b2"},"method":"get","type":"path","servers":["82cf4404-d9d3-43bb-9fb0-2f40a78dde7b","aa6da49a-b0c5-4d36-8910-d2ed76885994","c9d25553-4913-481a-b29f-92bb1f2b1ce2"],"security":["85f48775-9ef8-48fb-a7f7-5dbc785cd09f"],"path":"/api/monitors/automated/v1/deployment-rules","baseUrlOptions":["https://developer.synq.io","https://api.us.synq.io","https://api.au.synq.io"],"title":"ListDeploymentRules","description":"","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"3ee21df1-4570-4722-806f-cccea5dd1d32":{"name":"sources","in":"query","schema":{"type":"array","items":{"type":"string","title":"Source","enum":["SOURCE_APP","SOURCE_API"],"uniqueKey":"items.[INDEX]","typeLabel":"enum\u003cstring>"},"title":"sources","uniqueKey":"","typeLabel":"enum\u003cstring>[]"}},"7088fec3-c1cb-46dc-b6a3-0806c7cbbe48":{"name":"configIds","in":"query","schema":{"type":"array","items":{"type":"string","deprecated":true,"uniqueKey":"items.[INDEX]","typeLabel":"string"},"title":"config_ids","deprecated":true,"uniqueKey":"","typeLabel":"string[]"}},"641d0a15-6e2a-40cc-9553-db8b122ae522":{"name":"configsFilter.ids","in":"query","schema":{"type":"array","items":{"type":"string","uniqueKey":"items.[INDEX]","typeLabel":"string"},"title":"ids","uniqueKey":"","typeLabel":"string[]"}},"469b41e5-7819-4af8-bf44-c5deeec5d03d":{"name":"ruleIds","in":"query","schema":{"type":"array","items":{"type":"string","uniqueKey":"items.[INDEX]","typeLabel":"string"},"title":"rule_ids","uniqueKey":"","typeLabel":"string[]"}},"eb2ff985-fb25-438a-81a4-c87f32a75de7":{"name":"ruleTypes","in":"query","description":"Filter by rule type. When empty, rules of every type are returned. When set,\n only rules whose type is listed are returned (e.g. pass\n [DEPLOYMENT_RULE_TYPE_QUERY, DEPLOYMENT_RULE_TYPE_PRODUCT] to exclude\n single-path rules). The filter is applied server-side before paging, so every\n page reflects only the selected types.","schema":{"type":"array","items":{"type":"string","title":"DeploymentRuleType","enum":["DEPLOYMENT_RULE_TYPE_UNSPECIFIED","DEPLOYMENT_RULE_TYPE_QUERY","DEPLOYMENT_RULE_TYPE_EXCLUSIVE_QUERY","DEPLOYMENT_RULE_TYPE_STATIC_PATH","DEPLOYMENT_RULE_TYPE_EXCLUSIVE_STATIC_PATH","DEPLOYMENT_RULE_TYPE_PRODUCT"],"description":"DeploymentRuleType identifies which kind of selection a deployment rule uses.\n The value corresponds to the populated `config` oneof arm on\n MonitorsDeploymentRule / MonitorsDeploymentRuleView. Use it with\n ListDeploymentRulesRequest.rule_types to return only rules of selected kinds.","uniqueKey":"items.[INDEX]","typeLabel":"enum\u003cstring>"},"title":"rule_types","description":"Filter by rule type. When empty, rules of every type are returned. When set,\n only rules whose type is listed are returned (e.g. pass\n [DEPLOYMENT_RULE_TYPE_QUERY, DEPLOYMENT_RULE_TYPE_PRODUCT] to exclude\n single-path rules). The filter is applied server-side before paging, so every\n page reflects only the selected types.","uniqueKey":"","typeLabel":"enum\u003cstring>[]"}},"116b7630-63b8-4e5c-b2ae-1a3ef7d7389b":{"name":"pagination.cursor","in":"query","description":"Opaque cursor token for the next page of results. If not provided, returns the first page.\n This is an encoded token that should be passed as-is from the previous PageInfo.last_id.","schema":{"type":"string","title":"cursor","description":"Opaque cursor token for the next page of results. If not provided, returns the first page.\n This is an encoded token that should be passed as-is from the previous PageInfo.last_id.","uniqueKey":"","typeLabel":"string"}},"db9f670c-02ed-43b3-9ad4-544caa5fadbf":{"name":"pagination.pageSize","in":"query","description":"Maximum number of items to return in a single page. If not provided, defaults vary per API.","schema":{"type":"integer","title":"page_size","minimum":0,"format":"int32","description":"Maximum number of items to return in a single page. If not provided, defaults vary per API.","uniqueKey":"","typeLabel":"integer\u003cint32>"}}},"responses":{"d3384046-cea7-46a0-b7e0-6e2ff57eb0b2":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"pageInfo":{"type":"object","properties":{"totalCount":{"type":"integer","format":"int32","description":"Total number of items matching the request. May not be available for cursor-based pagination\n where the total is unknown or expensive to compute.\n Deprecated: most of the APIs which require pagination don't know the total count.","deprecated":true,"uniqueKey":"pageInfo.totalCount","typeLabel":"integer\u003cint32>"},"count":{"type":"integer","format":"int32","description":"Number of items returned in this response.","uniqueKey":"pageInfo.count","typeLabel":"integer\u003cint32>"},"lastId":{"type":"string","description":"Opaque cursor token for fetching the next page of results. Pass this value as the cursor\n in the next Pagination request to continue pagination. Empty if there are no more pages.","uniqueKey":"pageInfo.lastId","typeLabel":"string"}},"title":"PageInfo","additionalProperties":false,"description":"Paging information for this response. Always populated. This response carries\n at most one bounded page of rules, never the full set. The cursor is the paging\n contract: to retrieve every rule, repeat the request passing page_info.last_id\n as pagination.cursor until last_id comes back empty. page_info.count is the\n number of rules in this page. page_info.total_count is a best-effort total for\n the same filter, but it is deprecated — do not drive paging off it; loop on\n last_id instead.","isRequired":true,"uniqueKey":"pageInfo","typeLabel":"PageInfo · object"},"deploymentRules":{"type":"array","items":{"oneOf":[{"type":"object","title":"MonitorsDeploymentRuleView","required":["exclusiveQueryConfig"],"properties":{"exclusiveQueryConfig":{"type":"object","properties":{"query":{"type":"object","properties":{"parts":{"type":"array","items":{"oneOf":[{"type":"object","title":"entity_ids","required":["entityIds"],"properties":{"entityIds":{"type":"object","properties":{"entityIds":{"type":"array","items":{"type":"string","maxLength":1024,"minLength":1,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.0.entityIds.entityIds.items.[INDEX]","typeLabel":"string"},"description":"The entities to select. An id may not be blank.\n\n An empty list selects no entities, exactly as an empty `identifier_list`\n does. Be deliberate about it, because it is not the same as leaving the part\n out: a part that selects nothing still counts, so it empties an AND, adds\n nothing to an OR, and removes nothing from an EXCEPT. If what you mean is\n \"do not restrict on specific entities\", omit the part instead of sending it\n empty.\n\n Ids may be up to 1024 characters — the same limit as `Identifier.entity_id`,\n where you read them from, so any id the API returned is accepted here.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.0.entityIds.entityIds","typeLabel":"string[]"}},"title":"entity_ids","additionalProperties":false,"description":"Deploy monitors on specific entities, named by the ids the API returned\n for them. Read back as `identifier_list`, with each id on the identifier\n it names.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.0.entityIds","typeLabel":"entity_ids · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.0","typeLabel":"entity_ids · object"},{"type":"object","title":"identifier_list","required":["identifierList"],"properties":{"identifierList":{"type":"object","properties":{"identifiers":{"type":"array","items":{"oneOf":[{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["airflowDag"],"properties":{"airflowDag":{"type":"object","properties":{"integrationId":{"type":"string","description":"Coalesce Quality integration_id that identifies the Airflow instance","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.0.airflowDag","typeLabel":"airflow_dag · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.0","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["airflowTask"],"properties":{"airflowTask":{"type":"object","properties":{"integrationId":{"type":"string","description":"Coalesce Quality integration_id that identifies the Airflow instance","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.1.airflowTask.taskId","typeLabel":"string"}},"title":"airflow_task","required":["integrationId","dagId","taskId"],"additionalProperties":false,"description":"Airflow task identifier within a given DAG","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.1.airflowTask","typeLabel":"airflow_task · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.1","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["athenaTable"],"properties":{"athenaTable":{"type":"object","properties":{"instance":{"type":"string","description":"AWS account and region the Athena workgroup runs in, formatted as\n \"\u003caccount-id>.\u003cregion>\" (e.g. \"123456789012.eu-west-1\"). Auto-derived\n from sts:GetCallerIdentity at integration setup time.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.2.athenaTable.instance","typeLabel":"string"},"catalog":{"type":"string","description":"Glue Data Catalog name. Almost always \"AwsDataCatalog\" — the default\n catalog for Athena unless the customer registered a federated catalog.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.2.athenaTable.table","typeLabel":"string"}},"title":"athena_table","required":["instance","catalog","database","table"],"additionalProperties":false,"description":"Amazon Athena (Glue) table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.2.athenaTable","typeLabel":"athena_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.2","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["bigqueryTable"],"properties":{"bigqueryTable":{"type":"object","properties":{"project":{"type":"string","description":"BigQuery project","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.3.bigqueryTable","typeLabel":"bigquery_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.3","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["clickhouseTable"],"properties":{"clickhouseTable":{"type":"object","properties":{"host":{"type":"string","description":"Clickhouse hostname without port","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.4.clickhouseTable","typeLabel":"clickhouse_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.4","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["custom"],"properties":{"custom":{"type":"object","properties":{"id":{"type":"string","description":"Id that identifies the custom entity\n The Id should be unique within the custom entity Identifier.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.5.custom.id","typeLabel":"string"}},"title":"custom","required":["id"],"additionalProperties":false,"description":"Custom identifier to be used with all custom created entities","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.5.custom","typeLabel":"custom · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.5","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["databricksTable"],"properties":{"databricksTable":{"type":"object","properties":{"workspace":{"type":"string","description":"URL of Databricks workspace","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.6.databricksTable","typeLabel":"databricks_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.6","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["dataproduct"],"properties":{"dataproduct":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Dataproduct id that identifies the Dataproduct","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.7.dataproduct","typeLabel":"dataproduct · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.7","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["db2Table"],"properties":{"db2Table":{"type":"object","properties":{"host":{"type":"string","description":"Host name of the Db2 server","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.8.db2Table.table","typeLabel":"string"}},"title":"db2_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"IBM Db2 LUW table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.8.db2Table","typeLabel":"db2_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.8","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["dbtCloudNode"],"properties":{"dbtCloudNode":{"type":"object","properties":{"projectId":{"type":"string","description":"Your dbt Cloud project id","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.9.dbtCloudNode.projectId","typeLabel":"string"},"nodeId":{"type":"string","description":"Dbt node_id that identifies one of dbt DAG nodes (model, test, etc)","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.9.dbtCloudNode.accountId","typeLabel":"string"}},"title":"dbt_cloud_node","required":["projectId","nodeId"],"additionalProperties":false,"description":"Dbt node that identifies one of dbt DAG nodes (model, test, etc) in dbt Cloud project","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.9.dbtCloudNode","typeLabel":"dbt_cloud_node · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.9","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["dbtCoreNode"],"properties":{"dbtCoreNode":{"type":"object","properties":{"integrationId":{"type":"string","description":"Opaque identifier of the dbt Core project. Usually the Coalesce Quality\n integration id (a UUID), but may also be the dbt project name from\n manifest.json when the integration is configured to identify assets by\n project name. Treat it as an opaque string, not a UUID.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.10.dbtCoreNode.integrationId","typeLabel":"string"},"nodeId":{"type":"string","description":"Dbt node_id that identifies one of dbt DAG nodes (model, test, etc)","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.10.dbtCoreNode.nodeId","typeLabel":"string"}},"title":"dbt_core_node","required":["integrationId","nodeId"],"additionalProperties":false,"description":"Dbt node that identifies one of dbt DAG nodes (model, test, etc) in dbt Core project","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.10.dbtCoreNode","typeLabel":"dbt_core_node · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.10","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["fabricTable"],"properties":{"fabricTable":{"type":"object","properties":{"instance":{"type":"string","description":"Workspace SQL analytics endpoint host, e.g.\n \"\u003cworkspace-id>.datawarehouse.fabric.microsoft.com\".","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11.fabricTable.table","typeLabel":"string"},"workspaceId":{"type":"string","description":"Fabric workspace GUID, decoded from the endpoint host in `instance`.\n Optional and informational: the table is addressed by\n instance/database/schema/table, so leave it empty if you don't have it —\n it does not affect how the identifier resolves.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11.fabricTable.workspaceId","typeLabel":"string"},"tenantId":{"type":"string","description":"Entra (Azure AD) tenant GUID, decoded from the endpoint host in `instance`.\n Optional and informational, like workspace_id.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11.fabricTable","typeLabel":"fabric_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["monitor"],"properties":{"monitor":{"type":"object","properties":{"monitoredId":{"$circularRef":"9aa48dcc-3dc1-40e9-bf59-0a21c9499772","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor","typeLabel":"monitor · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["mssqlTable"],"properties":{"mssqlTable":{"type":"object","properties":{"host":{"type":"string","description":"Hostname of the SQL Server instance","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.13.mssqlTable","typeLabel":"mssql_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.13","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["mysqlTable"],"properties":{"mysqlTable":{"type":"object","properties":{"host":{"type":"string","description":"Mysql hostname without port","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.14.mysqlTable","typeLabel":"mysql_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.14","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["oracleTable"],"properties":{"oracleTable":{"type":"object","properties":{"host":{"type":"string","description":"Hostname of the Oracle instance","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.15.oracleTable","typeLabel":"oracle_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.15","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["postgresTable"],"properties":{"postgresTable":{"type":"object","properties":{"host":{"type":"string","description":"Postgres hostname without port","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.16.postgresTable","typeLabel":"postgres_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.16","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["redshiftTable"],"properties":{"redshiftTable":{"type":"object","properties":{"database":{"type":"string","description":"Redshift database","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.17.redshiftTable.table","typeLabel":"string"},"cluster":{"type":"string","description":"Required. Host of the Redshift endpoint, as in the connection, for example\n `my-cluster.abc123.eu-west-1.redshift.amazonaws.com`. A port suffix is\n accepted and ignored. The bare cluster name (`my-cluster`) is not enough,\n because one name can exist in more than one account or region. A response\n returns the host in its normalized form, which is also accepted on input.\n\n The rule below also refuses an empty value. It is not `required`, because\n `required` stops the other rules and its error does not say what to send.\nredshift_table.cluster.full_host // cluster must be the full host of the Redshift endpoint from the connection, for example my-cluster.abc123.eu-west-1.redshift.amazonaws.com\n","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.17.redshiftTable","typeLabel":"redshift_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.17","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["savedView"],"properties":{"savedView":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Saved view id (client-supplied UUID) that identifies the saved view","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.18.savedView","typeLabel":"saved_view · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.18","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["snowflakeTable"],"properties":{"snowflakeTable":{"type":"object","properties":{"account":{"type":"string","description":"Snowflake account","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.19.snowflakeTable","typeLabel":"snowflake_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.19","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["sqlMeshAudit"],"properties":{"sqlMeshAudit":{"type":"object","properties":{"integrationId":{"type":"string","format":"uuid","description":"Coalesce Quality integration_id that identifies the dbt Core project","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.20.sqlMeshAudit","typeLabel":"sql_mesh_audit · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.20","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["sqlMeshModel"],"properties":{"sqlMeshModel":{"type":"object","properties":{"integrationId":{"type":"string","format":"uuid","description":"Coalesce Quality integration_id that identifies the dbt Core project","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.21.sqlMeshModel","typeLabel":"sql_mesh_model · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.21","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["synqPath"],"properties":{"synqPath":{"type":"object","properties":{"path":{"type":"string","description":"Coalesce Quality path that identifies the Coalesce Quality entity, needs to be one of supported paths","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.22.synqPath","typeLabel":"synq_path · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.22","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["trinoTable"],"properties":{"trinoTable":{"type":"object","properties":{"host":{"type":"string","description":"Hostname of the Trino instance","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.23.trinoTable","typeLabel":"trino_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.23","typeLabel":"Identifier · object"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX]","typeLabel":"Identifier · object"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers","typeLabel":"Identifier · object[]"}},"title":"identifier_list","additionalProperties":false,"description":"Resolves to entities matching any of the given identifiers.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1.identifierList","typeLabel":"identifier_list · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.1","typeLabel":"identifier_list · object"},{"type":"object","title":"in_folder","required":["inFolder"],"properties":{"inFolder":{"type":"object","properties":{"path":{"type":"array","items":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.path.items.[INDEX]","typeLabel":"string"},"description":"Opaque folder identifiers (a folder's own entity id). `folders` is the\n structured, human-authorable alternative. When `path` is the only source\n set and `deep` is unset, `deep` defaults to true for back-compat with\n queries authored before `deep` existed.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.path","typeLabel":"string[]"},"folders":{"type":"array","items":{"type":"object","properties":{"rootEntityId":{"type":"string","description":"Opaque id of the entity the folder hierarchy hangs under — an integration\n root or container (for example a warehouse instance, a database, or a\n transformation project). Take it verbatim from `FolderRef.root_entity_id`\n of a folder you already read, or from an entity id returned elsewhere.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folders.items.[INDEX].rootEntityId","typeLabel":"string"},"folders":{"type":"array","items":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folders.items.[INDEX].folders.items.[INDEX]","typeLabel":"string"},"description":"Ordered folder names from the root down to this folder (root first, leaf\n last), for example [\"staging\", \"sales\"]. Empty means the ref points at the\n root entity itself. Folder names are kept as separate segments (not joined\n with \"/\") because some platforms allow \"/\" inside a single folder name.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folders.items.[INDEX].folders","typeLabel":"string[]"}},"title":"FolderRef","additionalProperties":false,"description":"FolderRef is the human-friendly, structured address of a folder: the entity it\n hangs under (`root_entity_id`) plus the ordered folder names from that root\n down to the folder (`folders`).\n\n It is the stable way to name a folder across responses. Prefer it over the\n opaque folder entity id when you want to log, display, or reconstruct a\n location — the segments are the same names a user sees in the catalog, and\n they survive changes to the underlying id encoding.\n\n A `FolderRef` with an empty `folders` list names the root entity itself (a\n top-level integration or container the hierarchy hangs from).\n\n This type lives in `synq.entities.v1` (rather than a folder-specific package)\n so it can be shared by both the folders navigation API and the query API\n without an import cycle.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folders.items.[INDEX]","typeLabel":"FolderRef · object"},"description":"Structured, human-authorable folder addresses (root entity + folder-name\n segments). Take a `FolderRef` verbatim from a folder returned by the folders\n navigation API, or build one from names you can see in the catalog.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folders","typeLabel":"FolderRef · object[]"},"folderOf":{"type":"object","properties":{"entityIds":{"type":"array","items":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.entityIds.items.[INDEX]","typeLabel":"string"},"description":"Simplified source: the assets named directly by opaque entity id. Use this\n for the common \"same folder as these specific assets\" case; equivalent to an\n input_query that lists the same ids.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.entityIds","typeLabel":"string[]"},"inputQuery":{"type":"object","properties":{"parts":{"type":"array","items":{"oneOf":[{"type":"object","title":"entity_ids","required":["entityIds"],"properties":{"entityIds":{"type":"object","properties":{"entityIds":{"type":"array","items":{"type":"string","maxLength":1024,"minLength":1,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.0.entityIds.entityIds.items.[INDEX]","typeLabel":"string"},"description":"The entities to select. An id may not be blank.\n\n An empty list selects no entities, exactly as an empty `identifier_list`\n does. Be deliberate about it, because it is not the same as leaving the part\n out: a part that selects nothing still counts, so it empties an AND, adds\n nothing to an OR, and removes nothing from an EXCEPT. If what you mean is\n \"do not restrict on specific entities\", omit the part instead of sending it\n empty.\n\n Ids may be up to 1024 characters — the same limit as `Identifier.entity_id`,\n where you read them from, so any id the API returned is accepted here.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.0.entityIds.entityIds","typeLabel":"string[]"}},"title":"entity_ids","additionalProperties":false,"description":"Pin specific entities by the ids the API returned for them. Read back as\n `identifier_list`, with each id on the identifier it names.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.0.entityIds","typeLabel":"entity_ids · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.0","typeLabel":"entity_ids · object"},{"type":"object","title":"identifier_list","required":["identifierList"],"properties":{"identifierList":{"type":"object","properties":{"identifiers":{"type":"array","items":{"type":"any","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX]","typeLabel":"any"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.1.identifierList.identifiers","typeLabel":"any[]"}},"title":"identifier_list","additionalProperties":false,"description":"Resolves to entities matching any of the given identifiers.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.1.identifierList","typeLabel":"identifier_list · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.1","typeLabel":"identifier_list · object"},{"type":"object","title":"identities_of","required":["identitiesOf"],"properties":{"identitiesOf":{"type":"object","properties":{"inputQuery":{"$circularRef":"5b88d704-2a2e-4c1a-837b-99543d863e65","description":"The assets whose identities to resolve. Required.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.2.identitiesOf.inputQuery","typeLabel":"any"},"limitToTypes":{"type":"array","items":{"type":"any","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.2.identitiesOf.limitToTypes.items.[INDEX]","typeLabel":"any"},"description":"Restrict the result to these types. When empty, only the other members of\n each identity group are returned. When set, an input asset that already has\n one of these types is returned as well.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.2.identitiesOf.limitToTypes","typeLabel":"any[]"}},"title":"identities_of","required":["inputQuery"],"additionalProperties":false,"description":"Resolves to the identities of whatever the inner query matches.\n\n The same real-world table is often described by several assets — a\n transformation model and the warehouse table it materialises into are one\n asset with several representations. Those representations form an identity\n group. IdentitiesOf takes the assets matched by `input_query` and returns\n their identity groups, so a selection made in one platform's terms also\n covers the equivalent assets in every other platform.\n\n The typical use is subtraction: \"this warehouse database, except whatever my\n transformation tool already owns\" is an EXCEPT whose removal clause is an\n IdentitiesOf over the transformation models. Without it the two selections\n overlap on every materialised table.\nidentities_of.input_query_selects_something // identities_of requires an input_query with at least one part\n","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.2.identitiesOf","typeLabel":"identities_of · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.2","typeLabel":"identities_of · object"},{"type":"object","title":"in_data_platform","required":["inDataPlatform"],"properties":{"inDataPlatform":{"type":"object","properties":{"identifier":{"type":"any","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.3.inDataPlatform.identifier","typeLabel":"any"}},"title":"in_data_platform","additionalProperties":false,"description":"Resolves to all entities that belong to the given data platform.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.3.inDataPlatform","typeLabel":"in_data_platform · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.3","typeLabel":"in_data_platform · object"},{"type":"object","title":"in_dataproduct","required":["inDataproduct"],"properties":{"inDataproduct":{"type":"object","properties":{"identifier":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Dataproduct id that identifies the Dataproduct","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.4.inDataproduct.identifier.id","typeLabel":"string\u003cuuid>"}},"title":"DataproductIdentifier","required":["id"],"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.4.inDataproduct.identifier","typeLabel":"DataproductIdentifier · object"}},"title":"in_dataproduct","additionalProperties":false,"description":"Resolves to all the assets that belong to the given data product.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.4.inDataproduct","typeLabel":"in_dataproduct · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.4","typeLabel":"in_dataproduct · object"},{"type":"object","title":"in_domain","required":["inDomain"],"properties":{"inDomain":{"type":"object","properties":{"domainId":{"type":"string","format":"uuid","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.5.inDomain.domainId","typeLabel":"string\u003cuuid>"}},"title":"in_domain","additionalProperties":false,"description":"Resolves to all entities in the given data domain.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.5.inDomain","typeLabel":"in_domain · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.5","typeLabel":"in_domain · object"},{"type":"object","title":"in_folder","required":["inFolder"],"properties":{"inFolder":{"oneOf":[{"$circularRef":"c79c7116-4afc-4517-9fe8-67fe693cd4e1","title":"in_folder","isRequired":true}],"isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.6.inFolder","typeLabel":"any"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.6","typeLabel":"in_folder · object"},{"type":"object","title":"query","required":["query"],"properties":{"query":{"$circularRef":"5b88d704-2a2e-4c1a-837b-99543d863e65","title":"query","description":"Nested sub-query, enabling recursive composition of filters and operands.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.7.query","typeLabel":"any"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.7","typeLabel":"query · object"},{"type":"object","title":"unsupported","required":["unsupported"],"properties":{"unsupported":{"type":"object","properties":{"queryJson":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.8.unsupported.queryJson","typeLabel":"string"}},"title":"unsupported","additionalProperties":false,"description":"Read-only. Represents internal query types that cannot be expressed in the public API.\n Do not construct these directly — they are returned when translating from internal queries.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.8.unsupported","typeLabel":"unsupported · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.8","typeLabel":"unsupported · object"},{"type":"object","title":"with_annotation","required":["withAnnotation"],"properties":{"withAnnotation":{"type":"object","properties":{"name":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.9.withAnnotation.name","typeLabel":"string"},"acceptedValue":{"oneOf":[{"type":"string","deprecated":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.9.withAnnotation.acceptedValue.oneOf.0","typeLabel":"string"},{"type":"null","deprecated":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.9.withAnnotation.acceptedValue.oneOf.1","typeLabel":"null"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.9.withAnnotation.acceptedValue","typeLabel":"string | null"},"acceptedValues":{"type":"array","items":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.9.withAnnotation.acceptedValues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.9.withAnnotation.acceptedValues","typeLabel":"string[]"}},"title":"with_annotation","additionalProperties":false,"description":"Resolves to all entities that contain the annotation with at least one of the provided accepted values.\n In case of no given accepted values, all entities that carry the given annotation are returned.\n The name and the values match case-insensitively.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.9.withAnnotation","typeLabel":"with_annotation · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.9","typeLabel":"with_annotation · object"},{"type":"object","title":"with_data_platform_type","required":["withDataPlatformType"],"properties":{"withDataPlatformType":{"type":"object","properties":{"types":{"type":"array","items":{"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"],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.10.withDataPlatformType.types.items.[INDEX]","typeLabel":"enum\u003cstring>"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.10.withDataPlatformType.types","typeLabel":"enum\u003cstring>[]"}},"title":"with_data_platform_type","additionalProperties":false,"isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.10.withDataPlatformType","typeLabel":"with_data_platform_type · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.10","typeLabel":"with_data_platform_type · object"},{"type":"object","title":"with_default_visible_types","required":["withDefaultVisibleTypes"],"properties":{"withDefaultVisibleTypes":{"type":"object","title":"with_default_visible_types","additionalProperties":false,"description":"Resolves to every asset of a type the catalog shows by default — the\n \"everything\" starting set.\n\n Use it as the base of a subtraction, e.g. an EXCEPT query whose first part is\n WithDefaultVisibleTypes and whose second part is what to leave out. On its own\n it selects the whole catalog, so it is rarely useful as the only part of a\n query.\n\n \"Default visible\" excludes the supporting asset types the catalog hides unless\n asked for (columns, tests, and similar), so this is not literally every entity.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.11.withDefaultVisibleTypes","typeLabel":"with_default_visible_types · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.11","typeLabel":"with_default_visible_types · object"},{"type":"object","title":"with_name_search","required":["withNameSearch"],"properties":{"withNameSearch":{"type":"object","properties":{"searchQuery":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.12.withNameSearch.searchQuery","typeLabel":"string"}},"title":"with_name_search","additionalProperties":false,"description":"Resolves to all entities matching the given name search.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.12.withNameSearch","typeLabel":"with_name_search · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.12","typeLabel":"with_name_search · object"},{"type":"object","title":"with_type","required":["withType"],"properties":{"withType":{"type":"object","properties":{"type":{"type":"any","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.13.withType.type","typeLabel":"any"},"types":{"type":"array","items":{"type":"any","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.13.withType.types.items.[INDEX]","typeLabel":"any"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.13.withType.types","typeLabel":"any[]"},"traits":{"type":"array","items":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.13.withType.traits.items.[INDEX]","typeLabel":"string"},"description":"Traits to select by, instead of — or alongside — naming types.\n\n A trait is a property a type has, so `is_monitorable` means \"everything a\n monitor can run on\" without listing the forty-odd types that satisfy it\n today. The list it stands for is worked out each time the selection runs,\n so a selection saved this way covers a new platform's tables as soon as we\n support them, and you never have to revisit it.\n\n Entities carrying any of the traits match. When `types` is also set the two\n narrow each other: the entity must be one of the named types AND carry one\n of the traits.\n\n Accepted values, and what each one means, come from the selection-query\n grammar the API publishes (`describe_resolver_ql`, or the query editor's\n reference). A name that is not in it selects nothing rather than being\n ignored, so a typo narrows the result to empty instead of widening it —\n check a trait against the grammar before storing a selection. In a query\n written as text this is `with_type(traits=\"is_monitorable\")`, and there a\n name outside the grammar is rejected outright.\n\n A trait may also be a type alias, spelled `alias:\u003cname>` where `\u003cname>` is\n one of the aliases the grammar lists among the entity types, e.g.\n `alias:table`. It selects every type the alias stands for, worked out each\n time the selection runs like any other trait. A selection written as\n `with_type(\"table\")` is stored this way and reads back with\n `traits: [\"alias:table\"]`; writing that back keeps the same selection. In a\n query written as text an alias is always `with_type(\"table\")`, never\n `traits=\"alias:table\"`.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.13.withType.traits","typeLabel":"string[]"}},"title":"with_type","additionalProperties":false,"description":"Resolves to all the entities that have the provided type, or carry one of the\n provided traits.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.13.withType","typeLabel":"with_type · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.13","typeLabel":"with_type · object"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX]","typeLabel":"entity_ids · object | identifier_list · object | identities_of · object | in_data_platform · object | in_dataproduct · object | in_domain · object | in_folder · object | query · object | unsupported · object | with_annotation · object | with_data_platform_type · object | with_default_visible_types · object | with_name_search · object | with_type · object"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts","typeLabel":"(entity_ids · object | identifier_list · object | identities_of · object | in_data_platform · object | in_dataproduct · object | in_domain · object | in_folder · object | query · object | unsupported · object | with_annotation · object | with_data_platform_type · object | with_default_visible_types · object | with_name_search · object | with_type · object)[]"},"operand":{"type":"string","title":"QueryOperand","enum":["QUERY_OPERAND_UNSPECIFIED","QUERY_OPERAND_AND","QUERY_OPERAND_OR","QUERY_OPERAND_EXCEPT","QUERY_OPERAND_UPSTREAM","QUERY_OPERAND_DOWNSTREAM"],"description":"Defaults to AND if not specified.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.operand","typeLabel":"enum\u003cstring>"}},"title":"Query","additionalProperties":false,"description":"General source: resolve the folder(s) of whatever assets this query matches\n (e.g. a name or type filter). Use when the assets can't be listed up front.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery","typeLabel":"Query · object"},"includeAllAncestors":{"type":"boolean","description":"When false (default): only each asset's immediate parent folder. When true:\n every ancestor folder up the hierarchy, so `InFolder` then also matches\n assets in those ancestor folders.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.includeAllAncestors","typeLabel":"boolean"}},"title":"FolderOf","additionalProperties":false,"description":"Resolve the folders to search from a set of assets, rather than naming them.\n Selects everything in the folder(s) that contain those assets.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf","typeLabel":"FolderOf · object"},"deep":{"oneOf":[{"type":"boolean","description":"When false or unset, matches only the direct members of the folder(s). When\n true, matches the entire recursive subtree (members of subfolders too).\n\n Exception: when only the legacy `path` source is set and `deep` is unset,\n it defaults to true (preserves the behaviour of queries authored before this\n flag existed). With `folders` or `folder_of`, unset means false (shallow).","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.deep.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"When false or unset, matches only the direct members of the folder(s). When\n true, matches the entire recursive subtree (members of subfolders too).\n\n Exception: when only the legacy `path` source is set and `deep` is unset,\n it defaults to true (preserves the behaviour of queries authored before this\n flag existed). With `folders` or `folder_of`, unset means false (shallow).","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.deep.oneOf.1","typeLabel":"null"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.deep","typeLabel":"boolean | null"}},"title":"in_folder","additionalProperties":false,"description":"synq.queries.v1.InDataPlatform in_data_platform = 5;","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2.inFolder","typeLabel":"in_folder · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.2","typeLabel":"in_folder · object"},{"type":"object","title":"query","required":["query"],"properties":{"query":{"oneOf":[{"$circularRef":"eb47fa5a-82ed-44fd-8b72-4d20a1d798fe","title":"query","isRequired":true}],"isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.3.query","typeLabel":"any"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.3","typeLabel":"query · object"},{"type":"object","title":"unsupported","required":["unsupported"],"properties":{"unsupported":{"type":"object","properties":{"queryJson":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.4.unsupported.queryJson","typeLabel":"string"}},"title":"unsupported","additionalProperties":false,"description":"Collects all the parts of the query that are currently unsupported in translation.\n These represent an internal structure that are not yet completely available on the API.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.4.unsupported","typeLabel":"unsupported · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.4","typeLabel":"unsupported · object"},{"type":"object","title":"with_annotation","required":["withAnnotation"],"properties":{"withAnnotation":{"type":"object","properties":{"name":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.5.withAnnotation.name","typeLabel":"string"},"acceptedValue":{"oneOf":[{"type":"string","deprecated":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.5.withAnnotation.acceptedValue.oneOf.0","typeLabel":"string"},{"type":"null","deprecated":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.5.withAnnotation.acceptedValue.oneOf.1","typeLabel":"null"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.5.withAnnotation.acceptedValue","typeLabel":"string | null"},"acceptedValues":{"type":"array","items":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.5.withAnnotation.acceptedValues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.5.withAnnotation.acceptedValues","typeLabel":"string[]"}},"title":"with_annotation","additionalProperties":false,"description":"Resolves to all entities that contain the annotation with at least one of the provided accepted values.\n In case of no given accepted values, all entities that carry the given annotation are returned.\n The name and the values match case-insensitively.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.5.withAnnotation","typeLabel":"with_annotation · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.5","typeLabel":"with_annotation · object"},{"type":"object","title":"with_name_search","required":["withNameSearch"],"properties":{"withNameSearch":{"type":"object","properties":{"searchQuery":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.6.withNameSearch.searchQuery","typeLabel":"string"}},"title":"with_name_search","additionalProperties":false,"description":"Resolves to all entities matching the given name search.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.6.withNameSearch","typeLabel":"with_name_search · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.6","typeLabel":"with_name_search · object"},{"type":"object","title":"with_type","required":["withType"],"properties":{"withType":{"type":"object","properties":{"type":{"oneOf":[{"type":"object","title":"custom","required":["custom"],"deprecated":true,"properties":{"custom":{"type":"integer","title":"custom","format":"int32","description":"Custom types as defined through synq.entities.custom.v1.TypesService","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.7.withType.type.oneOf.0.custom","typeLabel":"integer\u003cint32>"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.7.withType.type.oneOf.0","typeLabel":"custom · object"},{"type":"object","title":"default","required":["default"],"deprecated":true,"properties":{"default":{"type":"string","title":"default","enum":["ENTITY_TYPE_UNSPECIFIED","ENTITY_TYPE_BQ_TABLE","ENTITY_TYPE_BQ_VIEW","ENTITY_TYPE_BQ_PROCEDURE","ENTITY_TYPE_BQ_FUNCTION","ENTITY_TYPE_LOOKER_LOOK","ENTITY_TYPE_LOOKER_EXPLORE","ENTITY_TYPE_LOOKER_VIEW","ENTITY_TYPE_LOOKER_DASHBOARD","ENTITY_TYPE_LOOKER_INSTANCE","ENTITY_TYPE_DBT_MODEL","ENTITY_TYPE_DBT_TEST","ENTITY_TYPE_DBT_SOURCE","ENTITY_TYPE_DBT_PROJECT","ENTITY_TYPE_DBT_METRIC","ENTITY_TYPE_DBT_SNAPSHOT","ENTITY_TYPE_DBT_SEED","ENTITY_TYPE_DBT_ANALYSIS","ENTITY_TYPE_DBT_EXPOSURE","ENTITY_TYPE_DBT_GROUP","ENTITY_TYPE_DBT_SEMANTIC_MODEL","ENTITY_TYPE_DBT_CLOUD_PROJECT","ENTITY_TYPE_DBT_CLOUD_JOB","ENTITY_TYPE_SNOWFLAKE_TABLE","ENTITY_TYPE_SNOWFLAKE_VIEW","ENTITY_TYPE_SNOWFLAKE_STREAM","ENTITY_TYPE_SNOWFLAKE_DYNAMIC_TABLE","ENTITY_TYPE_SNOWFLAKE_TASK","ENTITY_TYPE_SNOWFLAKE_EXTERNAL_TABLE","ENTITY_TYPE_SNOWFLAKE_MATERIALIZED_VIEW","ENTITY_TYPE_SNOWFLAKE_PROCEDURE","ENTITY_TYPE_SNOWFLAKE_FUNCTION","ENTITY_TYPE_SNOWFLAKE_SEMANTIC_VIEW","ENTITY_TYPE_SNOWFLAKE_STAGE","ENTITY_TYPE_SNOWFLAKE_STREAMLIT","ENTITY_TYPE_SNOWFLAKE_NOTEBOOK","ENTITY_TYPE_SNOWFLAKE_WAREHOUSE","ENTITY_TYPE_SNOWFLAKE_PIPE","ENTITY_TYPE_SNOWFLAKE_CORTEX_SEARCH_SERVICE","ENTITY_TYPE_REDSHIFT_TABLE","ENTITY_TYPE_REDSHIFT_VIEW","ENTITY_TYPE_REDSHIFT_PROCEDURE","ENTITY_TYPE_REDSHIFT_FUNCTION","ENTITY_TYPE_TABLEAU_EMBEDDED","ENTITY_TYPE_TABLEAU_PUBLISHED","ENTITY_TYPE_TABLEAU_CUSTOM_SQL","ENTITY_TYPE_TABLEAU_TABLE","ENTITY_TYPE_TABLEAU_SHEET","ENTITY_TYPE_TABLEAU_DASHBOARD","ENTITY_TYPE_TABLEAU_WORKBOOK","ENTITY_TYPE_TABLEAU_SITE","ENTITY_TYPE_AIRFLOW_DAG","ENTITY_TYPE_AIRFLOW_TASK","ENTITY_TYPE_CLICKHOUSE_TABLE","ENTITY_TYPE_CLICKHOUSE_VIEW","ENTITY_TYPE_ANOMALY_MONITOR","ENTITY_TYPE_ANOMALY_MONITOR_SEGMENT","ENTITY_TYPE_SQLTEST_TEST","ENTITY_TYPE_RECON_SUITE","ENTITY_TYPE_RECON_CASE","ENTITY_TYPE_LINEAGE_FOLD","ENTITY_TYPE_POSTGRES_TABLE","ENTITY_TYPE_POSTGRES_VIEW","ENTITY_TYPE_MYSQL_TABLE","ENTITY_TYPE_MYSQL_VIEW","ENTITY_TYPE_DATABRICKS_WAREHOUSE","ENTITY_TYPE_DATABRICKS_TABLE","ENTITY_TYPE_DATABRICKS_VIEW","ENTITY_TYPE_DATABRICKS_JOB","ENTITY_TYPE_DATABRICKS_JOB_TASK","ENTITY_TYPE_DATABRICKS_NOTEBOOK","ENTITY_TYPE_DATABRICKS_QUERY","ENTITY_TYPE_DATABRICKS_DASHBOARD","ENTITY_TYPE_DATABRICKS_METRIC_VIEW","ENTITY_TYPE_DATABRICKS_APP","ENTITY_TYPE_SQLMESH_PROJECT","ENTITY_TYPE_SQLMESH_SQL_MODEL","ENTITY_TYPE_SQLMESH_PYTHON_MODEL","ENTITY_TYPE_SQLMESH_EXTERNAL","ENTITY_TYPE_SQLMESH_SEED","ENTITY_TYPE_SQLMESH_AUDIT","ENTITY_TYPE_SQLMESH_UNIT_TEST","ENTITY_TYPE_SQLMESH_ENVIRONMENT","ENTITY_TYPE_SQLMESH_SNAPSHOT","ENTITY_TYPE_DUCKDB_TABLE","ENTITY_TYPE_DUCKDB_VIEW","ENTITY_TYPE_TRINO_TABLE","ENTITY_TYPE_TRINO_VIEW","ENTITY_TYPE_ATLAN_ASSET","ENTITY_TYPE_ATLAN_INTEGRATION","ENTITY_TYPE_COALESCE_PROJECT","ENTITY_TYPE_COALESCE_ENVIRONMENT","ENTITY_TYPE_COALESCE_NODE","ENTITY_TYPE_COALESCE_NODE_TEST","ENTITY_TYPE_COALESCE_JOB","ENTITY_TYPE_CASTORDOC_TABLE","ENTITY_TYPE_CASTORDOC_DASHBOARD","ENTITY_TYPE_CASTORDOC_VIEW","ENTITY_TYPE_CASTORDOC_TILE","ENTITY_TYPE_CASTORDOC_VIZ_MODEL","ENTITY_TYPE_POWERBI_REPORT","ENTITY_TYPE_POWERBI_TILE","ENTITY_TYPE_POWERBI_DATASET","ENTITY_TYPE_POWERBI_DASHBOARD","ENTITY_TYPE_POWERBI_TENANT","ENTITY_TYPE_THOUGHTSPOT_LIVEBOARD","ENTITY_TYPE_THOUGHTSPOT_WORKSHEET","ENTITY_TYPE_SIGMA_WORKBOOK","ENTITY_TYPE_SIGMA_DATA_MODEL","ENTITY_TYPE_SIGMA_ORGANIZATION","ENTITY_TYPE_DOMO_PAGE","ENTITY_TYPE_DOMO_DATASET","ENTITY_TYPE_MSSQL_TABLE","ENTITY_TYPE_MSSQL_VIEW","ENTITY_TYPE_MSSQL_PROCEDURE","ENTITY_TYPE_MSSQL_FUNCTION","ENTITY_TYPE_ORACLE_TABLE","ENTITY_TYPE_ORACLE_VIEW","ENTITY_TYPE_ORACLE_PROCEDURE","ENTITY_TYPE_ORACLE_FUNCTION","ENTITY_TYPE_ATHENA_TABLE","ENTITY_TYPE_ATHENA_VIEW","ENTITY_TYPE_FABRIC_TABLE","ENTITY_TYPE_FABRIC_VIEW","ENTITY_TYPE_FABRIC_PROCEDURE","ENTITY_TYPE_FABRIC_FUNCTION","ENTITY_TYPE_DB2_TABLE","ENTITY_TYPE_DB2_VIEW","ENTITY_TYPE_DB2_PROCEDURE","ENTITY_TYPE_DB2_FUNCTION","ENTITY_TYPE_LOOKER_STUDIO_CUSTOMER","ENTITY_TYPE_LOOKER_STUDIO_REPORT","ENTITY_TYPE_LOOKER_STUDIO_DATA_SOURCE","ENTITY_TYPE_CUSTOM_ENTITY_GENERIC","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MIN","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MAX"],"description":"Default Coalesce Quality types","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.7.withType.type.oneOf.1.default","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.7.withType.type.oneOf.1","typeLabel":"default · object"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.7.withType.type","typeLabel":"custom · object | default · object"},"types":{"type":"array","items":{"oneOf":[{"type":"object","title":"custom","required":["custom"],"properties":{"custom":{"type":"integer","title":"custom","format":"int32","description":"Custom types as defined through synq.entities.custom.v1.TypesService","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.7.withType.types.items.[INDEX].oneOf.0.custom","typeLabel":"integer\u003cint32>"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.7.withType.types.items.[INDEX].oneOf.0","typeLabel":"custom · object"},{"type":"object","title":"default","required":["default"],"properties":{"default":{"type":"string","title":"default","enum":["ENTITY_TYPE_UNSPECIFIED","ENTITY_TYPE_BQ_TABLE","ENTITY_TYPE_BQ_VIEW","ENTITY_TYPE_BQ_PROCEDURE","ENTITY_TYPE_BQ_FUNCTION","ENTITY_TYPE_LOOKER_LOOK","ENTITY_TYPE_LOOKER_EXPLORE","ENTITY_TYPE_LOOKER_VIEW","ENTITY_TYPE_LOOKER_DASHBOARD","ENTITY_TYPE_LOOKER_INSTANCE","ENTITY_TYPE_DBT_MODEL","ENTITY_TYPE_DBT_TEST","ENTITY_TYPE_DBT_SOURCE","ENTITY_TYPE_DBT_PROJECT","ENTITY_TYPE_DBT_METRIC","ENTITY_TYPE_DBT_SNAPSHOT","ENTITY_TYPE_DBT_SEED","ENTITY_TYPE_DBT_ANALYSIS","ENTITY_TYPE_DBT_EXPOSURE","ENTITY_TYPE_DBT_GROUP","ENTITY_TYPE_DBT_SEMANTIC_MODEL","ENTITY_TYPE_DBT_CLOUD_PROJECT","ENTITY_TYPE_DBT_CLOUD_JOB","ENTITY_TYPE_SNOWFLAKE_TABLE","ENTITY_TYPE_SNOWFLAKE_VIEW","ENTITY_TYPE_SNOWFLAKE_STREAM","ENTITY_TYPE_SNOWFLAKE_DYNAMIC_TABLE","ENTITY_TYPE_SNOWFLAKE_TASK","ENTITY_TYPE_SNOWFLAKE_EXTERNAL_TABLE","ENTITY_TYPE_SNOWFLAKE_MATERIALIZED_VIEW","ENTITY_TYPE_SNOWFLAKE_PROCEDURE","ENTITY_TYPE_SNOWFLAKE_FUNCTION","ENTITY_TYPE_SNOWFLAKE_SEMANTIC_VIEW","ENTITY_TYPE_SNOWFLAKE_STAGE","ENTITY_TYPE_SNOWFLAKE_STREAMLIT","ENTITY_TYPE_SNOWFLAKE_NOTEBOOK","ENTITY_TYPE_SNOWFLAKE_WAREHOUSE","ENTITY_TYPE_SNOWFLAKE_PIPE","ENTITY_TYPE_SNOWFLAKE_CORTEX_SEARCH_SERVICE","ENTITY_TYPE_REDSHIFT_TABLE","ENTITY_TYPE_REDSHIFT_VIEW","ENTITY_TYPE_REDSHIFT_PROCEDURE","ENTITY_TYPE_REDSHIFT_FUNCTION","ENTITY_TYPE_TABLEAU_EMBEDDED","ENTITY_TYPE_TABLEAU_PUBLISHED","ENTITY_TYPE_TABLEAU_CUSTOM_SQL","ENTITY_TYPE_TABLEAU_TABLE","ENTITY_TYPE_TABLEAU_SHEET","ENTITY_TYPE_TABLEAU_DASHBOARD","ENTITY_TYPE_TABLEAU_WORKBOOK","ENTITY_TYPE_TABLEAU_SITE","ENTITY_TYPE_AIRFLOW_DAG","ENTITY_TYPE_AIRFLOW_TASK","ENTITY_TYPE_CLICKHOUSE_TABLE","ENTITY_TYPE_CLICKHOUSE_VIEW","ENTITY_TYPE_ANOMALY_MONITOR","ENTITY_TYPE_ANOMALY_MONITOR_SEGMENT","ENTITY_TYPE_SQLTEST_TEST","ENTITY_TYPE_RECON_SUITE","ENTITY_TYPE_RECON_CASE","ENTITY_TYPE_LINEAGE_FOLD","ENTITY_TYPE_POSTGRES_TABLE","ENTITY_TYPE_POSTGRES_VIEW","ENTITY_TYPE_MYSQL_TABLE","ENTITY_TYPE_MYSQL_VIEW","ENTITY_TYPE_DATABRICKS_WAREHOUSE","ENTITY_TYPE_DATABRICKS_TABLE","ENTITY_TYPE_DATABRICKS_VIEW","ENTITY_TYPE_DATABRICKS_JOB","ENTITY_TYPE_DATABRICKS_JOB_TASK","ENTITY_TYPE_DATABRICKS_NOTEBOOK","ENTITY_TYPE_DATABRICKS_QUERY","ENTITY_TYPE_DATABRICKS_DASHBOARD","ENTITY_TYPE_DATABRICKS_METRIC_VIEW","ENTITY_TYPE_DATABRICKS_APP","ENTITY_TYPE_SQLMESH_PROJECT","ENTITY_TYPE_SQLMESH_SQL_MODEL","ENTITY_TYPE_SQLMESH_PYTHON_MODEL","ENTITY_TYPE_SQLMESH_EXTERNAL","ENTITY_TYPE_SQLMESH_SEED","ENTITY_TYPE_SQLMESH_AUDIT","ENTITY_TYPE_SQLMESH_UNIT_TEST","ENTITY_TYPE_SQLMESH_ENVIRONMENT","ENTITY_TYPE_SQLMESH_SNAPSHOT","ENTITY_TYPE_DUCKDB_TABLE","ENTITY_TYPE_DUCKDB_VIEW","ENTITY_TYPE_TRINO_TABLE","ENTITY_TYPE_TRINO_VIEW","ENTITY_TYPE_ATLAN_ASSET","ENTITY_TYPE_ATLAN_INTEGRATION","ENTITY_TYPE_COALESCE_PROJECT","ENTITY_TYPE_COALESCE_ENVIRONMENT","ENTITY_TYPE_COALESCE_NODE","ENTITY_TYPE_COALESCE_NODE_TEST","ENTITY_TYPE_COALESCE_JOB","ENTITY_TYPE_CASTORDOC_TABLE","ENTITY_TYPE_CASTORDOC_DASHBOARD","ENTITY_TYPE_CASTORDOC_VIEW","ENTITY_TYPE_CASTORDOC_TILE","ENTITY_TYPE_CASTORDOC_VIZ_MODEL","ENTITY_TYPE_POWERBI_REPORT","ENTITY_TYPE_POWERBI_TILE","ENTITY_TYPE_POWERBI_DATASET","ENTITY_TYPE_POWERBI_DASHBOARD","ENTITY_TYPE_POWERBI_TENANT","ENTITY_TYPE_THOUGHTSPOT_LIVEBOARD","ENTITY_TYPE_THOUGHTSPOT_WORKSHEET","ENTITY_TYPE_SIGMA_WORKBOOK","ENTITY_TYPE_SIGMA_DATA_MODEL","ENTITY_TYPE_SIGMA_ORGANIZATION","ENTITY_TYPE_DOMO_PAGE","ENTITY_TYPE_DOMO_DATASET","ENTITY_TYPE_MSSQL_TABLE","ENTITY_TYPE_MSSQL_VIEW","ENTITY_TYPE_MSSQL_PROCEDURE","ENTITY_TYPE_MSSQL_FUNCTION","ENTITY_TYPE_ORACLE_TABLE","ENTITY_TYPE_ORACLE_VIEW","ENTITY_TYPE_ORACLE_PROCEDURE","ENTITY_TYPE_ORACLE_FUNCTION","ENTITY_TYPE_ATHENA_TABLE","ENTITY_TYPE_ATHENA_VIEW","ENTITY_TYPE_FABRIC_TABLE","ENTITY_TYPE_FABRIC_VIEW","ENTITY_TYPE_FABRIC_PROCEDURE","ENTITY_TYPE_FABRIC_FUNCTION","ENTITY_TYPE_DB2_TABLE","ENTITY_TYPE_DB2_VIEW","ENTITY_TYPE_DB2_PROCEDURE","ENTITY_TYPE_DB2_FUNCTION","ENTITY_TYPE_LOOKER_STUDIO_CUSTOMER","ENTITY_TYPE_LOOKER_STUDIO_REPORT","ENTITY_TYPE_LOOKER_STUDIO_DATA_SOURCE","ENTITY_TYPE_CUSTOM_ENTITY_GENERIC","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MIN","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MAX"],"description":"Default Coalesce Quality types","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.7.withType.types.items.[INDEX].oneOf.1.default","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.7.withType.types.items.[INDEX].oneOf.1","typeLabel":"default · object"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.7.withType.types.items.[INDEX]","typeLabel":"custom · object | default · object"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.7.withType.types","typeLabel":"(custom · object | default · object)[]"},"traits":{"type":"array","items":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.7.withType.traits.items.[INDEX]","typeLabel":"string"},"description":"Traits to select by, instead of — or alongside — naming types.\n\n A trait is a property a type has, so `is_monitorable` means \"everything a\n monitor can run on\" without listing the forty-odd types that satisfy it\n today. The list it stands for is worked out each time the selection runs,\n so a selection saved this way covers a new platform's tables as soon as we\n support them, and you never have to revisit it.\n\n Entities carrying any of the traits match. When `types` is also set the two\n narrow each other: the entity must be one of the named types AND carry one\n of the traits.\n\n Accepted values, and what each one means, come from the selection-query\n grammar the API publishes (`describe_resolver_ql`, or the query editor's\n reference). A name that is not in it selects nothing rather than being\n ignored, so a typo narrows the result to empty instead of widening it —\n check a trait against the grammar before storing a selection. In a query\n written as text this is `with_type(traits=\"is_monitorable\")`, and there a\n name outside the grammar is rejected outright.\n\n A trait may also be a type alias, spelled `alias:\u003cname>` where `\u003cname>` is\n one of the aliases the grammar lists among the entity types, e.g.\n `alias:table`. It selects every type the alias stands for, worked out each\n time the selection runs like any other trait. A selection written as\n `with_type(\"table\")` is stored this way and reads back with\n `traits: [\"alias:table\"]`; writing that back keeps the same selection. In a\n query written as text an alias is always `with_type(\"table\")`, never\n `traits=\"alias:table\"`.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.7.withType.traits","typeLabel":"string[]"}},"title":"with_type","additionalProperties":false,"description":"Resolves to all the entities that have the provided type, or carry one of the\n provided traits.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.7.withType","typeLabel":"with_type · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX].oneOf.7","typeLabel":"with_type · object"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts.items.[INDEX]","typeLabel":"entity_ids · object | identifier_list · object | in_folder · object | query · object | unsupported · object | with_annotation · object | with_name_search · object | with_type · object"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.parts","typeLabel":"(entity_ids · object | identifier_list · object | in_folder · object | query · object | unsupported · object | with_annotation · object | with_name_search · object | with_type · object)[]"},"operand":{"type":"string","title":"QueryOperand","enum":["QUERY_OPERAND_UNSPECIFIED","QUERY_OPERAND_AND","QUERY_OPERAND_OR","QUERY_OPERAND_EXCEPT","QUERY_OPERAND_UPSTREAM","QUERY_OPERAND_DOWNSTREAM"],"description":"QueryOperand defines how multiple QueryParts within a Query are combined.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query.operand","typeLabel":"enum\u003cstring>"}},"title":"EntitySelectionQuery","additionalProperties":false,"description":"entity_selection_query.except_parts_select_something // each QUERY_OPERAND_EXCEPT part must select something\nentity_selection_query.except_requires_two_parts // QUERY_OPERAND_EXCEPT requires exactly 2 parts\n","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.query","typeLabel":"EntitySelectionQuery · object"},"resolverQl":{"type":"string","description":"ResolverQL selection string for the exclusion set. Same semantics as\n QueryConfig.resolver_ql: when set on write it takes precedence over `query`\n and is stored compiled; on read it carries the canonical rendering of the\n stored selection, equal to `rendered_resolver_ql`. `query` is always\n populated.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.resolverQl","typeLabel":"string"},"renderedResolverQl":{"type":"string","description":"Canonical ResolverQL rendering of the exclusion selection. Same semantics as\n QueryConfig.rendered_resolver_ql: OUTPUT ONLY, populated for every rule,\n ignored on write.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig.renderedResolverQl","typeLabel":"string"}},"title":"exclusive_query_config","additionalProperties":false,"isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.exclusiveQueryConfig","typeLabel":"exclusive_query_config · object"},"id":{"type":"string","title":"id","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.id","typeLabel":"string"},"title":{"type":"string","title":"title","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.title","typeLabel":"string"},"monitorCount":{"type":"integer","title":"monitor_count","format":"int32","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.monitorCount","typeLabel":"integer\u003cint32>"},"source":{"type":"string","title":"source","enum":["SOURCE_APP","SOURCE_API"],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.source","typeLabel":"enum\u003cstring>"},"configId":{"oneOf":[{"type":"string","title":"config_id","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.configId.oneOf.0","typeLabel":"string"},{"type":"null","title":"config_id","uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0.configId","typeLabel":"string | null"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.0","typeLabel":"MonitorsDeploymentRuleView · object"},{"type":"object","title":"MonitorsDeploymentRuleView","required":["exclusiveStaticConfig"],"properties":{"exclusiveStaticConfig":{"type":"object","properties":{"path":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.1.exclusiveStaticConfig.path","typeLabel":"string"}},"title":"exclusive_static_config","additionalProperties":false,"isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.1.exclusiveStaticConfig","typeLabel":"exclusive_static_config · object"},"id":{"type":"string","title":"id","uniqueKey":"deploymentRules.items.[INDEX].oneOf.1.id","typeLabel":"string"},"title":{"type":"string","title":"title","uniqueKey":"deploymentRules.items.[INDEX].oneOf.1.title","typeLabel":"string"},"monitorCount":{"type":"integer","title":"monitor_count","format":"int32","uniqueKey":"deploymentRules.items.[INDEX].oneOf.1.monitorCount","typeLabel":"integer\u003cint32>"},"source":{"type":"string","title":"source","enum":["SOURCE_APP","SOURCE_API"],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.1.source","typeLabel":"enum\u003cstring>"},"configId":{"oneOf":[{"type":"string","title":"config_id","uniqueKey":"deploymentRules.items.[INDEX].oneOf.1.configId.oneOf.0","typeLabel":"string"},{"type":"null","title":"config_id","uniqueKey":"deploymentRules.items.[INDEX].oneOf.1.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.1.configId","typeLabel":"string | null"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.1","typeLabel":"MonitorsDeploymentRuleView · object"},{"type":"object","title":"MonitorsDeploymentRuleView","required":["productConfig"],"properties":{"productConfig":{"type":"object","properties":{"productId":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.productId","typeLabel":"string"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"not":{"enum":[0]},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.severity","typeLabel":"enum\u003cstring>"},"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"not":{"enum":[0]},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.sensitivity","typeLabel":"enum\u003cstring>"},"metricIds":{"type":"array","items":{"type":"string","title":"MetricId","enum":["METRIC_ID_UNSPECIFIED","METRIC_ID_ROW_COUNT","METRIC_ID_DELAY","METRIC_ID_VOLUME_CHANGE_DELAY","METRIC_ID_NUM_ROWS","METRIC_ID_NUM_NULL","METRIC_ID_PCT_NULL","METRIC_ID_NUM_UNIQUE","METRIC_ID_PCT_UNIQUE","METRIC_ID_NUM_EMPTY","METRIC_ID_PCT_EMPTY","METRIC_ID_MEAN","METRIC_ID_MIN","METRIC_ID_MAX","METRIC_ID_MEDIAN","METRIC_ID_STDDEV"],"description":"Metric a monitor predicts. ROW_COUNT, DELAY and VOLUME_CHANGE_DELAY apply to table stats\n monitors and deployment rules; the remaining values are field statistics and apply to\n field stats columns only.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.metricIds.items.[INDEX]","typeLabel":"enum\u003cstring>"},"minItems":1,"uniqueItems":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.metricIds","typeLabel":"enum\u003cstring>[]"},"upstream":{"oneOf":[{"type":"object","title":"all","required":["all"],"properties":{"all":{"type":"object","title":"all","additionalProperties":false,"isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.upstream.oneOf.0.all","typeLabel":"all · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.upstream.oneOf.0","typeLabel":"all · object"},{"type":"object","title":"sources","required":["sources"],"properties":{"sources":{"type":"object","title":"sources","additionalProperties":false,"isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.upstream.oneOf.1.sources","typeLabel":"sources · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.upstream.oneOf.1","typeLabel":"sources · object"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.upstream","typeLabel":"all · object | sources · object"},"self":{"oneOf":[{"type":"object","title":"all","required":["all"],"properties":{"all":{"type":"object","title":"all","additionalProperties":false,"isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.0.all","typeLabel":"all · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.0","typeLabel":"all · object"},{"type":"object","title":"selection","required":["selection"],"properties":{"selection":{"type":"object","properties":{"query":{"type":"object","properties":{"parts":{"type":"array","items":{"oneOf":[{"type":"object","title":"entity_ids","required":["entityIds"],"properties":{"entityIds":{"type":"object","properties":{"entityIds":{"type":"array","items":{"type":"string","maxLength":1024,"minLength":1,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.0.entityIds.entityIds.items.[INDEX]","typeLabel":"string"},"description":"The entities to select. An id may not be blank.\n\n An empty list selects no entities, exactly as an empty `identifier_list`\n does. Be deliberate about it, because it is not the same as leaving the part\n out: a part that selects nothing still counts, so it empties an AND, adds\n nothing to an OR, and removes nothing from an EXCEPT. If what you mean is\n \"do not restrict on specific entities\", omit the part instead of sending it\n empty.\n\n Ids may be up to 1024 characters — the same limit as `Identifier.entity_id`,\n where you read them from, so any id the API returned is accepted here.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.0.entityIds.entityIds","typeLabel":"string[]"}},"title":"entity_ids","additionalProperties":false,"description":"Deploy monitors on specific entities, named by the ids the API returned\n for them. Read back as `identifier_list`, with each id on the identifier\n it names.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.0.entityIds","typeLabel":"entity_ids · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.0","typeLabel":"entity_ids · object"},{"type":"object","title":"identifier_list","required":["identifierList"],"properties":{"identifierList":{"type":"object","properties":{"identifiers":{"type":"array","items":{"oneOf":[{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["airflowDag"],"properties":{"airflowDag":{"type":"object","properties":{"integrationId":{"type":"string","description":"Coalesce Quality integration_id that identifies the Airflow instance","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.0.airflowDag","typeLabel":"airflow_dag · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.0","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["airflowTask"],"properties":{"airflowTask":{"type":"object","properties":{"integrationId":{"type":"string","description":"Coalesce Quality integration_id that identifies the Airflow instance","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.1.airflowTask.taskId","typeLabel":"string"}},"title":"airflow_task","required":["integrationId","dagId","taskId"],"additionalProperties":false,"description":"Airflow task identifier within a given DAG","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.1.airflowTask","typeLabel":"airflow_task · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.1","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["athenaTable"],"properties":{"athenaTable":{"type":"object","properties":{"instance":{"type":"string","description":"AWS account and region the Athena workgroup runs in, formatted as\n \"\u003caccount-id>.\u003cregion>\" (e.g. \"123456789012.eu-west-1\"). Auto-derived\n from sts:GetCallerIdentity at integration setup time.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.2.athenaTable.instance","typeLabel":"string"},"catalog":{"type":"string","description":"Glue Data Catalog name. Almost always \"AwsDataCatalog\" — the default\n catalog for Athena unless the customer registered a federated catalog.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.2.athenaTable.table","typeLabel":"string"}},"title":"athena_table","required":["instance","catalog","database","table"],"additionalProperties":false,"description":"Amazon Athena (Glue) table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.2.athenaTable","typeLabel":"athena_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.2","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["bigqueryTable"],"properties":{"bigqueryTable":{"type":"object","properties":{"project":{"type":"string","description":"BigQuery project","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.3.bigqueryTable","typeLabel":"bigquery_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.3","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["clickhouseTable"],"properties":{"clickhouseTable":{"type":"object","properties":{"host":{"type":"string","description":"Clickhouse hostname without port","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.4.clickhouseTable","typeLabel":"clickhouse_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.4","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["custom"],"properties":{"custom":{"type":"object","properties":{"id":{"type":"string","description":"Id that identifies the custom entity\n The Id should be unique within the custom entity Identifier.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.5.custom.id","typeLabel":"string"}},"title":"custom","required":["id"],"additionalProperties":false,"description":"Custom identifier to be used with all custom created entities","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.5.custom","typeLabel":"custom · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.5","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["databricksTable"],"properties":{"databricksTable":{"type":"object","properties":{"workspace":{"type":"string","description":"URL of Databricks workspace","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.6.databricksTable","typeLabel":"databricks_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.6","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["dataproduct"],"properties":{"dataproduct":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Dataproduct id that identifies the Dataproduct","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.7.dataproduct","typeLabel":"dataproduct · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.7","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["db2Table"],"properties":{"db2Table":{"type":"object","properties":{"host":{"type":"string","description":"Host name of the Db2 server","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.8.db2Table.table","typeLabel":"string"}},"title":"db2_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"IBM Db2 LUW table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.8.db2Table","typeLabel":"db2_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.8","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["dbtCloudNode"],"properties":{"dbtCloudNode":{"type":"object","properties":{"projectId":{"type":"string","description":"Your dbt Cloud project id","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.9.dbtCloudNode.projectId","typeLabel":"string"},"nodeId":{"type":"string","description":"Dbt node_id that identifies one of dbt DAG nodes (model, test, etc)","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.9.dbtCloudNode.accountId","typeLabel":"string"}},"title":"dbt_cloud_node","required":["projectId","nodeId"],"additionalProperties":false,"description":"Dbt node that identifies one of dbt DAG nodes (model, test, etc) in dbt Cloud project","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.9.dbtCloudNode","typeLabel":"dbt_cloud_node · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.9","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["dbtCoreNode"],"properties":{"dbtCoreNode":{"type":"object","properties":{"integrationId":{"type":"string","description":"Opaque identifier of the dbt Core project. Usually the Coalesce Quality\n integration id (a UUID), but may also be the dbt project name from\n manifest.json when the integration is configured to identify assets by\n project name. Treat it as an opaque string, not a UUID.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.10.dbtCoreNode.integrationId","typeLabel":"string"},"nodeId":{"type":"string","description":"Dbt node_id that identifies one of dbt DAG nodes (model, test, etc)","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.10.dbtCoreNode.nodeId","typeLabel":"string"}},"title":"dbt_core_node","required":["integrationId","nodeId"],"additionalProperties":false,"description":"Dbt node that identifies one of dbt DAG nodes (model, test, etc) in dbt Core project","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.10.dbtCoreNode","typeLabel":"dbt_core_node · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.10","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["fabricTable"],"properties":{"fabricTable":{"type":"object","properties":{"instance":{"type":"string","description":"Workspace SQL analytics endpoint host, e.g.\n \"\u003cworkspace-id>.datawarehouse.fabric.microsoft.com\".","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11.fabricTable.table","typeLabel":"string"},"workspaceId":{"type":"string","description":"Fabric workspace GUID, decoded from the endpoint host in `instance`.\n Optional and informational: the table is addressed by\n instance/database/schema/table, so leave it empty if you don't have it —\n it does not affect how the identifier resolves.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11.fabricTable.workspaceId","typeLabel":"string"},"tenantId":{"type":"string","description":"Entra (Azure AD) tenant GUID, decoded from the endpoint host in `instance`.\n Optional and informational, like workspace_id.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11.fabricTable","typeLabel":"fabric_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["monitor"],"properties":{"monitor":{"type":"object","properties":{"monitoredId":{"$circularRef":"9aa48dcc-3dc1-40e9-bf59-0a21c9499772","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor","typeLabel":"monitor · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["mssqlTable"],"properties":{"mssqlTable":{"type":"object","properties":{"host":{"type":"string","description":"Hostname of the SQL Server instance","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.13.mssqlTable","typeLabel":"mssql_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.13","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["mysqlTable"],"properties":{"mysqlTable":{"type":"object","properties":{"host":{"type":"string","description":"Mysql hostname without port","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.14.mysqlTable","typeLabel":"mysql_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.14","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["oracleTable"],"properties":{"oracleTable":{"type":"object","properties":{"host":{"type":"string","description":"Hostname of the Oracle instance","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.15.oracleTable","typeLabel":"oracle_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.15","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["postgresTable"],"properties":{"postgresTable":{"type":"object","properties":{"host":{"type":"string","description":"Postgres hostname without port","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.16.postgresTable","typeLabel":"postgres_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.16","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["redshiftTable"],"properties":{"redshiftTable":{"type":"object","properties":{"database":{"type":"string","description":"Redshift database","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.17.redshiftTable.table","typeLabel":"string"},"cluster":{"type":"string","description":"Required. Host of the Redshift endpoint, as in the connection, for example\n `my-cluster.abc123.eu-west-1.redshift.amazonaws.com`. A port suffix is\n accepted and ignored. The bare cluster name (`my-cluster`) is not enough,\n because one name can exist in more than one account or region. A response\n returns the host in its normalized form, which is also accepted on input.\n\n The rule below also refuses an empty value. It is not `required`, because\n `required` stops the other rules and its error does not say what to send.\nredshift_table.cluster.full_host // cluster must be the full host of the Redshift endpoint from the connection, for example my-cluster.abc123.eu-west-1.redshift.amazonaws.com\n","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.17.redshiftTable","typeLabel":"redshift_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.17","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["savedView"],"properties":{"savedView":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Saved view id (client-supplied UUID) that identifies the saved view","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.18.savedView","typeLabel":"saved_view · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.18","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["snowflakeTable"],"properties":{"snowflakeTable":{"type":"object","properties":{"account":{"type":"string","description":"Snowflake account","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.19.snowflakeTable","typeLabel":"snowflake_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.19","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["sqlMeshAudit"],"properties":{"sqlMeshAudit":{"type":"object","properties":{"integrationId":{"type":"string","format":"uuid","description":"Coalesce Quality integration_id that identifies the dbt Core project","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.20.sqlMeshAudit","typeLabel":"sql_mesh_audit · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.20","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["sqlMeshModel"],"properties":{"sqlMeshModel":{"type":"object","properties":{"integrationId":{"type":"string","format":"uuid","description":"Coalesce Quality integration_id that identifies the dbt Core project","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.21.sqlMeshModel","typeLabel":"sql_mesh_model · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.21","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["synqPath"],"properties":{"synqPath":{"type":"object","properties":{"path":{"type":"string","description":"Coalesce Quality path that identifies the Coalesce Quality entity, needs to be one of supported paths","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.22.synqPath","typeLabel":"synq_path · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.22","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["trinoTable"],"properties":{"trinoTable":{"type":"object","properties":{"host":{"type":"string","description":"Hostname of the Trino instance","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.23.trinoTable","typeLabel":"trino_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.23","typeLabel":"Identifier · object"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX]","typeLabel":"Identifier · object"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers","typeLabel":"Identifier · object[]"}},"title":"identifier_list","additionalProperties":false,"description":"Resolves to entities matching any of the given identifiers.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1.identifierList","typeLabel":"identifier_list · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.1","typeLabel":"identifier_list · object"},{"type":"object","title":"in_folder","required":["inFolder"],"properties":{"inFolder":{"type":"object","properties":{"path":{"type":"array","items":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.path.items.[INDEX]","typeLabel":"string"},"description":"Opaque folder identifiers (a folder's own entity id). `folders` is the\n structured, human-authorable alternative. When `path` is the only source\n set and `deep` is unset, `deep` defaults to true for back-compat with\n queries authored before `deep` existed.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.path","typeLabel":"string[]"},"folders":{"type":"array","items":{"type":"object","properties":{"rootEntityId":{"type":"string","description":"Opaque id of the entity the folder hierarchy hangs under — an integration\n root or container (for example a warehouse instance, a database, or a\n transformation project). Take it verbatim from `FolderRef.root_entity_id`\n of a folder you already read, or from an entity id returned elsewhere.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folders.items.[INDEX].rootEntityId","typeLabel":"string"},"folders":{"type":"array","items":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folders.items.[INDEX].folders.items.[INDEX]","typeLabel":"string"},"description":"Ordered folder names from the root down to this folder (root first, leaf\n last), for example [\"staging\", \"sales\"]. Empty means the ref points at the\n root entity itself. Folder names are kept as separate segments (not joined\n with \"/\") because some platforms allow \"/\" inside a single folder name.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folders.items.[INDEX].folders","typeLabel":"string[]"}},"title":"FolderRef","additionalProperties":false,"description":"FolderRef is the human-friendly, structured address of a folder: the entity it\n hangs under (`root_entity_id`) plus the ordered folder names from that root\n down to the folder (`folders`).\n\n It is the stable way to name a folder across responses. Prefer it over the\n opaque folder entity id when you want to log, display, or reconstruct a\n location — the segments are the same names a user sees in the catalog, and\n they survive changes to the underlying id encoding.\n\n A `FolderRef` with an empty `folders` list names the root entity itself (a\n top-level integration or container the hierarchy hangs from).\n\n This type lives in `synq.entities.v1` (rather than a folder-specific package)\n so it can be shared by both the folders navigation API and the query API\n without an import cycle.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folders.items.[INDEX]","typeLabel":"FolderRef · object"},"description":"Structured, human-authorable folder addresses (root entity + folder-name\n segments). Take a `FolderRef` verbatim from a folder returned by the folders\n navigation API, or build one from names you can see in the catalog.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folders","typeLabel":"FolderRef · object[]"},"folderOf":{"type":"object","properties":{"entityIds":{"type":"array","items":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.entityIds.items.[INDEX]","typeLabel":"string"},"description":"Simplified source: the assets named directly by opaque entity id. Use this\n for the common \"same folder as these specific assets\" case; equivalent to an\n input_query that lists the same ids.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.entityIds","typeLabel":"string[]"},"inputQuery":{"type":"object","properties":{"parts":{"type":"array","items":{"oneOf":[{"type":"object","title":"entity_ids","required":["entityIds"],"properties":{"entityIds":{"type":"object","properties":{"entityIds":{"type":"array","items":{"type":"string","maxLength":1024,"minLength":1,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.0.entityIds.entityIds.items.[INDEX]","typeLabel":"string"},"description":"The entities to select. An id may not be blank.\n\n An empty list selects no entities, exactly as an empty `identifier_list`\n does. Be deliberate about it, because it is not the same as leaving the part\n out: a part that selects nothing still counts, so it empties an AND, adds\n nothing to an OR, and removes nothing from an EXCEPT. If what you mean is\n \"do not restrict on specific entities\", omit the part instead of sending it\n empty.\n\n Ids may be up to 1024 characters — the same limit as `Identifier.entity_id`,\n where you read them from, so any id the API returned is accepted here.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.0.entityIds.entityIds","typeLabel":"string[]"}},"title":"entity_ids","additionalProperties":false,"description":"Pin specific entities by the ids the API returned for them. Read back as\n `identifier_list`, with each id on the identifier it names.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.0.entityIds","typeLabel":"entity_ids · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.0","typeLabel":"entity_ids · object"},{"type":"object","title":"identifier_list","required":["identifierList"],"properties":{"identifierList":{"type":"object","properties":{"identifiers":{"type":"array","items":{"type":"any","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX]","typeLabel":"any"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.1.identifierList.identifiers","typeLabel":"any[]"}},"title":"identifier_list","additionalProperties":false,"description":"Resolves to entities matching any of the given identifiers.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.1.identifierList","typeLabel":"identifier_list · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.1","typeLabel":"identifier_list · object"},{"type":"object","title":"identities_of","required":["identitiesOf"],"properties":{"identitiesOf":{"type":"object","properties":{"inputQuery":{"$circularRef":"5b88d704-2a2e-4c1a-837b-99543d863e65","description":"The assets whose identities to resolve. Required.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.2.identitiesOf.inputQuery","typeLabel":"any"},"limitToTypes":{"type":"array","items":{"type":"any","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.2.identitiesOf.limitToTypes.items.[INDEX]","typeLabel":"any"},"description":"Restrict the result to these types. When empty, only the other members of\n each identity group are returned. When set, an input asset that already has\n one of these types is returned as well.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.2.identitiesOf.limitToTypes","typeLabel":"any[]"}},"title":"identities_of","required":["inputQuery"],"additionalProperties":false,"description":"Resolves to the identities of whatever the inner query matches.\n\n The same real-world table is often described by several assets — a\n transformation model and the warehouse table it materialises into are one\n asset with several representations. Those representations form an identity\n group. IdentitiesOf takes the assets matched by `input_query` and returns\n their identity groups, so a selection made in one platform's terms also\n covers the equivalent assets in every other platform.\n\n The typical use is subtraction: \"this warehouse database, except whatever my\n transformation tool already owns\" is an EXCEPT whose removal clause is an\n IdentitiesOf over the transformation models. Without it the two selections\n overlap on every materialised table.\nidentities_of.input_query_selects_something // identities_of requires an input_query with at least one part\n","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.2.identitiesOf","typeLabel":"identities_of · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.2","typeLabel":"identities_of · object"},{"type":"object","title":"in_data_platform","required":["inDataPlatform"],"properties":{"inDataPlatform":{"type":"object","properties":{"identifier":{"type":"any","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.3.inDataPlatform.identifier","typeLabel":"any"}},"title":"in_data_platform","additionalProperties":false,"description":"Resolves to all entities that belong to the given data platform.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.3.inDataPlatform","typeLabel":"in_data_platform · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.3","typeLabel":"in_data_platform · object"},{"type":"object","title":"in_dataproduct","required":["inDataproduct"],"properties":{"inDataproduct":{"type":"object","properties":{"identifier":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Dataproduct id that identifies the Dataproduct","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.4.inDataproduct.identifier.id","typeLabel":"string\u003cuuid>"}},"title":"DataproductIdentifier","required":["id"],"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.4.inDataproduct.identifier","typeLabel":"DataproductIdentifier · object"}},"title":"in_dataproduct","additionalProperties":false,"description":"Resolves to all the assets that belong to the given data product.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.4.inDataproduct","typeLabel":"in_dataproduct · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.4","typeLabel":"in_dataproduct · object"},{"type":"object","title":"in_domain","required":["inDomain"],"properties":{"inDomain":{"type":"object","properties":{"domainId":{"type":"string","format":"uuid","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.5.inDomain.domainId","typeLabel":"string\u003cuuid>"}},"title":"in_domain","additionalProperties":false,"description":"Resolves to all entities in the given data domain.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.5.inDomain","typeLabel":"in_domain · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.5","typeLabel":"in_domain · object"},{"type":"object","title":"in_folder","required":["inFolder"],"properties":{"inFolder":{"oneOf":[{"$circularRef":"c79c7116-4afc-4517-9fe8-67fe693cd4e1","title":"in_folder","isRequired":true}],"isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.6.inFolder","typeLabel":"any"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.6","typeLabel":"in_folder · object"},{"type":"object","title":"query","required":["query"],"properties":{"query":{"$circularRef":"5b88d704-2a2e-4c1a-837b-99543d863e65","title":"query","description":"Nested sub-query, enabling recursive composition of filters and operands.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.7.query","typeLabel":"any"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.7","typeLabel":"query · object"},{"type":"object","title":"unsupported","required":["unsupported"],"properties":{"unsupported":{"type":"object","properties":{"queryJson":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.8.unsupported.queryJson","typeLabel":"string"}},"title":"unsupported","additionalProperties":false,"description":"Read-only. Represents internal query types that cannot be expressed in the public API.\n Do not construct these directly — they are returned when translating from internal queries.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.8.unsupported","typeLabel":"unsupported · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.8","typeLabel":"unsupported · object"},{"type":"object","title":"with_annotation","required":["withAnnotation"],"properties":{"withAnnotation":{"type":"object","properties":{"name":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.9.withAnnotation.name","typeLabel":"string"},"acceptedValue":{"oneOf":[{"type":"string","deprecated":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.9.withAnnotation.acceptedValue.oneOf.0","typeLabel":"string"},{"type":"null","deprecated":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.9.withAnnotation.acceptedValue.oneOf.1","typeLabel":"null"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.9.withAnnotation.acceptedValue","typeLabel":"string | null"},"acceptedValues":{"type":"array","items":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.9.withAnnotation.acceptedValues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.9.withAnnotation.acceptedValues","typeLabel":"string[]"}},"title":"with_annotation","additionalProperties":false,"description":"Resolves to all entities that contain the annotation with at least one of the provided accepted values.\n In case of no given accepted values, all entities that carry the given annotation are returned.\n The name and the values match case-insensitively.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.9.withAnnotation","typeLabel":"with_annotation · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.9","typeLabel":"with_annotation · object"},{"type":"object","title":"with_data_platform_type","required":["withDataPlatformType"],"properties":{"withDataPlatformType":{"type":"object","properties":{"types":{"type":"array","items":{"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"],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.10.withDataPlatformType.types.items.[INDEX]","typeLabel":"enum\u003cstring>"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.10.withDataPlatformType.types","typeLabel":"enum\u003cstring>[]"}},"title":"with_data_platform_type","additionalProperties":false,"isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.10.withDataPlatformType","typeLabel":"with_data_platform_type · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.10","typeLabel":"with_data_platform_type · object"},{"type":"object","title":"with_default_visible_types","required":["withDefaultVisibleTypes"],"properties":{"withDefaultVisibleTypes":{"type":"object","title":"with_default_visible_types","additionalProperties":false,"description":"Resolves to every asset of a type the catalog shows by default — the\n \"everything\" starting set.\n\n Use it as the base of a subtraction, e.g. an EXCEPT query whose first part is\n WithDefaultVisibleTypes and whose second part is what to leave out. On its own\n it selects the whole catalog, so it is rarely useful as the only part of a\n query.\n\n \"Default visible\" excludes the supporting asset types the catalog hides unless\n asked for (columns, tests, and similar), so this is not literally every entity.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.11.withDefaultVisibleTypes","typeLabel":"with_default_visible_types · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.11","typeLabel":"with_default_visible_types · object"},{"type":"object","title":"with_name_search","required":["withNameSearch"],"properties":{"withNameSearch":{"type":"object","properties":{"searchQuery":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.12.withNameSearch.searchQuery","typeLabel":"string"}},"title":"with_name_search","additionalProperties":false,"description":"Resolves to all entities matching the given name search.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.12.withNameSearch","typeLabel":"with_name_search · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.12","typeLabel":"with_name_search · object"},{"type":"object","title":"with_type","required":["withType"],"properties":{"withType":{"type":"object","properties":{"type":{"type":"any","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.13.withType.type","typeLabel":"any"},"types":{"type":"array","items":{"type":"any","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.13.withType.types.items.[INDEX]","typeLabel":"any"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.13.withType.types","typeLabel":"any[]"},"traits":{"type":"array","items":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.13.withType.traits.items.[INDEX]","typeLabel":"string"},"description":"Traits to select by, instead of — or alongside — naming types.\n\n A trait is a property a type has, so `is_monitorable` means \"everything a\n monitor can run on\" without listing the forty-odd types that satisfy it\n today. The list it stands for is worked out each time the selection runs,\n so a selection saved this way covers a new platform's tables as soon as we\n support them, and you never have to revisit it.\n\n Entities carrying any of the traits match. When `types` is also set the two\n narrow each other: the entity must be one of the named types AND carry one\n of the traits.\n\n Accepted values, and what each one means, come from the selection-query\n grammar the API publishes (`describe_resolver_ql`, or the query editor's\n reference). A name that is not in it selects nothing rather than being\n ignored, so a typo narrows the result to empty instead of widening it —\n check a trait against the grammar before storing a selection. In a query\n written as text this is `with_type(traits=\"is_monitorable\")`, and there a\n name outside the grammar is rejected outright.\n\n A trait may also be a type alias, spelled `alias:\u003cname>` where `\u003cname>` is\n one of the aliases the grammar lists among the entity types, e.g.\n `alias:table`. It selects every type the alias stands for, worked out each\n time the selection runs like any other trait. A selection written as\n `with_type(\"table\")` is stored this way and reads back with\n `traits: [\"alias:table\"]`; writing that back keeps the same selection. In a\n query written as text an alias is always `with_type(\"table\")`, never\n `traits=\"alias:table\"`.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.13.withType.traits","typeLabel":"string[]"}},"title":"with_type","additionalProperties":false,"description":"Resolves to all the entities that have the provided type, or carry one of the\n provided traits.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.13.withType","typeLabel":"with_type · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.13","typeLabel":"with_type · object"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX]","typeLabel":"entity_ids · object | identifier_list · object | identities_of · object | in_data_platform · object | in_dataproduct · object | in_domain · object | in_folder · object | query · object | unsupported · object | with_annotation · object | with_data_platform_type · object | with_default_visible_types · object | with_name_search · object | with_type · object"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts","typeLabel":"(entity_ids · object | identifier_list · object | identities_of · object | in_data_platform · object | in_dataproduct · object | in_domain · object | in_folder · object | query · object | unsupported · object | with_annotation · object | with_data_platform_type · object | with_default_visible_types · object | with_name_search · object | with_type · object)[]"},"operand":{"type":"string","title":"QueryOperand","enum":["QUERY_OPERAND_UNSPECIFIED","QUERY_OPERAND_AND","QUERY_OPERAND_OR","QUERY_OPERAND_EXCEPT","QUERY_OPERAND_UPSTREAM","QUERY_OPERAND_DOWNSTREAM"],"description":"Defaults to AND if not specified.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.operand","typeLabel":"enum\u003cstring>"}},"title":"Query","additionalProperties":false,"description":"General source: resolve the folder(s) of whatever assets this query matches\n (e.g. a name or type filter). Use when the assets can't be listed up front.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery","typeLabel":"Query · object"},"includeAllAncestors":{"type":"boolean","description":"When false (default): only each asset's immediate parent folder. When true:\n every ancestor folder up the hierarchy, so `InFolder` then also matches\n assets in those ancestor folders.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.includeAllAncestors","typeLabel":"boolean"}},"title":"FolderOf","additionalProperties":false,"description":"Resolve the folders to search from a set of assets, rather than naming them.\n Selects everything in the folder(s) that contain those assets.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf","typeLabel":"FolderOf · object"},"deep":{"oneOf":[{"type":"boolean","description":"When false or unset, matches only the direct members of the folder(s). When\n true, matches the entire recursive subtree (members of subfolders too).\n\n Exception: when only the legacy `path` source is set and `deep` is unset,\n it defaults to true (preserves the behaviour of queries authored before this\n flag existed). With `folders` or `folder_of`, unset means false (shallow).","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.deep.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"When false or unset, matches only the direct members of the folder(s). When\n true, matches the entire recursive subtree (members of subfolders too).\n\n Exception: when only the legacy `path` source is set and `deep` is unset,\n it defaults to true (preserves the behaviour of queries authored before this\n flag existed). With `folders` or `folder_of`, unset means false (shallow).","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.deep.oneOf.1","typeLabel":"null"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder.deep","typeLabel":"boolean | null"}},"title":"in_folder","additionalProperties":false,"description":"synq.queries.v1.InDataPlatform in_data_platform = 5;","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2.inFolder","typeLabel":"in_folder · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.2","typeLabel":"in_folder · object"},{"type":"object","title":"query","required":["query"],"properties":{"query":{"oneOf":[{"$circularRef":"eb47fa5a-82ed-44fd-8b72-4d20a1d798fe","title":"query","isRequired":true}],"isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.3.query","typeLabel":"any"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.3","typeLabel":"query · object"},{"type":"object","title":"unsupported","required":["unsupported"],"properties":{"unsupported":{"type":"object","properties":{"queryJson":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.4.unsupported.queryJson","typeLabel":"string"}},"title":"unsupported","additionalProperties":false,"description":"Collects all the parts of the query that are currently unsupported in translation.\n These represent an internal structure that are not yet completely available on the API.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.4.unsupported","typeLabel":"unsupported · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.4","typeLabel":"unsupported · object"},{"type":"object","title":"with_annotation","required":["withAnnotation"],"properties":{"withAnnotation":{"type":"object","properties":{"name":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.5.withAnnotation.name","typeLabel":"string"},"acceptedValue":{"oneOf":[{"type":"string","deprecated":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.5.withAnnotation.acceptedValue.oneOf.0","typeLabel":"string"},{"type":"null","deprecated":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.5.withAnnotation.acceptedValue.oneOf.1","typeLabel":"null"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.5.withAnnotation.acceptedValue","typeLabel":"string | null"},"acceptedValues":{"type":"array","items":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.5.withAnnotation.acceptedValues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.5.withAnnotation.acceptedValues","typeLabel":"string[]"}},"title":"with_annotation","additionalProperties":false,"description":"Resolves to all entities that contain the annotation with at least one of the provided accepted values.\n In case of no given accepted values, all entities that carry the given annotation are returned.\n The name and the values match case-insensitively.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.5.withAnnotation","typeLabel":"with_annotation · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.5","typeLabel":"with_annotation · object"},{"type":"object","title":"with_name_search","required":["withNameSearch"],"properties":{"withNameSearch":{"type":"object","properties":{"searchQuery":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.6.withNameSearch.searchQuery","typeLabel":"string"}},"title":"with_name_search","additionalProperties":false,"description":"Resolves to all entities matching the given name search.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.6.withNameSearch","typeLabel":"with_name_search · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.6","typeLabel":"with_name_search · object"},{"type":"object","title":"with_type","required":["withType"],"properties":{"withType":{"type":"object","properties":{"type":{"oneOf":[{"type":"object","title":"custom","required":["custom"],"deprecated":true,"properties":{"custom":{"type":"integer","title":"custom","format":"int32","description":"Custom types as defined through synq.entities.custom.v1.TypesService","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.7.withType.type.oneOf.0.custom","typeLabel":"integer\u003cint32>"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.7.withType.type.oneOf.0","typeLabel":"custom · object"},{"type":"object","title":"default","required":["default"],"deprecated":true,"properties":{"default":{"type":"string","title":"default","enum":["ENTITY_TYPE_UNSPECIFIED","ENTITY_TYPE_BQ_TABLE","ENTITY_TYPE_BQ_VIEW","ENTITY_TYPE_BQ_PROCEDURE","ENTITY_TYPE_BQ_FUNCTION","ENTITY_TYPE_LOOKER_LOOK","ENTITY_TYPE_LOOKER_EXPLORE","ENTITY_TYPE_LOOKER_VIEW","ENTITY_TYPE_LOOKER_DASHBOARD","ENTITY_TYPE_LOOKER_INSTANCE","ENTITY_TYPE_DBT_MODEL","ENTITY_TYPE_DBT_TEST","ENTITY_TYPE_DBT_SOURCE","ENTITY_TYPE_DBT_PROJECT","ENTITY_TYPE_DBT_METRIC","ENTITY_TYPE_DBT_SNAPSHOT","ENTITY_TYPE_DBT_SEED","ENTITY_TYPE_DBT_ANALYSIS","ENTITY_TYPE_DBT_EXPOSURE","ENTITY_TYPE_DBT_GROUP","ENTITY_TYPE_DBT_SEMANTIC_MODEL","ENTITY_TYPE_DBT_CLOUD_PROJECT","ENTITY_TYPE_DBT_CLOUD_JOB","ENTITY_TYPE_SNOWFLAKE_TABLE","ENTITY_TYPE_SNOWFLAKE_VIEW","ENTITY_TYPE_SNOWFLAKE_STREAM","ENTITY_TYPE_SNOWFLAKE_DYNAMIC_TABLE","ENTITY_TYPE_SNOWFLAKE_TASK","ENTITY_TYPE_SNOWFLAKE_EXTERNAL_TABLE","ENTITY_TYPE_SNOWFLAKE_MATERIALIZED_VIEW","ENTITY_TYPE_SNOWFLAKE_PROCEDURE","ENTITY_TYPE_SNOWFLAKE_FUNCTION","ENTITY_TYPE_SNOWFLAKE_SEMANTIC_VIEW","ENTITY_TYPE_SNOWFLAKE_STAGE","ENTITY_TYPE_SNOWFLAKE_STREAMLIT","ENTITY_TYPE_SNOWFLAKE_NOTEBOOK","ENTITY_TYPE_SNOWFLAKE_WAREHOUSE","ENTITY_TYPE_SNOWFLAKE_PIPE","ENTITY_TYPE_SNOWFLAKE_CORTEX_SEARCH_SERVICE","ENTITY_TYPE_REDSHIFT_TABLE","ENTITY_TYPE_REDSHIFT_VIEW","ENTITY_TYPE_REDSHIFT_PROCEDURE","ENTITY_TYPE_REDSHIFT_FUNCTION","ENTITY_TYPE_TABLEAU_EMBEDDED","ENTITY_TYPE_TABLEAU_PUBLISHED","ENTITY_TYPE_TABLEAU_CUSTOM_SQL","ENTITY_TYPE_TABLEAU_TABLE","ENTITY_TYPE_TABLEAU_SHEET","ENTITY_TYPE_TABLEAU_DASHBOARD","ENTITY_TYPE_TABLEAU_WORKBOOK","ENTITY_TYPE_TABLEAU_SITE","ENTITY_TYPE_AIRFLOW_DAG","ENTITY_TYPE_AIRFLOW_TASK","ENTITY_TYPE_CLICKHOUSE_TABLE","ENTITY_TYPE_CLICKHOUSE_VIEW","ENTITY_TYPE_ANOMALY_MONITOR","ENTITY_TYPE_ANOMALY_MONITOR_SEGMENT","ENTITY_TYPE_SQLTEST_TEST","ENTITY_TYPE_RECON_SUITE","ENTITY_TYPE_RECON_CASE","ENTITY_TYPE_LINEAGE_FOLD","ENTITY_TYPE_POSTGRES_TABLE","ENTITY_TYPE_POSTGRES_VIEW","ENTITY_TYPE_MYSQL_TABLE","ENTITY_TYPE_MYSQL_VIEW","ENTITY_TYPE_DATABRICKS_WAREHOUSE","ENTITY_TYPE_DATABRICKS_TABLE","ENTITY_TYPE_DATABRICKS_VIEW","ENTITY_TYPE_DATABRICKS_JOB","ENTITY_TYPE_DATABRICKS_JOB_TASK","ENTITY_TYPE_DATABRICKS_NOTEBOOK","ENTITY_TYPE_DATABRICKS_QUERY","ENTITY_TYPE_DATABRICKS_DASHBOARD","ENTITY_TYPE_DATABRICKS_METRIC_VIEW","ENTITY_TYPE_DATABRICKS_APP","ENTITY_TYPE_SQLMESH_PROJECT","ENTITY_TYPE_SQLMESH_SQL_MODEL","ENTITY_TYPE_SQLMESH_PYTHON_MODEL","ENTITY_TYPE_SQLMESH_EXTERNAL","ENTITY_TYPE_SQLMESH_SEED","ENTITY_TYPE_SQLMESH_AUDIT","ENTITY_TYPE_SQLMESH_UNIT_TEST","ENTITY_TYPE_SQLMESH_ENVIRONMENT","ENTITY_TYPE_SQLMESH_SNAPSHOT","ENTITY_TYPE_DUCKDB_TABLE","ENTITY_TYPE_DUCKDB_VIEW","ENTITY_TYPE_TRINO_TABLE","ENTITY_TYPE_TRINO_VIEW","ENTITY_TYPE_ATLAN_ASSET","ENTITY_TYPE_ATLAN_INTEGRATION","ENTITY_TYPE_COALESCE_PROJECT","ENTITY_TYPE_COALESCE_ENVIRONMENT","ENTITY_TYPE_COALESCE_NODE","ENTITY_TYPE_COALESCE_NODE_TEST","ENTITY_TYPE_COALESCE_JOB","ENTITY_TYPE_CASTORDOC_TABLE","ENTITY_TYPE_CASTORDOC_DASHBOARD","ENTITY_TYPE_CASTORDOC_VIEW","ENTITY_TYPE_CASTORDOC_TILE","ENTITY_TYPE_CASTORDOC_VIZ_MODEL","ENTITY_TYPE_POWERBI_REPORT","ENTITY_TYPE_POWERBI_TILE","ENTITY_TYPE_POWERBI_DATASET","ENTITY_TYPE_POWERBI_DASHBOARD","ENTITY_TYPE_POWERBI_TENANT","ENTITY_TYPE_THOUGHTSPOT_LIVEBOARD","ENTITY_TYPE_THOUGHTSPOT_WORKSHEET","ENTITY_TYPE_SIGMA_WORKBOOK","ENTITY_TYPE_SIGMA_DATA_MODEL","ENTITY_TYPE_SIGMA_ORGANIZATION","ENTITY_TYPE_DOMO_PAGE","ENTITY_TYPE_DOMO_DATASET","ENTITY_TYPE_MSSQL_TABLE","ENTITY_TYPE_MSSQL_VIEW","ENTITY_TYPE_MSSQL_PROCEDURE","ENTITY_TYPE_MSSQL_FUNCTION","ENTITY_TYPE_ORACLE_TABLE","ENTITY_TYPE_ORACLE_VIEW","ENTITY_TYPE_ORACLE_PROCEDURE","ENTITY_TYPE_ORACLE_FUNCTION","ENTITY_TYPE_ATHENA_TABLE","ENTITY_TYPE_ATHENA_VIEW","ENTITY_TYPE_FABRIC_TABLE","ENTITY_TYPE_FABRIC_VIEW","ENTITY_TYPE_FABRIC_PROCEDURE","ENTITY_TYPE_FABRIC_FUNCTION","ENTITY_TYPE_DB2_TABLE","ENTITY_TYPE_DB2_VIEW","ENTITY_TYPE_DB2_PROCEDURE","ENTITY_TYPE_DB2_FUNCTION","ENTITY_TYPE_LOOKER_STUDIO_CUSTOMER","ENTITY_TYPE_LOOKER_STUDIO_REPORT","ENTITY_TYPE_LOOKER_STUDIO_DATA_SOURCE","ENTITY_TYPE_CUSTOM_ENTITY_GENERIC","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MIN","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MAX"],"description":"Default Coalesce Quality types","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.7.withType.type.oneOf.1.default","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.7.withType.type.oneOf.1","typeLabel":"default · object"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.7.withType.type","typeLabel":"custom · object | default · object"},"types":{"type":"array","items":{"oneOf":[{"type":"object","title":"custom","required":["custom"],"properties":{"custom":{"type":"integer","title":"custom","format":"int32","description":"Custom types as defined through synq.entities.custom.v1.TypesService","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.7.withType.types.items.[INDEX].oneOf.0.custom","typeLabel":"integer\u003cint32>"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.7.withType.types.items.[INDEX].oneOf.0","typeLabel":"custom · object"},{"type":"object","title":"default","required":["default"],"properties":{"default":{"type":"string","title":"default","enum":["ENTITY_TYPE_UNSPECIFIED","ENTITY_TYPE_BQ_TABLE","ENTITY_TYPE_BQ_VIEW","ENTITY_TYPE_BQ_PROCEDURE","ENTITY_TYPE_BQ_FUNCTION","ENTITY_TYPE_LOOKER_LOOK","ENTITY_TYPE_LOOKER_EXPLORE","ENTITY_TYPE_LOOKER_VIEW","ENTITY_TYPE_LOOKER_DASHBOARD","ENTITY_TYPE_LOOKER_INSTANCE","ENTITY_TYPE_DBT_MODEL","ENTITY_TYPE_DBT_TEST","ENTITY_TYPE_DBT_SOURCE","ENTITY_TYPE_DBT_PROJECT","ENTITY_TYPE_DBT_METRIC","ENTITY_TYPE_DBT_SNAPSHOT","ENTITY_TYPE_DBT_SEED","ENTITY_TYPE_DBT_ANALYSIS","ENTITY_TYPE_DBT_EXPOSURE","ENTITY_TYPE_DBT_GROUP","ENTITY_TYPE_DBT_SEMANTIC_MODEL","ENTITY_TYPE_DBT_CLOUD_PROJECT","ENTITY_TYPE_DBT_CLOUD_JOB","ENTITY_TYPE_SNOWFLAKE_TABLE","ENTITY_TYPE_SNOWFLAKE_VIEW","ENTITY_TYPE_SNOWFLAKE_STREAM","ENTITY_TYPE_SNOWFLAKE_DYNAMIC_TABLE","ENTITY_TYPE_SNOWFLAKE_TASK","ENTITY_TYPE_SNOWFLAKE_EXTERNAL_TABLE","ENTITY_TYPE_SNOWFLAKE_MATERIALIZED_VIEW","ENTITY_TYPE_SNOWFLAKE_PROCEDURE","ENTITY_TYPE_SNOWFLAKE_FUNCTION","ENTITY_TYPE_SNOWFLAKE_SEMANTIC_VIEW","ENTITY_TYPE_SNOWFLAKE_STAGE","ENTITY_TYPE_SNOWFLAKE_STREAMLIT","ENTITY_TYPE_SNOWFLAKE_NOTEBOOK","ENTITY_TYPE_SNOWFLAKE_WAREHOUSE","ENTITY_TYPE_SNOWFLAKE_PIPE","ENTITY_TYPE_SNOWFLAKE_CORTEX_SEARCH_SERVICE","ENTITY_TYPE_REDSHIFT_TABLE","ENTITY_TYPE_REDSHIFT_VIEW","ENTITY_TYPE_REDSHIFT_PROCEDURE","ENTITY_TYPE_REDSHIFT_FUNCTION","ENTITY_TYPE_TABLEAU_EMBEDDED","ENTITY_TYPE_TABLEAU_PUBLISHED","ENTITY_TYPE_TABLEAU_CUSTOM_SQL","ENTITY_TYPE_TABLEAU_TABLE","ENTITY_TYPE_TABLEAU_SHEET","ENTITY_TYPE_TABLEAU_DASHBOARD","ENTITY_TYPE_TABLEAU_WORKBOOK","ENTITY_TYPE_TABLEAU_SITE","ENTITY_TYPE_AIRFLOW_DAG","ENTITY_TYPE_AIRFLOW_TASK","ENTITY_TYPE_CLICKHOUSE_TABLE","ENTITY_TYPE_CLICKHOUSE_VIEW","ENTITY_TYPE_ANOMALY_MONITOR","ENTITY_TYPE_ANOMALY_MONITOR_SEGMENT","ENTITY_TYPE_SQLTEST_TEST","ENTITY_TYPE_RECON_SUITE","ENTITY_TYPE_RECON_CASE","ENTITY_TYPE_LINEAGE_FOLD","ENTITY_TYPE_POSTGRES_TABLE","ENTITY_TYPE_POSTGRES_VIEW","ENTITY_TYPE_MYSQL_TABLE","ENTITY_TYPE_MYSQL_VIEW","ENTITY_TYPE_DATABRICKS_WAREHOUSE","ENTITY_TYPE_DATABRICKS_TABLE","ENTITY_TYPE_DATABRICKS_VIEW","ENTITY_TYPE_DATABRICKS_JOB","ENTITY_TYPE_DATABRICKS_JOB_TASK","ENTITY_TYPE_DATABRICKS_NOTEBOOK","ENTITY_TYPE_DATABRICKS_QUERY","ENTITY_TYPE_DATABRICKS_DASHBOARD","ENTITY_TYPE_DATABRICKS_METRIC_VIEW","ENTITY_TYPE_DATABRICKS_APP","ENTITY_TYPE_SQLMESH_PROJECT","ENTITY_TYPE_SQLMESH_SQL_MODEL","ENTITY_TYPE_SQLMESH_PYTHON_MODEL","ENTITY_TYPE_SQLMESH_EXTERNAL","ENTITY_TYPE_SQLMESH_SEED","ENTITY_TYPE_SQLMESH_AUDIT","ENTITY_TYPE_SQLMESH_UNIT_TEST","ENTITY_TYPE_SQLMESH_ENVIRONMENT","ENTITY_TYPE_SQLMESH_SNAPSHOT","ENTITY_TYPE_DUCKDB_TABLE","ENTITY_TYPE_DUCKDB_VIEW","ENTITY_TYPE_TRINO_TABLE","ENTITY_TYPE_TRINO_VIEW","ENTITY_TYPE_ATLAN_ASSET","ENTITY_TYPE_ATLAN_INTEGRATION","ENTITY_TYPE_COALESCE_PROJECT","ENTITY_TYPE_COALESCE_ENVIRONMENT","ENTITY_TYPE_COALESCE_NODE","ENTITY_TYPE_COALESCE_NODE_TEST","ENTITY_TYPE_COALESCE_JOB","ENTITY_TYPE_CASTORDOC_TABLE","ENTITY_TYPE_CASTORDOC_DASHBOARD","ENTITY_TYPE_CASTORDOC_VIEW","ENTITY_TYPE_CASTORDOC_TILE","ENTITY_TYPE_CASTORDOC_VIZ_MODEL","ENTITY_TYPE_POWERBI_REPORT","ENTITY_TYPE_POWERBI_TILE","ENTITY_TYPE_POWERBI_DATASET","ENTITY_TYPE_POWERBI_DASHBOARD","ENTITY_TYPE_POWERBI_TENANT","ENTITY_TYPE_THOUGHTSPOT_LIVEBOARD","ENTITY_TYPE_THOUGHTSPOT_WORKSHEET","ENTITY_TYPE_SIGMA_WORKBOOK","ENTITY_TYPE_SIGMA_DATA_MODEL","ENTITY_TYPE_SIGMA_ORGANIZATION","ENTITY_TYPE_DOMO_PAGE","ENTITY_TYPE_DOMO_DATASET","ENTITY_TYPE_MSSQL_TABLE","ENTITY_TYPE_MSSQL_VIEW","ENTITY_TYPE_MSSQL_PROCEDURE","ENTITY_TYPE_MSSQL_FUNCTION","ENTITY_TYPE_ORACLE_TABLE","ENTITY_TYPE_ORACLE_VIEW","ENTITY_TYPE_ORACLE_PROCEDURE","ENTITY_TYPE_ORACLE_FUNCTION","ENTITY_TYPE_ATHENA_TABLE","ENTITY_TYPE_ATHENA_VIEW","ENTITY_TYPE_FABRIC_TABLE","ENTITY_TYPE_FABRIC_VIEW","ENTITY_TYPE_FABRIC_PROCEDURE","ENTITY_TYPE_FABRIC_FUNCTION","ENTITY_TYPE_DB2_TABLE","ENTITY_TYPE_DB2_VIEW","ENTITY_TYPE_DB2_PROCEDURE","ENTITY_TYPE_DB2_FUNCTION","ENTITY_TYPE_LOOKER_STUDIO_CUSTOMER","ENTITY_TYPE_LOOKER_STUDIO_REPORT","ENTITY_TYPE_LOOKER_STUDIO_DATA_SOURCE","ENTITY_TYPE_CUSTOM_ENTITY_GENERIC","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MIN","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MAX"],"description":"Default Coalesce Quality types","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.7.withType.types.items.[INDEX].oneOf.1.default","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.7.withType.types.items.[INDEX].oneOf.1","typeLabel":"default · object"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.7.withType.types.items.[INDEX]","typeLabel":"custom · object | default · object"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.7.withType.types","typeLabel":"(custom · object | default · object)[]"},"traits":{"type":"array","items":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.7.withType.traits.items.[INDEX]","typeLabel":"string"},"description":"Traits to select by, instead of — or alongside — naming types.\n\n A trait is a property a type has, so `is_monitorable` means \"everything a\n monitor can run on\" without listing the forty-odd types that satisfy it\n today. The list it stands for is worked out each time the selection runs,\n so a selection saved this way covers a new platform's tables as soon as we\n support them, and you never have to revisit it.\n\n Entities carrying any of the traits match. When `types` is also set the two\n narrow each other: the entity must be one of the named types AND carry one\n of the traits.\n\n Accepted values, and what each one means, come from the selection-query\n grammar the API publishes (`describe_resolver_ql`, or the query editor's\n reference). A name that is not in it selects nothing rather than being\n ignored, so a typo narrows the result to empty instead of widening it —\n check a trait against the grammar before storing a selection. In a query\n written as text this is `with_type(traits=\"is_monitorable\")`, and there a\n name outside the grammar is rejected outright.\n\n A trait may also be a type alias, spelled `alias:\u003cname>` where `\u003cname>` is\n one of the aliases the grammar lists among the entity types, e.g.\n `alias:table`. It selects every type the alias stands for, worked out each\n time the selection runs like any other trait. A selection written as\n `with_type(\"table\")` is stored this way and reads back with\n `traits: [\"alias:table\"]`; writing that back keeps the same selection. In a\n query written as text an alias is always `with_type(\"table\")`, never\n `traits=\"alias:table\"`.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.7.withType.traits","typeLabel":"string[]"}},"title":"with_type","additionalProperties":false,"description":"Resolves to all the entities that have the provided type, or carry one of the\n provided traits.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.7.withType","typeLabel":"with_type · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX].oneOf.7","typeLabel":"with_type · object"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts.items.[INDEX]","typeLabel":"entity_ids · object | identifier_list · object | in_folder · object | query · object | unsupported · object | with_annotation · object | with_name_search · object | with_type · object"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.parts","typeLabel":"(entity_ids · object | identifier_list · object | in_folder · object | query · object | unsupported · object | with_annotation · object | with_name_search · object | with_type · object)[]"},"operand":{"type":"string","title":"QueryOperand","enum":["QUERY_OPERAND_UNSPECIFIED","QUERY_OPERAND_AND","QUERY_OPERAND_OR","QUERY_OPERAND_EXCEPT","QUERY_OPERAND_UPSTREAM","QUERY_OPERAND_DOWNSTREAM"],"description":"QueryOperand defines how multiple QueryParts within a Query are combined.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query.operand","typeLabel":"enum\u003cstring>"}},"title":"EntitySelectionQuery","additionalProperties":false,"description":"entity_selection_query.except_parts_select_something // each QUERY_OPERAND_EXCEPT part must select something\nentity_selection_query.except_requires_two_parts // QUERY_OPERAND_EXCEPT requires exactly 2 parts\n","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection.query","typeLabel":"EntitySelectionQuery · object"}},"title":"selection","additionalProperties":false,"isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1.selection","typeLabel":"selection · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self.oneOf.1","typeLabel":"selection · object"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.self","typeLabel":"all · object | selection · object"},"keepDeletedMonitors":{"type":"boolean","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.keepDeletedMonitors","typeLabel":"boolean"},"metricOptions":{"type":"array","items":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"not":{"enum":[0]},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.metricOptions.items.[INDEX].sensitivity","typeLabel":"enum\u003cstring>"},"metricId":{"type":"string","title":"MetricId","enum":["METRIC_ID_UNSPECIFIED","METRIC_ID_ROW_COUNT","METRIC_ID_DELAY","METRIC_ID_VOLUME_CHANGE_DELAY","METRIC_ID_NUM_ROWS","METRIC_ID_NUM_NULL","METRIC_ID_PCT_NULL","METRIC_ID_NUM_UNIQUE","METRIC_ID_PCT_UNIQUE","METRIC_ID_NUM_EMPTY","METRIC_ID_PCT_EMPTY","METRIC_ID_MEAN","METRIC_ID_MIN","METRIC_ID_MAX","METRIC_ID_MEDIAN","METRIC_ID_STDDEV"],"description":"Metric a monitor predicts. ROW_COUNT, DELAY and VOLUME_CHANGE_DELAY apply to table stats\n monitors and deployment rules; the remaining values are field statistics and apply to\n field stats columns only.","not":{"enum":[0]},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.metricOptions.items.[INDEX].metricId","typeLabel":"enum\u003cstring>"}},"title":"MetricOption","additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.metricOptions.items.[INDEX]","typeLabel":"MetricOption · object"},"description":"NEW. Returned sorted by metric_id — a client can rely on that ordering\n rather than re-sorting.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.metricOptions","typeLabel":"MetricOption · object[]"},"delayModel":{"type":"string","title":"DelayModel","enum":["DELAY_MODEL_UNSPECIFIED","DELAY_MODEL_STANDARD","DELAY_MODEL_WEEKLY_PATTERN"],"description":"How the delay and volume_change_delay metrics model the expected arrival time of new\n data. Unset leaves the stored value unchanged.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig.delayModel","typeLabel":"enum\u003cstring>"}},"title":"product_config","additionalProperties":false,"isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.productConfig","typeLabel":"product_config · object"},"id":{"type":"string","title":"id","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.id","typeLabel":"string"},"title":{"type":"string","title":"title","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.title","typeLabel":"string"},"monitorCount":{"type":"integer","title":"monitor_count","format":"int32","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.monitorCount","typeLabel":"integer\u003cint32>"},"source":{"type":"string","title":"source","enum":["SOURCE_APP","SOURCE_API"],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.source","typeLabel":"enum\u003cstring>"},"configId":{"oneOf":[{"type":"string","title":"config_id","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.configId.oneOf.0","typeLabel":"string"},{"type":"null","title":"config_id","uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2.configId","typeLabel":"string | null"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.2","typeLabel":"MonitorsDeploymentRuleView · object"},{"type":"object","title":"MonitorsDeploymentRuleView","required":["queryConfig"],"properties":{"queryConfig":{"type":"object","properties":{"query":{"type":"object","properties":{"parts":{"type":"array","items":{"oneOf":[{"type":"object","title":"entity_ids","required":["entityIds"],"properties":{"entityIds":{"type":"object","properties":{"entityIds":{"type":"array","items":{"type":"string","maxLength":1024,"minLength":1,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.0.entityIds.entityIds.items.[INDEX]","typeLabel":"string"},"description":"The entities to select. An id may not be blank.\n\n An empty list selects no entities, exactly as an empty `identifier_list`\n does. Be deliberate about it, because it is not the same as leaving the part\n out: a part that selects nothing still counts, so it empties an AND, adds\n nothing to an OR, and removes nothing from an EXCEPT. If what you mean is\n \"do not restrict on specific entities\", omit the part instead of sending it\n empty.\n\n Ids may be up to 1024 characters — the same limit as `Identifier.entity_id`,\n where you read them from, so any id the API returned is accepted here.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.0.entityIds.entityIds","typeLabel":"string[]"}},"title":"entity_ids","additionalProperties":false,"description":"Deploy monitors on specific entities, named by the ids the API returned\n for them. Read back as `identifier_list`, with each id on the identifier\n it names.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.0.entityIds","typeLabel":"entity_ids · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.0","typeLabel":"entity_ids · object"},{"type":"object","title":"identifier_list","required":["identifierList"],"properties":{"identifierList":{"type":"object","properties":{"identifiers":{"type":"array","items":{"oneOf":[{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["airflowDag"],"properties":{"airflowDag":{"type":"object","properties":{"integrationId":{"type":"string","description":"Coalesce Quality integration_id that identifies the Airflow instance","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.0.airflowDag.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.0.airflowDag.dagId","typeLabel":"string"}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.0.airflowDag","typeLabel":"airflow_dag · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.0.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.0","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["airflowTask"],"properties":{"airflowTask":{"type":"object","properties":{"integrationId":{"type":"string","description":"Coalesce Quality integration_id that identifies the Airflow instance","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.1.airflowTask.integrationId","typeLabel":"string"},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.1.airflowTask.dagId","typeLabel":"string"},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.1.airflowTask.taskId","typeLabel":"string"}},"title":"airflow_task","required":["integrationId","dagId","taskId"],"additionalProperties":false,"description":"Airflow task identifier within a given DAG","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.1.airflowTask","typeLabel":"airflow_task · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.1.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.1","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["athenaTable"],"properties":{"athenaTable":{"type":"object","properties":{"instance":{"type":"string","description":"AWS account and region the Athena workgroup runs in, formatted as\n \"\u003caccount-id>.\u003cregion>\" (e.g. \"123456789012.eu-west-1\"). Auto-derived\n from sts:GetCallerIdentity at integration setup time.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.2.athenaTable.instance","typeLabel":"string"},"catalog":{"type":"string","description":"Glue Data Catalog name. Almost always \"AwsDataCatalog\" — the default\n catalog for Athena unless the customer registered a federated catalog.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.2.athenaTable.catalog","typeLabel":"string"},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.2.athenaTable.database","typeLabel":"string"},"table":{"type":"string","description":"Glue table or view name.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.2.athenaTable.table","typeLabel":"string"}},"title":"athena_table","required":["instance","catalog","database","table"],"additionalProperties":false,"description":"Amazon Athena (Glue) table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.2.athenaTable","typeLabel":"athena_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.2.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.2","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["bigqueryTable"],"properties":{"bigqueryTable":{"type":"object","properties":{"project":{"type":"string","description":"BigQuery project","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.3.bigqueryTable.project","typeLabel":"string"},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.3.bigqueryTable.dataset","typeLabel":"string"},"table":{"type":"string","description":"BigQuery table name","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.3.bigqueryTable.table","typeLabel":"string"}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.3.bigqueryTable","typeLabel":"bigquery_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.3.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.3","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["clickhouseTable"],"properties":{"clickhouseTable":{"type":"object","properties":{"host":{"type":"string","description":"Clickhouse hostname without port","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.4.clickhouseTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Clickhouse database","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.4.clickhouseTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Clickhouse table","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.4.clickhouseTable.table","typeLabel":"string"}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.4.clickhouseTable","typeLabel":"clickhouse_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.4.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.4","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["custom"],"properties":{"custom":{"type":"object","properties":{"id":{"type":"string","description":"Id that identifies the custom entity\n The Id should be unique within the custom entity Identifier.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.5.custom.id","typeLabel":"string"}},"title":"custom","required":["id"],"additionalProperties":false,"description":"Custom identifier to be used with all custom created entities","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.5.custom","typeLabel":"custom · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.5.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.5","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["databricksTable"],"properties":{"databricksTable":{"type":"object","properties":{"workspace":{"type":"string","description":"URL of Databricks workspace","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.6.databricksTable.workspace","typeLabel":"string"},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.6.databricksTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Databricks schema","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.6.databricksTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Databricks table or view","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.6.databricksTable.table","typeLabel":"string"}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.6.databricksTable","typeLabel":"databricks_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.6.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.6","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["dataproduct"],"properties":{"dataproduct":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Dataproduct id that identifies the Dataproduct","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.7.dataproduct.id","typeLabel":"string\u003cuuid>"}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.7.dataproduct","typeLabel":"dataproduct · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.7.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.7","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["db2Table"],"properties":{"db2Table":{"type":"object","properties":{"host":{"type":"string","description":"Host name of the Db2 server","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.8.db2Table.host","typeLabel":"string"},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.8.db2Table.database","typeLabel":"string"},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.8.db2Table.schema","typeLabel":"string"},"table":{"type":"string","description":"Db2 table or view","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.8.db2Table.table","typeLabel":"string"}},"title":"db2_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"IBM Db2 LUW table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.8.db2Table","typeLabel":"db2_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.8.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.8","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["dbtCloudNode"],"properties":{"dbtCloudNode":{"type":"object","properties":{"projectId":{"type":"string","description":"Your dbt Cloud project id","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.9.dbtCloudNode.projectId","typeLabel":"string"},"nodeId":{"type":"string","description":"Dbt node_id that identifies one of dbt DAG nodes (model, test, etc)","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.9.dbtCloudNode.nodeId","typeLabel":"string"},"accountId":{"type":"string","description":"Your dbt Cloud account id","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.9.dbtCloudNode.accountId","typeLabel":"string"}},"title":"dbt_cloud_node","required":["projectId","nodeId"],"additionalProperties":false,"description":"Dbt node that identifies one of dbt DAG nodes (model, test, etc) in dbt Cloud project","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.9.dbtCloudNode","typeLabel":"dbt_cloud_node · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.9.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.9","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["dbtCoreNode"],"properties":{"dbtCoreNode":{"type":"object","properties":{"integrationId":{"type":"string","description":"Opaque identifier of the dbt Core project. Usually the Coalesce Quality\n integration id (a UUID), but may also be the dbt project name from\n manifest.json when the integration is configured to identify assets by\n project name. Treat it as an opaque string, not a UUID.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.10.dbtCoreNode.integrationId","typeLabel":"string"},"nodeId":{"type":"string","description":"Dbt node_id that identifies one of dbt DAG nodes (model, test, etc)","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.10.dbtCoreNode.nodeId","typeLabel":"string"}},"title":"dbt_core_node","required":["integrationId","nodeId"],"additionalProperties":false,"description":"Dbt node that identifies one of dbt DAG nodes (model, test, etc) in dbt Core project","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.10.dbtCoreNode","typeLabel":"dbt_core_node · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.10.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.10","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["fabricTable"],"properties":{"fabricTable":{"type":"object","properties":{"instance":{"type":"string","description":"Workspace SQL analytics endpoint host, e.g.\n \"\u003cworkspace-id>.datawarehouse.fabric.microsoft.com\".","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11.fabricTable.instance","typeLabel":"string"},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11.fabricTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Schema within the database.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11.fabricTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Table or view name.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11.fabricTable.table","typeLabel":"string"},"workspaceId":{"type":"string","description":"Fabric workspace GUID, decoded from the endpoint host in `instance`.\n Optional and informational: the table is addressed by\n instance/database/schema/table, so leave it empty if you don't have it —\n it does not affect how the identifier resolves.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11.fabricTable.workspaceId","typeLabel":"string"},"tenantId":{"type":"string","description":"Entra (Azure AD) tenant GUID, decoded from the endpoint host in `instance`.\n Optional and informational, like workspace_id.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11.fabricTable.tenantId","typeLabel":"string"}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11.fabricTable","typeLabel":"fabric_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.11","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["monitor"],"properties":{"monitor":{"type":"object","properties":{"monitoredId":{"$circularRef":"9aa48dcc-3dc1-40e9-bf59-0a21c9499772","description":"Identifier of the monitored entity","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor.monitoredId","typeLabel":"any"},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor.monitorId","typeLabel":"string"},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor.segment.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional monitor segmentation identifier","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor.segment.oneOf.1","typeLabel":"null"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor.segment","typeLabel":"string | null"},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor.integrationId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor.integrationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor.integrationId","typeLabel":"string | null"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.monitor","typeLabel":"monitor · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.12","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["mssqlTable"],"properties":{"mssqlTable":{"type":"object","properties":{"host":{"type":"string","description":"Hostname of the SQL Server instance","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.13.mssqlTable.host","typeLabel":"string"},"database":{"type":"string","description":"SQL Server database","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.13.mssqlTable.database","typeLabel":"string"},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.13.mssqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"SQL Server table or view","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.13.mssqlTable.table","typeLabel":"string"}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.13.mssqlTable","typeLabel":"mssql_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.13.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.13","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["mysqlTable"],"properties":{"mysqlTable":{"type":"object","properties":{"host":{"type":"string","description":"Mysql hostname without port","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.14.mysqlTable.host","typeLabel":"string"},"schema":{"type":"string","description":"Mysql database","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.14.mysqlTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Mysql table","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.14.mysqlTable.table","typeLabel":"string"}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.14.mysqlTable","typeLabel":"mysql_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.14.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.14","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["oracleTable"],"properties":{"oracleTable":{"type":"object","properties":{"host":{"type":"string","description":"Hostname of the Oracle instance","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.15.oracleTable.host","typeLabel":"string"},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.15.oracleTable.serviceName","typeLabel":"string"},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.15.oracleTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Oracle table or view","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.15.oracleTable.table","typeLabel":"string"}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.15.oracleTable","typeLabel":"oracle_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.15.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.15","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["postgresTable"],"properties":{"postgresTable":{"type":"object","properties":{"host":{"type":"string","description":"Postgres hostname without port","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.16.postgresTable.host","typeLabel":"string"},"database":{"type":"string","description":"Postgres database","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.16.postgresTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Postgres schema","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.16.postgresTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Postgres table","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.16.postgresTable.table","typeLabel":"string"}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.16.postgresTable","typeLabel":"postgres_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.16.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.16","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["redshiftTable"],"properties":{"redshiftTable":{"type":"object","properties":{"database":{"type":"string","description":"Redshift database","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.17.redshiftTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Redshift schema","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.17.redshiftTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Redshift table","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.17.redshiftTable.table","typeLabel":"string"},"cluster":{"type":"string","description":"Required. Host of the Redshift endpoint, as in the connection, for example\n `my-cluster.abc123.eu-west-1.redshift.amazonaws.com`. A port suffix is\n accepted and ignored. The bare cluster name (`my-cluster`) is not enough,\n because one name can exist in more than one account or region. A response\n returns the host in its normalized form, which is also accepted on input.\n\n The rule below also refuses an empty value. It is not `required`, because\n `required` stops the other rules and its error does not say what to send.\nredshift_table.cluster.full_host // cluster must be the full host of the Redshift endpoint from the connection, for example my-cluster.abc123.eu-west-1.redshift.amazonaws.com\n","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.17.redshiftTable.cluster","typeLabel":"string"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.17.redshiftTable","typeLabel":"redshift_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.17.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.17","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["savedView"],"properties":{"savedView":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Saved view id (client-supplied UUID) that identifies the saved view","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.18.savedView.id","typeLabel":"string\u003cuuid>"}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.18.savedView","typeLabel":"saved_view · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.18.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.18","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["snowflakeTable"],"properties":{"snowflakeTable":{"type":"object","properties":{"account":{"type":"string","description":"Snowflake account","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.19.snowflakeTable.account","typeLabel":"string"},"database":{"type":"string","description":"Snowflake database","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.19.snowflakeTable.database","typeLabel":"string"},"schema":{"type":"string","description":"Snowflake schema","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.19.snowflakeTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Snowflake table","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.19.snowflakeTable.table","typeLabel":"string"}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.19.snowflakeTable","typeLabel":"snowflake_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.19.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.19","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["sqlMeshAudit"],"properties":{"sqlMeshAudit":{"type":"object","properties":{"integrationId":{"type":"string","format":"uuid","description":"Coalesce Quality integration_id that identifies the dbt Core project","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.20.sqlMeshAudit.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.20.sqlMeshAudit.fqn","typeLabel":"string"},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.20.sqlMeshAudit.auditId","typeLabel":"string"}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.20.sqlMeshAudit","typeLabel":"sql_mesh_audit · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.20.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.20","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["sqlMeshModel"],"properties":{"sqlMeshModel":{"type":"object","properties":{"integrationId":{"type":"string","format":"uuid","description":"Coalesce Quality integration_id that identifies the dbt Core project","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.21.sqlMeshModel.integrationId","typeLabel":"string\u003cuuid>"},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.21.sqlMeshModel.fqn","typeLabel":"string"}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.21.sqlMeshModel","typeLabel":"sql_mesh_model · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.21.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.21","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["synqPath"],"properties":{"synqPath":{"type":"object","properties":{"path":{"type":"string","description":"Coalesce Quality path that identifies the Coalesce Quality entity, needs to be one of supported paths","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.22.synqPath.path","typeLabel":"string"}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.22.synqPath","typeLabel":"synq_path · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.22.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.22","typeLabel":"Identifier · object"},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["trinoTable"],"properties":{"trinoTable":{"type":"object","properties":{"host":{"type":"string","description":"Hostname of the Trino instance","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.23.trinoTable.host","typeLabel":"string"},"catalog":{"type":"string","description":"Trino catalog","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.23.trinoTable.catalog","typeLabel":"string"},"schema":{"type":"string","description":"Trino schema","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.23.trinoTable.schema","typeLabel":"string"},"table":{"type":"string","description":"Trino table or view","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.23.trinoTable.table","typeLabel":"string"}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.23.trinoTable","typeLabel":"trino_table · object"},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.23.entityId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX].oneOf.23","typeLabel":"Identifier · object"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX]","typeLabel":"Identifier · object"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList.identifiers","typeLabel":"Identifier · object[]"}},"title":"identifier_list","additionalProperties":false,"description":"Resolves to entities matching any of the given identifiers.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1.identifierList","typeLabel":"identifier_list · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.1","typeLabel":"identifier_list · object"},{"type":"object","title":"in_folder","required":["inFolder"],"properties":{"inFolder":{"type":"object","properties":{"path":{"type":"array","items":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.path.items.[INDEX]","typeLabel":"string"},"description":"Opaque folder identifiers (a folder's own entity id). `folders` is the\n structured, human-authorable alternative. When `path` is the only source\n set and `deep` is unset, `deep` defaults to true for back-compat with\n queries authored before `deep` existed.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.path","typeLabel":"string[]"},"folders":{"type":"array","items":{"type":"object","properties":{"rootEntityId":{"type":"string","description":"Opaque id of the entity the folder hierarchy hangs under — an integration\n root or container (for example a warehouse instance, a database, or a\n transformation project). Take it verbatim from `FolderRef.root_entity_id`\n of a folder you already read, or from an entity id returned elsewhere.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folders.items.[INDEX].rootEntityId","typeLabel":"string"},"folders":{"type":"array","items":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folders.items.[INDEX].folders.items.[INDEX]","typeLabel":"string"},"description":"Ordered folder names from the root down to this folder (root first, leaf\n last), for example [\"staging\", \"sales\"]. Empty means the ref points at the\n root entity itself. Folder names are kept as separate segments (not joined\n with \"/\") because some platforms allow \"/\" inside a single folder name.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folders.items.[INDEX].folders","typeLabel":"string[]"}},"title":"FolderRef","additionalProperties":false,"description":"FolderRef is the human-friendly, structured address of a folder: the entity it\n hangs under (`root_entity_id`) plus the ordered folder names from that root\n down to the folder (`folders`).\n\n It is the stable way to name a folder across responses. Prefer it over the\n opaque folder entity id when you want to log, display, or reconstruct a\n location — the segments are the same names a user sees in the catalog, and\n they survive changes to the underlying id encoding.\n\n A `FolderRef` with an empty `folders` list names the root entity itself (a\n top-level integration or container the hierarchy hangs from).\n\n This type lives in `synq.entities.v1` (rather than a folder-specific package)\n so it can be shared by both the folders navigation API and the query API\n without an import cycle.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folders.items.[INDEX]","typeLabel":"FolderRef · object"},"description":"Structured, human-authorable folder addresses (root entity + folder-name\n segments). Take a `FolderRef` verbatim from a folder returned by the folders\n navigation API, or build one from names you can see in the catalog.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folders","typeLabel":"FolderRef · object[]"},"folderOf":{"type":"object","properties":{"entityIds":{"type":"array","items":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.entityIds.items.[INDEX]","typeLabel":"string"},"description":"Simplified source: the assets named directly by opaque entity id. Use this\n for the common \"same folder as these specific assets\" case; equivalent to an\n input_query that lists the same ids.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.entityIds","typeLabel":"string[]"},"inputQuery":{"type":"object","properties":{"parts":{"type":"array","items":{"oneOf":[{"type":"object","title":"entity_ids","required":["entityIds"],"properties":{"entityIds":{"type":"object","properties":{"entityIds":{"type":"array","items":{"type":"string","maxLength":1024,"minLength":1,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.0.entityIds.entityIds.items.[INDEX]","typeLabel":"string"},"description":"The entities to select. An id may not be blank.\n\n An empty list selects no entities, exactly as an empty `identifier_list`\n does. Be deliberate about it, because it is not the same as leaving the part\n out: a part that selects nothing still counts, so it empties an AND, adds\n nothing to an OR, and removes nothing from an EXCEPT. If what you mean is\n \"do not restrict on specific entities\", omit the part instead of sending it\n empty.\n\n Ids may be up to 1024 characters — the same limit as `Identifier.entity_id`,\n where you read them from, so any id the API returned is accepted here.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.0.entityIds.entityIds","typeLabel":"string[]"}},"title":"entity_ids","additionalProperties":false,"description":"Pin specific entities by the ids the API returned for them. Read back as\n `identifier_list`, with each id on the identifier it names.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.0.entityIds","typeLabel":"entity_ids · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.0","typeLabel":"entity_ids · object"},{"type":"object","title":"identifier_list","required":["identifierList"],"properties":{"identifierList":{"type":"object","properties":{"identifiers":{"type":"array","items":{"type":"any","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.1.identifierList.identifiers.items.[INDEX]","typeLabel":"any"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.1.identifierList.identifiers","typeLabel":"any[]"}},"title":"identifier_list","additionalProperties":false,"description":"Resolves to entities matching any of the given identifiers.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.1.identifierList","typeLabel":"identifier_list · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.1","typeLabel":"identifier_list · object"},{"type":"object","title":"identities_of","required":["identitiesOf"],"properties":{"identitiesOf":{"type":"object","properties":{"inputQuery":{"$circularRef":"5b88d704-2a2e-4c1a-837b-99543d863e65","description":"The assets whose identities to resolve. Required.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.2.identitiesOf.inputQuery","typeLabel":"any"},"limitToTypes":{"type":"array","items":{"type":"any","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.2.identitiesOf.limitToTypes.items.[INDEX]","typeLabel":"any"},"description":"Restrict the result to these types. When empty, only the other members of\n each identity group are returned. When set, an input asset that already has\n one of these types is returned as well.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.2.identitiesOf.limitToTypes","typeLabel":"any[]"}},"title":"identities_of","required":["inputQuery"],"additionalProperties":false,"description":"Resolves to the identities of whatever the inner query matches.\n\n The same real-world table is often described by several assets — a\n transformation model and the warehouse table it materialises into are one\n asset with several representations. Those representations form an identity\n group. IdentitiesOf takes the assets matched by `input_query` and returns\n their identity groups, so a selection made in one platform's terms also\n covers the equivalent assets in every other platform.\n\n The typical use is subtraction: \"this warehouse database, except whatever my\n transformation tool already owns\" is an EXCEPT whose removal clause is an\n IdentitiesOf over the transformation models. Without it the two selections\n overlap on every materialised table.\nidentities_of.input_query_selects_something // identities_of requires an input_query with at least one part\n","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.2.identitiesOf","typeLabel":"identities_of · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.2","typeLabel":"identities_of · object"},{"type":"object","title":"in_data_platform","required":["inDataPlatform"],"properties":{"inDataPlatform":{"type":"object","properties":{"identifier":{"type":"any","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.3.inDataPlatform.identifier","typeLabel":"any"}},"title":"in_data_platform","additionalProperties":false,"description":"Resolves to all entities that belong to the given data platform.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.3.inDataPlatform","typeLabel":"in_data_platform · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.3","typeLabel":"in_data_platform · object"},{"type":"object","title":"in_dataproduct","required":["inDataproduct"],"properties":{"inDataproduct":{"type":"object","properties":{"identifier":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Dataproduct id that identifies the Dataproduct","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.4.inDataproduct.identifier.id","typeLabel":"string\u003cuuid>"}},"title":"DataproductIdentifier","required":["id"],"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.4.inDataproduct.identifier","typeLabel":"DataproductIdentifier · object"}},"title":"in_dataproduct","additionalProperties":false,"description":"Resolves to all the assets that belong to the given data product.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.4.inDataproduct","typeLabel":"in_dataproduct · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.4","typeLabel":"in_dataproduct · object"},{"type":"object","title":"in_domain","required":["inDomain"],"properties":{"inDomain":{"type":"object","properties":{"domainId":{"type":"string","format":"uuid","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.5.inDomain.domainId","typeLabel":"string\u003cuuid>"}},"title":"in_domain","additionalProperties":false,"description":"Resolves to all entities in the given data domain.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.5.inDomain","typeLabel":"in_domain · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.5","typeLabel":"in_domain · object"},{"type":"object","title":"in_folder","required":["inFolder"],"properties":{"inFolder":{"oneOf":[{"$circularRef":"c79c7116-4afc-4517-9fe8-67fe693cd4e1","title":"in_folder","isRequired":true}],"isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.6.inFolder","typeLabel":"any"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.6","typeLabel":"in_folder · object"},{"type":"object","title":"query","required":["query"],"properties":{"query":{"$circularRef":"5b88d704-2a2e-4c1a-837b-99543d863e65","title":"query","description":"Nested sub-query, enabling recursive composition of filters and operands.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.7.query","typeLabel":"any"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.7","typeLabel":"query · object"},{"type":"object","title":"unsupported","required":["unsupported"],"properties":{"unsupported":{"type":"object","properties":{"queryJson":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.8.unsupported.queryJson","typeLabel":"string"}},"title":"unsupported","additionalProperties":false,"description":"Read-only. Represents internal query types that cannot be expressed in the public API.\n Do not construct these directly — they are returned when translating from internal queries.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.8.unsupported","typeLabel":"unsupported · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.8","typeLabel":"unsupported · object"},{"type":"object","title":"with_annotation","required":["withAnnotation"],"properties":{"withAnnotation":{"type":"object","properties":{"name":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.9.withAnnotation.name","typeLabel":"string"},"acceptedValue":{"oneOf":[{"type":"string","deprecated":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.9.withAnnotation.acceptedValue.oneOf.0","typeLabel":"string"},{"type":"null","deprecated":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.9.withAnnotation.acceptedValue.oneOf.1","typeLabel":"null"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.9.withAnnotation.acceptedValue","typeLabel":"string | null"},"acceptedValues":{"type":"array","items":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.9.withAnnotation.acceptedValues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.9.withAnnotation.acceptedValues","typeLabel":"string[]"}},"title":"with_annotation","additionalProperties":false,"description":"Resolves to all entities that contain the annotation with at least one of the provided accepted values.\n In case of no given accepted values, all entities that carry the given annotation are returned.\n The name and the values match case-insensitively.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.9.withAnnotation","typeLabel":"with_annotation · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.9","typeLabel":"with_annotation · object"},{"type":"object","title":"with_data_platform_type","required":["withDataPlatformType"],"properties":{"withDataPlatformType":{"type":"object","properties":{"types":{"type":"array","items":{"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"],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.10.withDataPlatformType.types.items.[INDEX]","typeLabel":"enum\u003cstring>"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.10.withDataPlatformType.types","typeLabel":"enum\u003cstring>[]"}},"title":"with_data_platform_type","additionalProperties":false,"isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.10.withDataPlatformType","typeLabel":"with_data_platform_type · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.10","typeLabel":"with_data_platform_type · object"},{"type":"object","title":"with_default_visible_types","required":["withDefaultVisibleTypes"],"properties":{"withDefaultVisibleTypes":{"type":"object","title":"with_default_visible_types","additionalProperties":false,"description":"Resolves to every asset of a type the catalog shows by default — the\n \"everything\" starting set.\n\n Use it as the base of a subtraction, e.g. an EXCEPT query whose first part is\n WithDefaultVisibleTypes and whose second part is what to leave out. On its own\n it selects the whole catalog, so it is rarely useful as the only part of a\n query.\n\n \"Default visible\" excludes the supporting asset types the catalog hides unless\n asked for (columns, tests, and similar), so this is not literally every entity.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.11.withDefaultVisibleTypes","typeLabel":"with_default_visible_types · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.11","typeLabel":"with_default_visible_types · object"},{"type":"object","title":"with_name_search","required":["withNameSearch"],"properties":{"withNameSearch":{"type":"object","properties":{"searchQuery":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.12.withNameSearch.searchQuery","typeLabel":"string"}},"title":"with_name_search","additionalProperties":false,"description":"Resolves to all entities matching the given name search.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.12.withNameSearch","typeLabel":"with_name_search · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.12","typeLabel":"with_name_search · object"},{"type":"object","title":"with_type","required":["withType"],"properties":{"withType":{"type":"object","properties":{"type":{"type":"any","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.13.withType.type","typeLabel":"any"},"types":{"type":"array","items":{"type":"any","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.13.withType.types.items.[INDEX]","typeLabel":"any"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.13.withType.types","typeLabel":"any[]"},"traits":{"type":"array","items":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.13.withType.traits.items.[INDEX]","typeLabel":"string"},"description":"Traits to select by, instead of — or alongside — naming types.\n\n A trait is a property a type has, so `is_monitorable` means \"everything a\n monitor can run on\" without listing the forty-odd types that satisfy it\n today. The list it stands for is worked out each time the selection runs,\n so a selection saved this way covers a new platform's tables as soon as we\n support them, and you never have to revisit it.\n\n Entities carrying any of the traits match. When `types` is also set the two\n narrow each other: the entity must be one of the named types AND carry one\n of the traits.\n\n Accepted values, and what each one means, come from the selection-query\n grammar the API publishes (`describe_resolver_ql`, or the query editor's\n reference). A name that is not in it selects nothing rather than being\n ignored, so a typo narrows the result to empty instead of widening it —\n check a trait against the grammar before storing a selection. In a query\n written as text this is `with_type(traits=\"is_monitorable\")`, and there a\n name outside the grammar is rejected outright.\n\n A trait may also be a type alias, spelled `alias:\u003cname>` where `\u003cname>` is\n one of the aliases the grammar lists among the entity types, e.g.\n `alias:table`. It selects every type the alias stands for, worked out each\n time the selection runs like any other trait. A selection written as\n `with_type(\"table\")` is stored this way and reads back with\n `traits: [\"alias:table\"]`; writing that back keeps the same selection. In a\n query written as text an alias is always `with_type(\"table\")`, never\n `traits=\"alias:table\"`.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.13.withType.traits","typeLabel":"string[]"}},"title":"with_type","additionalProperties":false,"description":"Resolves to all the entities that have the provided type, or carry one of the\n provided traits.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.13.withType","typeLabel":"with_type · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX].oneOf.13","typeLabel":"with_type · object"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts.items.[INDEX]","typeLabel":"entity_ids · object | identifier_list · object | identities_of · object | in_data_platform · object | in_dataproduct · object | in_domain · object | in_folder · object | query · object | unsupported · object | with_annotation · object | with_data_platform_type · object | with_default_visible_types · object | with_name_search · object | with_type · object"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.parts","typeLabel":"(entity_ids · object | identifier_list · object | identities_of · object | in_data_platform · object | in_dataproduct · object | in_domain · object | in_folder · object | query · object | unsupported · object | with_annotation · object | with_data_platform_type · object | with_default_visible_types · object | with_name_search · object | with_type · object)[]"},"operand":{"type":"string","title":"QueryOperand","enum":["QUERY_OPERAND_UNSPECIFIED","QUERY_OPERAND_AND","QUERY_OPERAND_OR","QUERY_OPERAND_EXCEPT","QUERY_OPERAND_UPSTREAM","QUERY_OPERAND_DOWNSTREAM"],"description":"Defaults to AND if not specified.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery.operand","typeLabel":"enum\u003cstring>"}},"title":"Query","additionalProperties":false,"description":"General source: resolve the folder(s) of whatever assets this query matches\n (e.g. a name or type filter). Use when the assets can't be listed up front.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.inputQuery","typeLabel":"Query · object"},"includeAllAncestors":{"type":"boolean","description":"When false (default): only each asset's immediate parent folder. When true:\n every ancestor folder up the hierarchy, so `InFolder` then also matches\n assets in those ancestor folders.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf.includeAllAncestors","typeLabel":"boolean"}},"title":"FolderOf","additionalProperties":false,"description":"Resolve the folders to search from a set of assets, rather than naming them.\n Selects everything in the folder(s) that contain those assets.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.folderOf","typeLabel":"FolderOf · object"},"deep":{"oneOf":[{"type":"boolean","description":"When false or unset, matches only the direct members of the folder(s). When\n true, matches the entire recursive subtree (members of subfolders too).\n\n Exception: when only the legacy `path` source is set and `deep` is unset,\n it defaults to true (preserves the behaviour of queries authored before this\n flag existed). With `folders` or `folder_of`, unset means false (shallow).","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.deep.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"When false or unset, matches only the direct members of the folder(s). When\n true, matches the entire recursive subtree (members of subfolders too).\n\n Exception: when only the legacy `path` source is set and `deep` is unset,\n it defaults to true (preserves the behaviour of queries authored before this\n flag existed). With `folders` or `folder_of`, unset means false (shallow).","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.deep.oneOf.1","typeLabel":"null"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder.deep","typeLabel":"boolean | null"}},"title":"in_folder","additionalProperties":false,"description":"synq.queries.v1.InDataPlatform in_data_platform = 5;","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2.inFolder","typeLabel":"in_folder · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.2","typeLabel":"in_folder · object"},{"type":"object","title":"query","required":["query"],"properties":{"query":{"oneOf":[{"$circularRef":"eb47fa5a-82ed-44fd-8b72-4d20a1d798fe","title":"query","isRequired":true}],"isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.3.query","typeLabel":"any"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.3","typeLabel":"query · object"},{"type":"object","title":"unsupported","required":["unsupported"],"properties":{"unsupported":{"type":"object","properties":{"queryJson":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.4.unsupported.queryJson","typeLabel":"string"}},"title":"unsupported","additionalProperties":false,"description":"Collects all the parts of the query that are currently unsupported in translation.\n These represent an internal structure that are not yet completely available on the API.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.4.unsupported","typeLabel":"unsupported · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.4","typeLabel":"unsupported · object"},{"type":"object","title":"with_annotation","required":["withAnnotation"],"properties":{"withAnnotation":{"type":"object","properties":{"name":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.5.withAnnotation.name","typeLabel":"string"},"acceptedValue":{"oneOf":[{"type":"string","deprecated":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.5.withAnnotation.acceptedValue.oneOf.0","typeLabel":"string"},{"type":"null","deprecated":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.5.withAnnotation.acceptedValue.oneOf.1","typeLabel":"null"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.5.withAnnotation.acceptedValue","typeLabel":"string | null"},"acceptedValues":{"type":"array","items":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.5.withAnnotation.acceptedValues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.5.withAnnotation.acceptedValues","typeLabel":"string[]"}},"title":"with_annotation","additionalProperties":false,"description":"Resolves to all entities that contain the annotation with at least one of the provided accepted values.\n In case of no given accepted values, all entities that carry the given annotation are returned.\n The name and the values match case-insensitively.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.5.withAnnotation","typeLabel":"with_annotation · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.5","typeLabel":"with_annotation · object"},{"type":"object","title":"with_name_search","required":["withNameSearch"],"properties":{"withNameSearch":{"type":"object","properties":{"searchQuery":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.6.withNameSearch.searchQuery","typeLabel":"string"}},"title":"with_name_search","additionalProperties":false,"description":"Resolves to all entities matching the given name search.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.6.withNameSearch","typeLabel":"with_name_search · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.6","typeLabel":"with_name_search · object"},{"type":"object","title":"with_type","required":["withType"],"properties":{"withType":{"type":"object","properties":{"type":{"oneOf":[{"type":"object","title":"custom","required":["custom"],"deprecated":true,"properties":{"custom":{"type":"integer","title":"custom","format":"int32","description":"Custom types as defined through synq.entities.custom.v1.TypesService","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.7.withType.type.oneOf.0.custom","typeLabel":"integer\u003cint32>"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.7.withType.type.oneOf.0","typeLabel":"custom · object"},{"type":"object","title":"default","required":["default"],"deprecated":true,"properties":{"default":{"type":"string","title":"default","enum":["ENTITY_TYPE_UNSPECIFIED","ENTITY_TYPE_BQ_TABLE","ENTITY_TYPE_BQ_VIEW","ENTITY_TYPE_BQ_PROCEDURE","ENTITY_TYPE_BQ_FUNCTION","ENTITY_TYPE_LOOKER_LOOK","ENTITY_TYPE_LOOKER_EXPLORE","ENTITY_TYPE_LOOKER_VIEW","ENTITY_TYPE_LOOKER_DASHBOARD","ENTITY_TYPE_LOOKER_INSTANCE","ENTITY_TYPE_DBT_MODEL","ENTITY_TYPE_DBT_TEST","ENTITY_TYPE_DBT_SOURCE","ENTITY_TYPE_DBT_PROJECT","ENTITY_TYPE_DBT_METRIC","ENTITY_TYPE_DBT_SNAPSHOT","ENTITY_TYPE_DBT_SEED","ENTITY_TYPE_DBT_ANALYSIS","ENTITY_TYPE_DBT_EXPOSURE","ENTITY_TYPE_DBT_GROUP","ENTITY_TYPE_DBT_SEMANTIC_MODEL","ENTITY_TYPE_DBT_CLOUD_PROJECT","ENTITY_TYPE_DBT_CLOUD_JOB","ENTITY_TYPE_SNOWFLAKE_TABLE","ENTITY_TYPE_SNOWFLAKE_VIEW","ENTITY_TYPE_SNOWFLAKE_STREAM","ENTITY_TYPE_SNOWFLAKE_DYNAMIC_TABLE","ENTITY_TYPE_SNOWFLAKE_TASK","ENTITY_TYPE_SNOWFLAKE_EXTERNAL_TABLE","ENTITY_TYPE_SNOWFLAKE_MATERIALIZED_VIEW","ENTITY_TYPE_SNOWFLAKE_PROCEDURE","ENTITY_TYPE_SNOWFLAKE_FUNCTION","ENTITY_TYPE_SNOWFLAKE_SEMANTIC_VIEW","ENTITY_TYPE_SNOWFLAKE_STAGE","ENTITY_TYPE_SNOWFLAKE_STREAMLIT","ENTITY_TYPE_SNOWFLAKE_NOTEBOOK","ENTITY_TYPE_SNOWFLAKE_WAREHOUSE","ENTITY_TYPE_SNOWFLAKE_PIPE","ENTITY_TYPE_SNOWFLAKE_CORTEX_SEARCH_SERVICE","ENTITY_TYPE_REDSHIFT_TABLE","ENTITY_TYPE_REDSHIFT_VIEW","ENTITY_TYPE_REDSHIFT_PROCEDURE","ENTITY_TYPE_REDSHIFT_FUNCTION","ENTITY_TYPE_TABLEAU_EMBEDDED","ENTITY_TYPE_TABLEAU_PUBLISHED","ENTITY_TYPE_TABLEAU_CUSTOM_SQL","ENTITY_TYPE_TABLEAU_TABLE","ENTITY_TYPE_TABLEAU_SHEET","ENTITY_TYPE_TABLEAU_DASHBOARD","ENTITY_TYPE_TABLEAU_WORKBOOK","ENTITY_TYPE_TABLEAU_SITE","ENTITY_TYPE_AIRFLOW_DAG","ENTITY_TYPE_AIRFLOW_TASK","ENTITY_TYPE_CLICKHOUSE_TABLE","ENTITY_TYPE_CLICKHOUSE_VIEW","ENTITY_TYPE_ANOMALY_MONITOR","ENTITY_TYPE_ANOMALY_MONITOR_SEGMENT","ENTITY_TYPE_SQLTEST_TEST","ENTITY_TYPE_RECON_SUITE","ENTITY_TYPE_RECON_CASE","ENTITY_TYPE_LINEAGE_FOLD","ENTITY_TYPE_POSTGRES_TABLE","ENTITY_TYPE_POSTGRES_VIEW","ENTITY_TYPE_MYSQL_TABLE","ENTITY_TYPE_MYSQL_VIEW","ENTITY_TYPE_DATABRICKS_WAREHOUSE","ENTITY_TYPE_DATABRICKS_TABLE","ENTITY_TYPE_DATABRICKS_VIEW","ENTITY_TYPE_DATABRICKS_JOB","ENTITY_TYPE_DATABRICKS_JOB_TASK","ENTITY_TYPE_DATABRICKS_NOTEBOOK","ENTITY_TYPE_DATABRICKS_QUERY","ENTITY_TYPE_DATABRICKS_DASHBOARD","ENTITY_TYPE_DATABRICKS_METRIC_VIEW","ENTITY_TYPE_DATABRICKS_APP","ENTITY_TYPE_SQLMESH_PROJECT","ENTITY_TYPE_SQLMESH_SQL_MODEL","ENTITY_TYPE_SQLMESH_PYTHON_MODEL","ENTITY_TYPE_SQLMESH_EXTERNAL","ENTITY_TYPE_SQLMESH_SEED","ENTITY_TYPE_SQLMESH_AUDIT","ENTITY_TYPE_SQLMESH_UNIT_TEST","ENTITY_TYPE_SQLMESH_ENVIRONMENT","ENTITY_TYPE_SQLMESH_SNAPSHOT","ENTITY_TYPE_DUCKDB_TABLE","ENTITY_TYPE_DUCKDB_VIEW","ENTITY_TYPE_TRINO_TABLE","ENTITY_TYPE_TRINO_VIEW","ENTITY_TYPE_ATLAN_ASSET","ENTITY_TYPE_ATLAN_INTEGRATION","ENTITY_TYPE_COALESCE_PROJECT","ENTITY_TYPE_COALESCE_ENVIRONMENT","ENTITY_TYPE_COALESCE_NODE","ENTITY_TYPE_COALESCE_NODE_TEST","ENTITY_TYPE_COALESCE_JOB","ENTITY_TYPE_CASTORDOC_TABLE","ENTITY_TYPE_CASTORDOC_DASHBOARD","ENTITY_TYPE_CASTORDOC_VIEW","ENTITY_TYPE_CASTORDOC_TILE","ENTITY_TYPE_CASTORDOC_VIZ_MODEL","ENTITY_TYPE_POWERBI_REPORT","ENTITY_TYPE_POWERBI_TILE","ENTITY_TYPE_POWERBI_DATASET","ENTITY_TYPE_POWERBI_DASHBOARD","ENTITY_TYPE_POWERBI_TENANT","ENTITY_TYPE_THOUGHTSPOT_LIVEBOARD","ENTITY_TYPE_THOUGHTSPOT_WORKSHEET","ENTITY_TYPE_SIGMA_WORKBOOK","ENTITY_TYPE_SIGMA_DATA_MODEL","ENTITY_TYPE_SIGMA_ORGANIZATION","ENTITY_TYPE_DOMO_PAGE","ENTITY_TYPE_DOMO_DATASET","ENTITY_TYPE_MSSQL_TABLE","ENTITY_TYPE_MSSQL_VIEW","ENTITY_TYPE_MSSQL_PROCEDURE","ENTITY_TYPE_MSSQL_FUNCTION","ENTITY_TYPE_ORACLE_TABLE","ENTITY_TYPE_ORACLE_VIEW","ENTITY_TYPE_ORACLE_PROCEDURE","ENTITY_TYPE_ORACLE_FUNCTION","ENTITY_TYPE_ATHENA_TABLE","ENTITY_TYPE_ATHENA_VIEW","ENTITY_TYPE_FABRIC_TABLE","ENTITY_TYPE_FABRIC_VIEW","ENTITY_TYPE_FABRIC_PROCEDURE","ENTITY_TYPE_FABRIC_FUNCTION","ENTITY_TYPE_DB2_TABLE","ENTITY_TYPE_DB2_VIEW","ENTITY_TYPE_DB2_PROCEDURE","ENTITY_TYPE_DB2_FUNCTION","ENTITY_TYPE_LOOKER_STUDIO_CUSTOMER","ENTITY_TYPE_LOOKER_STUDIO_REPORT","ENTITY_TYPE_LOOKER_STUDIO_DATA_SOURCE","ENTITY_TYPE_CUSTOM_ENTITY_GENERIC","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MIN","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MAX"],"description":"Default Coalesce Quality types","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.7.withType.type.oneOf.1.default","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.7.withType.type.oneOf.1","typeLabel":"default · object"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.7.withType.type","typeLabel":"custom · object | default · object"},"types":{"type":"array","items":{"oneOf":[{"type":"object","title":"custom","required":["custom"],"properties":{"custom":{"type":"integer","title":"custom","format":"int32","description":"Custom types as defined through synq.entities.custom.v1.TypesService","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.7.withType.types.items.[INDEX].oneOf.0.custom","typeLabel":"integer\u003cint32>"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.7.withType.types.items.[INDEX].oneOf.0","typeLabel":"custom · object"},{"type":"object","title":"default","required":["default"],"properties":{"default":{"type":"string","title":"default","enum":["ENTITY_TYPE_UNSPECIFIED","ENTITY_TYPE_BQ_TABLE","ENTITY_TYPE_BQ_VIEW","ENTITY_TYPE_BQ_PROCEDURE","ENTITY_TYPE_BQ_FUNCTION","ENTITY_TYPE_LOOKER_LOOK","ENTITY_TYPE_LOOKER_EXPLORE","ENTITY_TYPE_LOOKER_VIEW","ENTITY_TYPE_LOOKER_DASHBOARD","ENTITY_TYPE_LOOKER_INSTANCE","ENTITY_TYPE_DBT_MODEL","ENTITY_TYPE_DBT_TEST","ENTITY_TYPE_DBT_SOURCE","ENTITY_TYPE_DBT_PROJECT","ENTITY_TYPE_DBT_METRIC","ENTITY_TYPE_DBT_SNAPSHOT","ENTITY_TYPE_DBT_SEED","ENTITY_TYPE_DBT_ANALYSIS","ENTITY_TYPE_DBT_EXPOSURE","ENTITY_TYPE_DBT_GROUP","ENTITY_TYPE_DBT_SEMANTIC_MODEL","ENTITY_TYPE_DBT_CLOUD_PROJECT","ENTITY_TYPE_DBT_CLOUD_JOB","ENTITY_TYPE_SNOWFLAKE_TABLE","ENTITY_TYPE_SNOWFLAKE_VIEW","ENTITY_TYPE_SNOWFLAKE_STREAM","ENTITY_TYPE_SNOWFLAKE_DYNAMIC_TABLE","ENTITY_TYPE_SNOWFLAKE_TASK","ENTITY_TYPE_SNOWFLAKE_EXTERNAL_TABLE","ENTITY_TYPE_SNOWFLAKE_MATERIALIZED_VIEW","ENTITY_TYPE_SNOWFLAKE_PROCEDURE","ENTITY_TYPE_SNOWFLAKE_FUNCTION","ENTITY_TYPE_SNOWFLAKE_SEMANTIC_VIEW","ENTITY_TYPE_SNOWFLAKE_STAGE","ENTITY_TYPE_SNOWFLAKE_STREAMLIT","ENTITY_TYPE_SNOWFLAKE_NOTEBOOK","ENTITY_TYPE_SNOWFLAKE_WAREHOUSE","ENTITY_TYPE_SNOWFLAKE_PIPE","ENTITY_TYPE_SNOWFLAKE_CORTEX_SEARCH_SERVICE","ENTITY_TYPE_REDSHIFT_TABLE","ENTITY_TYPE_REDSHIFT_VIEW","ENTITY_TYPE_REDSHIFT_PROCEDURE","ENTITY_TYPE_REDSHIFT_FUNCTION","ENTITY_TYPE_TABLEAU_EMBEDDED","ENTITY_TYPE_TABLEAU_PUBLISHED","ENTITY_TYPE_TABLEAU_CUSTOM_SQL","ENTITY_TYPE_TABLEAU_TABLE","ENTITY_TYPE_TABLEAU_SHEET","ENTITY_TYPE_TABLEAU_DASHBOARD","ENTITY_TYPE_TABLEAU_WORKBOOK","ENTITY_TYPE_TABLEAU_SITE","ENTITY_TYPE_AIRFLOW_DAG","ENTITY_TYPE_AIRFLOW_TASK","ENTITY_TYPE_CLICKHOUSE_TABLE","ENTITY_TYPE_CLICKHOUSE_VIEW","ENTITY_TYPE_ANOMALY_MONITOR","ENTITY_TYPE_ANOMALY_MONITOR_SEGMENT","ENTITY_TYPE_SQLTEST_TEST","ENTITY_TYPE_RECON_SUITE","ENTITY_TYPE_RECON_CASE","ENTITY_TYPE_LINEAGE_FOLD","ENTITY_TYPE_POSTGRES_TABLE","ENTITY_TYPE_POSTGRES_VIEW","ENTITY_TYPE_MYSQL_TABLE","ENTITY_TYPE_MYSQL_VIEW","ENTITY_TYPE_DATABRICKS_WAREHOUSE","ENTITY_TYPE_DATABRICKS_TABLE","ENTITY_TYPE_DATABRICKS_VIEW","ENTITY_TYPE_DATABRICKS_JOB","ENTITY_TYPE_DATABRICKS_JOB_TASK","ENTITY_TYPE_DATABRICKS_NOTEBOOK","ENTITY_TYPE_DATABRICKS_QUERY","ENTITY_TYPE_DATABRICKS_DASHBOARD","ENTITY_TYPE_DATABRICKS_METRIC_VIEW","ENTITY_TYPE_DATABRICKS_APP","ENTITY_TYPE_SQLMESH_PROJECT","ENTITY_TYPE_SQLMESH_SQL_MODEL","ENTITY_TYPE_SQLMESH_PYTHON_MODEL","ENTITY_TYPE_SQLMESH_EXTERNAL","ENTITY_TYPE_SQLMESH_SEED","ENTITY_TYPE_SQLMESH_AUDIT","ENTITY_TYPE_SQLMESH_UNIT_TEST","ENTITY_TYPE_SQLMESH_ENVIRONMENT","ENTITY_TYPE_SQLMESH_SNAPSHOT","ENTITY_TYPE_DUCKDB_TABLE","ENTITY_TYPE_DUCKDB_VIEW","ENTITY_TYPE_TRINO_TABLE","ENTITY_TYPE_TRINO_VIEW","ENTITY_TYPE_ATLAN_ASSET","ENTITY_TYPE_ATLAN_INTEGRATION","ENTITY_TYPE_COALESCE_PROJECT","ENTITY_TYPE_COALESCE_ENVIRONMENT","ENTITY_TYPE_COALESCE_NODE","ENTITY_TYPE_COALESCE_NODE_TEST","ENTITY_TYPE_COALESCE_JOB","ENTITY_TYPE_CASTORDOC_TABLE","ENTITY_TYPE_CASTORDOC_DASHBOARD","ENTITY_TYPE_CASTORDOC_VIEW","ENTITY_TYPE_CASTORDOC_TILE","ENTITY_TYPE_CASTORDOC_VIZ_MODEL","ENTITY_TYPE_POWERBI_REPORT","ENTITY_TYPE_POWERBI_TILE","ENTITY_TYPE_POWERBI_DATASET","ENTITY_TYPE_POWERBI_DASHBOARD","ENTITY_TYPE_POWERBI_TENANT","ENTITY_TYPE_THOUGHTSPOT_LIVEBOARD","ENTITY_TYPE_THOUGHTSPOT_WORKSHEET","ENTITY_TYPE_SIGMA_WORKBOOK","ENTITY_TYPE_SIGMA_DATA_MODEL","ENTITY_TYPE_SIGMA_ORGANIZATION","ENTITY_TYPE_DOMO_PAGE","ENTITY_TYPE_DOMO_DATASET","ENTITY_TYPE_MSSQL_TABLE","ENTITY_TYPE_MSSQL_VIEW","ENTITY_TYPE_MSSQL_PROCEDURE","ENTITY_TYPE_MSSQL_FUNCTION","ENTITY_TYPE_ORACLE_TABLE","ENTITY_TYPE_ORACLE_VIEW","ENTITY_TYPE_ORACLE_PROCEDURE","ENTITY_TYPE_ORACLE_FUNCTION","ENTITY_TYPE_ATHENA_TABLE","ENTITY_TYPE_ATHENA_VIEW","ENTITY_TYPE_FABRIC_TABLE","ENTITY_TYPE_FABRIC_VIEW","ENTITY_TYPE_FABRIC_PROCEDURE","ENTITY_TYPE_FABRIC_FUNCTION","ENTITY_TYPE_DB2_TABLE","ENTITY_TYPE_DB2_VIEW","ENTITY_TYPE_DB2_PROCEDURE","ENTITY_TYPE_DB2_FUNCTION","ENTITY_TYPE_LOOKER_STUDIO_CUSTOMER","ENTITY_TYPE_LOOKER_STUDIO_REPORT","ENTITY_TYPE_LOOKER_STUDIO_DATA_SOURCE","ENTITY_TYPE_CUSTOM_ENTITY_GENERIC","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MIN","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MAX"],"description":"Default Coalesce Quality types","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.7.withType.types.items.[INDEX].oneOf.1.default","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.7.withType.types.items.[INDEX].oneOf.1","typeLabel":"default · object"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.7.withType.types.items.[INDEX]","typeLabel":"custom · object | default · object"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.7.withType.types","typeLabel":"(custom · object | default · object)[]"},"traits":{"type":"array","items":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.7.withType.traits.items.[INDEX]","typeLabel":"string"},"description":"Traits to select by, instead of — or alongside — naming types.\n\n A trait is a property a type has, so `is_monitorable` means \"everything a\n monitor can run on\" without listing the forty-odd types that satisfy it\n today. The list it stands for is worked out each time the selection runs,\n so a selection saved this way covers a new platform's tables as soon as we\n support them, and you never have to revisit it.\n\n Entities carrying any of the traits match. When `types` is also set the two\n narrow each other: the entity must be one of the named types AND carry one\n of the traits.\n\n Accepted values, and what each one means, come from the selection-query\n grammar the API publishes (`describe_resolver_ql`, or the query editor's\n reference). A name that is not in it selects nothing rather than being\n ignored, so a typo narrows the result to empty instead of widening it —\n check a trait against the grammar before storing a selection. In a query\n written as text this is `with_type(traits=\"is_monitorable\")`, and there a\n name outside the grammar is rejected outright.\n\n A trait may also be a type alias, spelled `alias:\u003cname>` where `\u003cname>` is\n one of the aliases the grammar lists among the entity types, e.g.\n `alias:table`. It selects every type the alias stands for, worked out each\n time the selection runs like any other trait. A selection written as\n `with_type(\"table\")` is stored this way and reads back with\n `traits: [\"alias:table\"]`; writing that back keeps the same selection. In a\n query written as text an alias is always `with_type(\"table\")`, never\n `traits=\"alias:table\"`.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.7.withType.traits","typeLabel":"string[]"}},"title":"with_type","additionalProperties":false,"description":"Resolves to all the entities that have the provided type, or carry one of the\n provided traits.","isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.7.withType","typeLabel":"with_type · object"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX].oneOf.7","typeLabel":"with_type · object"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts.items.[INDEX]","typeLabel":"entity_ids · object | identifier_list · object | in_folder · object | query · object | unsupported · object | with_annotation · object | with_name_search · object | with_type · object"},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.parts","typeLabel":"(entity_ids · object | identifier_list · object | in_folder · object | query · object | unsupported · object | with_annotation · object | with_name_search · object | with_type · object)[]"},"operand":{"type":"string","title":"QueryOperand","enum":["QUERY_OPERAND_UNSPECIFIED","QUERY_OPERAND_AND","QUERY_OPERAND_OR","QUERY_OPERAND_EXCEPT","QUERY_OPERAND_UPSTREAM","QUERY_OPERAND_DOWNSTREAM"],"description":"QueryOperand defines how multiple QueryParts within a Query are combined.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query.operand","typeLabel":"enum\u003cstring>"}},"title":"EntitySelectionQuery","additionalProperties":false,"description":"entity_selection_query.except_parts_select_something // each QUERY_OPERAND_EXCEPT part must select something\nentity_selection_query.except_requires_two_parts // QUERY_OPERAND_EXCEPT requires exactly 2 parts\n","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.query","typeLabel":"EntitySelectionQuery · object"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"not":{"enum":[0]},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.severity","typeLabel":"enum\u003cstring>"},"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"not":{"enum":[0]},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.sensitivity","typeLabel":"enum\u003cstring>"},"metricIds":{"type":"array","items":{"type":"string","title":"MetricId","enum":["METRIC_ID_UNSPECIFIED","METRIC_ID_ROW_COUNT","METRIC_ID_DELAY","METRIC_ID_VOLUME_CHANGE_DELAY","METRIC_ID_NUM_ROWS","METRIC_ID_NUM_NULL","METRIC_ID_PCT_NULL","METRIC_ID_NUM_UNIQUE","METRIC_ID_PCT_UNIQUE","METRIC_ID_NUM_EMPTY","METRIC_ID_PCT_EMPTY","METRIC_ID_MEAN","METRIC_ID_MIN","METRIC_ID_MAX","METRIC_ID_MEDIAN","METRIC_ID_STDDEV"],"description":"Metric a monitor predicts. ROW_COUNT, DELAY and VOLUME_CHANGE_DELAY apply to table stats\n monitors and deployment rules; the remaining values are field statistics and apply to\n field stats columns only.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.metricIds.items.[INDEX]","typeLabel":"enum\u003cstring>"},"minItems":1,"uniqueItems":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.metricIds","typeLabel":"enum\u003cstring>[]"},"keepDeletedMonitors":{"type":"boolean","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.keepDeletedMonitors","typeLabel":"boolean"},"metricOptions":{"type":"array","items":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"not":{"enum":[0]},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.metricOptions.items.[INDEX].sensitivity","typeLabel":"enum\u003cstring>"},"metricId":{"type":"string","title":"MetricId","enum":["METRIC_ID_UNSPECIFIED","METRIC_ID_ROW_COUNT","METRIC_ID_DELAY","METRIC_ID_VOLUME_CHANGE_DELAY","METRIC_ID_NUM_ROWS","METRIC_ID_NUM_NULL","METRIC_ID_PCT_NULL","METRIC_ID_NUM_UNIQUE","METRIC_ID_PCT_UNIQUE","METRIC_ID_NUM_EMPTY","METRIC_ID_PCT_EMPTY","METRIC_ID_MEAN","METRIC_ID_MIN","METRIC_ID_MAX","METRIC_ID_MEDIAN","METRIC_ID_STDDEV"],"description":"Metric a monitor predicts. ROW_COUNT, DELAY and VOLUME_CHANGE_DELAY apply to table stats\n monitors and deployment rules; the remaining values are field statistics and apply to\n field stats columns only.","not":{"enum":[0]},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.metricOptions.items.[INDEX].metricId","typeLabel":"enum\u003cstring>"}},"title":"MetricOption","additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.metricOptions.items.[INDEX]","typeLabel":"MetricOption · object"},"description":"NEW - optional per-metric config. Returned sorted by metric_id — a client\n can rely on that ordering rather than re-sorting.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.metricOptions","typeLabel":"MetricOption · object[]"},"resolverQl":{"type":"string","description":"ResolverQL selection string — an advanced, more expressive alternative to\n `query`. ResolverQL is a superset of the structured `query`: use it for\n selections `query` cannot express (e.g. lineage walks, column predicates).\n When set (non-empty) on write, `resolver_ql` is the source of truth and the\n structured `query` is ignored. The selection is compiled when it is written\n and stored in that form, so the text itself is not kept: two spellings of the\n same selection store the same rule, and a type alias such as \"table\" is\n expanded to the types it names at the time of the write. On read this field\n carries the canonical rendering of the stored selection, equal to\n `rendered_resolver_ql`, whichever way the rule was written, and is empty when\n the selection has no ResolverQL representation. Writing a read response back\n unchanged stores the same selection. `query` is always populated.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.resolverQl","typeLabel":"string"},"renderedResolverQl":{"type":"string","description":"Canonical ResolverQL rendering of this rule's selection, populated for every\n query rule regardless of how it was authored. OUTPUT ONLY — it is ignored on\n write; set `resolver_ql` to author a selection in ResolverQL. Empty only for\n selections that have no ResolverQL representation. Compare selections by\n this field rather than by the text a rule was written with, which may be\n spelled differently.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.renderedResolverQl","typeLabel":"string"},"delayModel":{"type":"string","title":"DelayModel","enum":["DELAY_MODEL_UNSPECIFIED","DELAY_MODEL_STANDARD","DELAY_MODEL_WEEKLY_PATTERN"],"description":"How the delay and volume_change_delay metrics model the expected arrival time of new\n data. Unset leaves the stored value unchanged.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig.delayModel","typeLabel":"enum\u003cstring>"}},"title":"query_config","additionalProperties":false,"isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.queryConfig","typeLabel":"query_config · object"},"id":{"type":"string","title":"id","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.id","typeLabel":"string"},"title":{"type":"string","title":"title","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.title","typeLabel":"string"},"monitorCount":{"type":"integer","title":"monitor_count","format":"int32","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.monitorCount","typeLabel":"integer\u003cint32>"},"source":{"type":"string","title":"source","enum":["SOURCE_APP","SOURCE_API"],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.source","typeLabel":"enum\u003cstring>"},"configId":{"oneOf":[{"type":"string","title":"config_id","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.configId.oneOf.0","typeLabel":"string"},{"type":"null","title":"config_id","uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3.configId","typeLabel":"string | null"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.3","typeLabel":"MonitorsDeploymentRuleView · object"},{"type":"object","title":"MonitorsDeploymentRuleView","required":["staticConfig"],"properties":{"staticConfig":{"type":"object","properties":{"path":{"type":"string","uniqueKey":"deploymentRules.items.[INDEX].oneOf.4.staticConfig.path","typeLabel":"string"},"severity":{"type":"string","title":"Severity","enum":["SEVERITY_UNSPECIFIED","SEVERITY_WARNING","SEVERITY_ERROR","SEVERITY_INFO"],"not":{"enum":[0]},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.4.staticConfig.severity","typeLabel":"enum\u003cstring>"},"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"not":{"enum":[0]},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.4.staticConfig.sensitivity","typeLabel":"enum\u003cstring>"},"metricIds":{"type":"array","items":{"type":"string","title":"MetricId","enum":["METRIC_ID_UNSPECIFIED","METRIC_ID_ROW_COUNT","METRIC_ID_DELAY","METRIC_ID_VOLUME_CHANGE_DELAY","METRIC_ID_NUM_ROWS","METRIC_ID_NUM_NULL","METRIC_ID_PCT_NULL","METRIC_ID_NUM_UNIQUE","METRIC_ID_PCT_UNIQUE","METRIC_ID_NUM_EMPTY","METRIC_ID_PCT_EMPTY","METRIC_ID_MEAN","METRIC_ID_MIN","METRIC_ID_MAX","METRIC_ID_MEDIAN","METRIC_ID_STDDEV"],"description":"Metric a monitor predicts. ROW_COUNT, DELAY and VOLUME_CHANGE_DELAY apply to table stats\n monitors and deployment rules; the remaining values are field statistics and apply to\n field stats columns only.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.4.staticConfig.metricIds.items.[INDEX]","typeLabel":"enum\u003cstring>"},"minItems":1,"uniqueItems":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.4.staticConfig.metricIds","typeLabel":"enum\u003cstring>[]"},"metricOptions":{"type":"array","items":{"type":"object","properties":{"sensitivity":{"type":"string","title":"Sensitivity","enum":["SENSITIVITY_UNSPECIFIED","SENSITIVITY_PRECISE","SENSITIVITY_BALANCED","SENSITIVITY_RELAXED"],"not":{"enum":[0]},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.4.staticConfig.metricOptions.items.[INDEX].sensitivity","typeLabel":"enum\u003cstring>"},"metricId":{"type":"string","title":"MetricId","enum":["METRIC_ID_UNSPECIFIED","METRIC_ID_ROW_COUNT","METRIC_ID_DELAY","METRIC_ID_VOLUME_CHANGE_DELAY","METRIC_ID_NUM_ROWS","METRIC_ID_NUM_NULL","METRIC_ID_PCT_NULL","METRIC_ID_NUM_UNIQUE","METRIC_ID_PCT_UNIQUE","METRIC_ID_NUM_EMPTY","METRIC_ID_PCT_EMPTY","METRIC_ID_MEAN","METRIC_ID_MIN","METRIC_ID_MAX","METRIC_ID_MEDIAN","METRIC_ID_STDDEV"],"description":"Metric a monitor predicts. ROW_COUNT, DELAY and VOLUME_CHANGE_DELAY apply to table stats\n monitors and deployment rules; the remaining values are field statistics and apply to\n field stats columns only.","not":{"enum":[0]},"uniqueKey":"deploymentRules.items.[INDEX].oneOf.4.staticConfig.metricOptions.items.[INDEX].metricId","typeLabel":"enum\u003cstring>"}},"title":"MetricOption","additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.4.staticConfig.metricOptions.items.[INDEX]","typeLabel":"MetricOption · object"},"description":"NEW. Returned sorted by metric_id — a client can rely on that ordering\n rather than re-sorting.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.4.staticConfig.metricOptions","typeLabel":"MetricOption · object[]"},"delayModel":{"type":"string","title":"DelayModel","enum":["DELAY_MODEL_UNSPECIFIED","DELAY_MODEL_STANDARD","DELAY_MODEL_WEEKLY_PATTERN"],"description":"How the delay and volume_change_delay metrics model the expected arrival time of new\n data. Unset leaves the stored value unchanged.","uniqueKey":"deploymentRules.items.[INDEX].oneOf.4.staticConfig.delayModel","typeLabel":"enum\u003cstring>"}},"title":"static_config","additionalProperties":false,"isRequired":true,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.4.staticConfig","typeLabel":"static_config · object"},"id":{"type":"string","title":"id","uniqueKey":"deploymentRules.items.[INDEX].oneOf.4.id","typeLabel":"string"},"title":{"type":"string","title":"title","uniqueKey":"deploymentRules.items.[INDEX].oneOf.4.title","typeLabel":"string"},"monitorCount":{"type":"integer","title":"monitor_count","format":"int32","uniqueKey":"deploymentRules.items.[INDEX].oneOf.4.monitorCount","typeLabel":"integer\u003cint32>"},"source":{"type":"string","title":"source","enum":["SOURCE_APP","SOURCE_API"],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.4.source","typeLabel":"enum\u003cstring>"},"configId":{"oneOf":[{"type":"string","title":"config_id","uniqueKey":"deploymentRules.items.[INDEX].oneOf.4.configId.oneOf.0","typeLabel":"string"},{"type":"null","title":"config_id","uniqueKey":"deploymentRules.items.[INDEX].oneOf.4.configId.oneOf.1","typeLabel":"null"}],"uniqueKey":"deploymentRules.items.[INDEX].oneOf.4.configId","typeLabel":"string | null"}},"additionalProperties":false,"uniqueKey":"deploymentRules.items.[INDEX].oneOf.4","typeLabel":"MonitorsDeploymentRuleView · object"}],"uniqueKey":"deploymentRules.items.[INDEX]","typeLabel":"MonitorsDeploymentRuleView · object"},"uniqueKey":"deploymentRules","typeLabel":"MonitorsDeploymentRuleView · object[]"}},"title":"ListDeploymentRulesResponse","required":["pageInfo"],"additionalProperties":false,"uniqueKey":"","typeLabel":"ListDeploymentRulesResponse · object"},"examples":{"Example":{"title":"Example","value":{"pageInfo":{"totalCount":123,"count":123,"lastId":"\u003cstring>"},"deploymentRules":[{"exclusiveQueryConfig":{"query":{"parts":[{"entityIds":{"entityIds":["\u003cstring>"]}}],"operand":"QUERY_OPERAND_UNSPECIFIED"},"resolverQl":"\u003cstring>","renderedResolverQl":"\u003cstring>"},"id":"\u003cstring>","title":"\u003cstring>","monitorCount":123,"source":"SOURCE_APP","configId":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"85f48775-9ef8-48fb-a7f7-5dbc785cd09f":{"bearerAuth":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"82cf4404-d9d3-43bb-9fb0-2f40a78dde7b":{"url":"https://developer.synq.io"},"aa6da49a-b0c5-4d36-8910-d2ed76885994":{"url":"https://api.us.synq.io"},"c9d25553-4913-481a-b29f-92bb1f2b1ce2":{"url":"https://api.au.synq.io"}},"schemas":{"9aa48dcc-3dc1-40e9-bf59-0a21c9499772":{"oneOf":[{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["airflowDag"],"properties":{"airflowDag":{"type":"object","properties":{"integrationId":{"type":"string","description":"Coalesce Quality integration_id that identifies the Airflow instance","isRequired":true},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["airflowTask"],"properties":{"airflowTask":{"type":"object","properties":{"integrationId":{"type":"string","description":"Coalesce Quality integration_id that identifies the Airflow instance","isRequired":true},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true}},"title":"airflow_task","required":["integrationId","dagId","taskId"],"additionalProperties":false,"description":"Airflow task identifier within a given DAG","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["athenaTable"],"properties":{"athenaTable":{"type":"object","properties":{"instance":{"type":"string","description":"AWS account and region the Athena workgroup runs in, formatted as\n \"\u003caccount-id>.\u003cregion>\" (e.g. \"123456789012.eu-west-1\"). Auto-derived\n from sts:GetCallerIdentity at integration setup time.","isRequired":true},"catalog":{"type":"string","description":"Glue Data Catalog name. Almost always \"AwsDataCatalog\" — the default\n catalog for Athena unless the customer registered a federated catalog.","isRequired":true},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true},"table":{"type":"string","description":"Glue table or view name.","isRequired":true}},"title":"athena_table","required":["instance","catalog","database","table"],"additionalProperties":false,"description":"Amazon Athena (Glue) table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["bigqueryTable"],"properties":{"bigqueryTable":{"type":"object","properties":{"project":{"type":"string","description":"BigQuery project","isRequired":true},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true},"table":{"type":"string","description":"BigQuery table name","isRequired":true}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["clickhouseTable"],"properties":{"clickhouseTable":{"type":"object","properties":{"host":{"type":"string","description":"Clickhouse hostname without port","isRequired":true},"schema":{"type":"string","description":"Clickhouse database","isRequired":true},"table":{"type":"string","description":"Clickhouse table","isRequired":true}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["custom"],"properties":{"custom":{"type":"object","properties":{"id":{"type":"string","description":"Id that identifies the custom entity\n The Id should be unique within the custom entity Identifier.","isRequired":true}},"title":"custom","required":["id"],"additionalProperties":false,"description":"Custom identifier to be used with all custom created entities","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["databricksTable"],"properties":{"databricksTable":{"type":"object","properties":{"workspace":{"type":"string","description":"URL of Databricks workspace","isRequired":true},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true},"schema":{"type":"string","description":"Databricks schema","isRequired":true},"table":{"type":"string","description":"Databricks table or view","isRequired":true}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["dataproduct"],"properties":{"dataproduct":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Dataproduct id that identifies the Dataproduct","isRequired":true}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["db2Table"],"properties":{"db2Table":{"type":"object","properties":{"host":{"type":"string","description":"Host name of the Db2 server","isRequired":true},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true},"table":{"type":"string","description":"Db2 table or view","isRequired":true}},"title":"db2_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"IBM Db2 LUW table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["dbtCloudNode"],"properties":{"dbtCloudNode":{"type":"object","properties":{"projectId":{"type":"string","description":"Your dbt Cloud project id","isRequired":true},"nodeId":{"type":"string","description":"Dbt node_id that identifies one of dbt DAG nodes (model, test, etc)","isRequired":true},"accountId":{"type":"string","description":"Your dbt Cloud account id"}},"title":"dbt_cloud_node","required":["projectId","nodeId"],"additionalProperties":false,"description":"Dbt node that identifies one of dbt DAG nodes (model, test, etc) in dbt Cloud project","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["dbtCoreNode"],"properties":{"dbtCoreNode":{"type":"object","properties":{"integrationId":{"type":"string","description":"Opaque identifier of the dbt Core project. Usually the Coalesce Quality\n integration id (a UUID), but may also be the dbt project name from\n manifest.json when the integration is configured to identify assets by\n project name. Treat it as an opaque string, not a UUID.","isRequired":true},"nodeId":{"type":"string","description":"Dbt node_id that identifies one of dbt DAG nodes (model, test, etc)","isRequired":true}},"title":"dbt_core_node","required":["integrationId","nodeId"],"additionalProperties":false,"description":"Dbt node that identifies one of dbt DAG nodes (model, test, etc) in dbt Core project","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["fabricTable"],"properties":{"fabricTable":{"type":"object","properties":{"instance":{"type":"string","description":"Workspace SQL analytics endpoint host, e.g.\n \"\u003cworkspace-id>.datawarehouse.fabric.microsoft.com\".","isRequired":true},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true},"schema":{"type":"string","description":"Schema within the database.","isRequired":true},"table":{"type":"string","description":"Table or view name.","isRequired":true},"workspaceId":{"type":"string","description":"Fabric workspace GUID, decoded from the endpoint host in `instance`.\n Optional and informational: the table is addressed by\n instance/database/schema/table, so leave it empty if you don't have it —\n it does not affect how the identifier resolves."},"tenantId":{"type":"string","description":"Entra (Azure AD) tenant GUID, decoded from the endpoint host in `instance`.\n Optional and informational, like workspace_id."}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["monitor"],"properties":{"monitor":{"type":"object","properties":{"monitoredId":{"$circularRef":"9aa48dcc-3dc1-40e9-bf59-0a21c9499772","description":"Identifier of the monitored entity","isRequired":true},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier"},{"type":"null","description":"Optional monitor segmentation identifier"}]},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true}]}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["mssqlTable"],"properties":{"mssqlTable":{"type":"object","properties":{"host":{"type":"string","description":"Hostname of the SQL Server instance","isRequired":true},"database":{"type":"string","description":"SQL Server database","isRequired":true},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true},"table":{"type":"string","description":"SQL Server table or view","isRequired":true}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["mysqlTable"],"properties":{"mysqlTable":{"type":"object","properties":{"host":{"type":"string","description":"Mysql hostname without port","isRequired":true},"schema":{"type":"string","description":"Mysql database","isRequired":true},"table":{"type":"string","description":"Mysql table","isRequired":true}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["oracleTable"],"properties":{"oracleTable":{"type":"object","properties":{"host":{"type":"string","description":"Hostname of the Oracle instance","isRequired":true},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true},"table":{"type":"string","description":"Oracle table or view","isRequired":true}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["postgresTable"],"properties":{"postgresTable":{"type":"object","properties":{"host":{"type":"string","description":"Postgres hostname without port","isRequired":true},"database":{"type":"string","description":"Postgres database","isRequired":true},"schema":{"type":"string","description":"Postgres schema","isRequired":true},"table":{"type":"string","description":"Postgres table","isRequired":true}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["redshiftTable"],"properties":{"redshiftTable":{"type":"object","properties":{"database":{"type":"string","description":"Redshift database","isRequired":true},"schema":{"type":"string","description":"Redshift schema","isRequired":true},"table":{"type":"string","description":"Redshift table","isRequired":true},"cluster":{"type":"string","description":"Required. Host of the Redshift endpoint, as in the connection, for example\n `my-cluster.abc123.eu-west-1.redshift.amazonaws.com`. A port suffix is\n accepted and ignored. The bare cluster name (`my-cluster`) is not enough,\n because one name can exist in more than one account or region. A response\n returns the host in its normalized form, which is also accepted on input.\n\n The rule below also refuses an empty value. It is not `required`, because\n `required` stops the other rules and its error does not say what to send.\nredshift_table.cluster.full_host // cluster must be the full host of the Redshift endpoint from the connection, for example my-cluster.abc123.eu-west-1.redshift.amazonaws.com\n"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["savedView"],"properties":{"savedView":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Saved view id (client-supplied UUID) that identifies the saved view","isRequired":true}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["snowflakeTable"],"properties":{"snowflakeTable":{"type":"object","properties":{"account":{"type":"string","description":"Snowflake account","isRequired":true},"database":{"type":"string","description":"Snowflake database","isRequired":true},"schema":{"type":"string","description":"Snowflake schema","isRequired":true},"table":{"type":"string","description":"Snowflake table","isRequired":true}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["sqlMeshAudit"],"properties":{"sqlMeshAudit":{"type":"object","properties":{"integrationId":{"type":"string","format":"uuid","description":"Coalesce Quality integration_id that identifies the dbt Core project","isRequired":true},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["sqlMeshModel"],"properties":{"sqlMeshModel":{"type":"object","properties":{"integrationId":{"type":"string","format":"uuid","description":"Coalesce Quality integration_id that identifies the dbt Core project","isRequired":true},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["synqPath"],"properties":{"synqPath":{"type":"object","properties":{"path":{"type":"string","description":"Coalesce Quality path that identifies the Coalesce Quality entity, needs to be one of supported paths","isRequired":true}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["trinoTable"],"properties":{"trinoTable":{"type":"object","properties":{"host":{"type":"string","description":"Hostname of the Trino instance","isRequired":true},"catalog":{"type":"string","description":"Trino catalog","isRequired":true},"schema":{"type":"string","description":"Trino schema","isRequired":true},"table":{"type":"string","description":"Trino table or view","isRequired":true}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false}]},"5b88d704-2a2e-4c1a-837b-99543d863e65":{"type":"object","properties":{"parts":{"type":"array","items":{"oneOf":[{"type":"object","title":"entity_ids","required":["entityIds"],"properties":{"entityIds":{"type":"object","properties":{"entityIds":{"type":"array","items":{"type":"string","maxLength":1024,"minLength":1},"description":"The entities to select. An id may not be blank.\n\n An empty list selects no entities, exactly as an empty `identifier_list`\n does. Be deliberate about it, because it is not the same as leaving the part\n out: a part that selects nothing still counts, so it empties an AND, adds\n nothing to an OR, and removes nothing from an EXCEPT. If what you mean is\n \"do not restrict on specific entities\", omit the part instead of sending it\n empty.\n\n Ids may be up to 1024 characters — the same limit as `Identifier.entity_id`,\n where you read them from, so any id the API returned is accepted here."}},"title":"entity_ids","additionalProperties":false,"description":"Pin specific entities by the ids the API returned for them. Read back as\n `identifier_list`, with each id on the identifier it names.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"identifier_list","required":["identifierList"],"properties":{"identifierList":{"type":"object","properties":{"identifiers":{"type":"array","items":{"oneOf":[{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["airflowDag"],"properties":{"airflowDag":{"type":"object","properties":{"integrationId":{"type":"string","description":"Coalesce Quality integration_id that identifies the Airflow instance","isRequired":true},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["airflowTask"],"properties":{"airflowTask":{"type":"object","properties":{"integrationId":{"type":"string","description":"Coalesce Quality integration_id that identifies the Airflow instance","isRequired":true},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true}},"title":"airflow_task","required":["integrationId","dagId","taskId"],"additionalProperties":false,"description":"Airflow task identifier within a given DAG","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["athenaTable"],"properties":{"athenaTable":{"type":"object","properties":{"instance":{"type":"string","description":"AWS account and region the Athena workgroup runs in, formatted as\n \"\u003caccount-id>.\u003cregion>\" (e.g. \"123456789012.eu-west-1\"). Auto-derived\n from sts:GetCallerIdentity at integration setup time.","isRequired":true},"catalog":{"type":"string","description":"Glue Data Catalog name. Almost always \"AwsDataCatalog\" — the default\n catalog for Athena unless the customer registered a federated catalog.","isRequired":true},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true},"table":{"type":"string","description":"Glue table or view name.","isRequired":true}},"title":"athena_table","required":["instance","catalog","database","table"],"additionalProperties":false,"description":"Amazon Athena (Glue) table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["bigqueryTable"],"properties":{"bigqueryTable":{"type":"object","properties":{"project":{"type":"string","description":"BigQuery project","isRequired":true},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true},"table":{"type":"string","description":"BigQuery table name","isRequired":true}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["clickhouseTable"],"properties":{"clickhouseTable":{"type":"object","properties":{"host":{"type":"string","description":"Clickhouse hostname without port","isRequired":true},"schema":{"type":"string","description":"Clickhouse database","isRequired":true},"table":{"type":"string","description":"Clickhouse table","isRequired":true}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["custom"],"properties":{"custom":{"type":"object","properties":{"id":{"type":"string","description":"Id that identifies the custom entity\n The Id should be unique within the custom entity Identifier.","isRequired":true}},"title":"custom","required":["id"],"additionalProperties":false,"description":"Custom identifier to be used with all custom created entities","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["databricksTable"],"properties":{"databricksTable":{"type":"object","properties":{"workspace":{"type":"string","description":"URL of Databricks workspace","isRequired":true},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true},"schema":{"type":"string","description":"Databricks schema","isRequired":true},"table":{"type":"string","description":"Databricks table or view","isRequired":true}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["dataproduct"],"properties":{"dataproduct":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Dataproduct id that identifies the Dataproduct","isRequired":true}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["db2Table"],"properties":{"db2Table":{"type":"object","properties":{"host":{"type":"string","description":"Host name of the Db2 server","isRequired":true},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true},"table":{"type":"string","description":"Db2 table or view","isRequired":true}},"title":"db2_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"IBM Db2 LUW table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["dbtCloudNode"],"properties":{"dbtCloudNode":{"type":"object","properties":{"projectId":{"type":"string","description":"Your dbt Cloud project id","isRequired":true},"nodeId":{"type":"string","description":"Dbt node_id that identifies one of dbt DAG nodes (model, test, etc)","isRequired":true},"accountId":{"type":"string","description":"Your dbt Cloud account id"}},"title":"dbt_cloud_node","required":["projectId","nodeId"],"additionalProperties":false,"description":"Dbt node that identifies one of dbt DAG nodes (model, test, etc) in dbt Cloud project","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["dbtCoreNode"],"properties":{"dbtCoreNode":{"type":"object","properties":{"integrationId":{"type":"string","description":"Opaque identifier of the dbt Core project. Usually the Coalesce Quality\n integration id (a UUID), but may also be the dbt project name from\n manifest.json when the integration is configured to identify assets by\n project name. Treat it as an opaque string, not a UUID.","isRequired":true},"nodeId":{"type":"string","description":"Dbt node_id that identifies one of dbt DAG nodes (model, test, etc)","isRequired":true}},"title":"dbt_core_node","required":["integrationId","nodeId"],"additionalProperties":false,"description":"Dbt node that identifies one of dbt DAG nodes (model, test, etc) in dbt Core project","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["fabricTable"],"properties":{"fabricTable":{"type":"object","properties":{"instance":{"type":"string","description":"Workspace SQL analytics endpoint host, e.g.\n \"\u003cworkspace-id>.datawarehouse.fabric.microsoft.com\".","isRequired":true},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true},"schema":{"type":"string","description":"Schema within the database.","isRequired":true},"table":{"type":"string","description":"Table or view name.","isRequired":true},"workspaceId":{"type":"string","description":"Fabric workspace GUID, decoded from the endpoint host in `instance`.\n Optional and informational: the table is addressed by\n instance/database/schema/table, so leave it empty if you don't have it —\n it does not affect how the identifier resolves."},"tenantId":{"type":"string","description":"Entra (Azure AD) tenant GUID, decoded from the endpoint host in `instance`.\n Optional and informational, like workspace_id."}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["monitor"],"properties":{"monitor":{"type":"object","properties":{"monitoredId":{"$circularRef":"9aa48dcc-3dc1-40e9-bf59-0a21c9499772","description":"Identifier of the monitored entity","isRequired":true},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier"},{"type":"null","description":"Optional monitor segmentation identifier"}]},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true}]}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["mssqlTable"],"properties":{"mssqlTable":{"type":"object","properties":{"host":{"type":"string","description":"Hostname of the SQL Server instance","isRequired":true},"database":{"type":"string","description":"SQL Server database","isRequired":true},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true},"table":{"type":"string","description":"SQL Server table or view","isRequired":true}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["mysqlTable"],"properties":{"mysqlTable":{"type":"object","properties":{"host":{"type":"string","description":"Mysql hostname without port","isRequired":true},"schema":{"type":"string","description":"Mysql database","isRequired":true},"table":{"type":"string","description":"Mysql table","isRequired":true}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["oracleTable"],"properties":{"oracleTable":{"type":"object","properties":{"host":{"type":"string","description":"Hostname of the Oracle instance","isRequired":true},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true},"table":{"type":"string","description":"Oracle table or view","isRequired":true}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["postgresTable"],"properties":{"postgresTable":{"type":"object","properties":{"host":{"type":"string","description":"Postgres hostname without port","isRequired":true},"database":{"type":"string","description":"Postgres database","isRequired":true},"schema":{"type":"string","description":"Postgres schema","isRequired":true},"table":{"type":"string","description":"Postgres table","isRequired":true}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["redshiftTable"],"properties":{"redshiftTable":{"type":"object","properties":{"database":{"type":"string","description":"Redshift database","isRequired":true},"schema":{"type":"string","description":"Redshift schema","isRequired":true},"table":{"type":"string","description":"Redshift table","isRequired":true},"cluster":{"type":"string","description":"Required. Host of the Redshift endpoint, as in the connection, for example\n `my-cluster.abc123.eu-west-1.redshift.amazonaws.com`. A port suffix is\n accepted and ignored. The bare cluster name (`my-cluster`) is not enough,\n because one name can exist in more than one account or region. A response\n returns the host in its normalized form, which is also accepted on input.\n\n The rule below also refuses an empty value. It is not `required`, because\n `required` stops the other rules and its error does not say what to send.\nredshift_table.cluster.full_host // cluster must be the full host of the Redshift endpoint from the connection, for example my-cluster.abc123.eu-west-1.redshift.amazonaws.com\n"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["savedView"],"properties":{"savedView":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Saved view id (client-supplied UUID) that identifies the saved view","isRequired":true}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["snowflakeTable"],"properties":{"snowflakeTable":{"type":"object","properties":{"account":{"type":"string","description":"Snowflake account","isRequired":true},"database":{"type":"string","description":"Snowflake database","isRequired":true},"schema":{"type":"string","description":"Snowflake schema","isRequired":true},"table":{"type":"string","description":"Snowflake table","isRequired":true}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["sqlMeshAudit"],"properties":{"sqlMeshAudit":{"type":"object","properties":{"integrationId":{"type":"string","format":"uuid","description":"Coalesce Quality integration_id that identifies the dbt Core project","isRequired":true},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["sqlMeshModel"],"properties":{"sqlMeshModel":{"type":"object","properties":{"integrationId":{"type":"string","format":"uuid","description":"Coalesce Quality integration_id that identifies the dbt Core project","isRequired":true},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["synqPath"],"properties":{"synqPath":{"type":"object","properties":{"path":{"type":"string","description":"Coalesce Quality path that identifies the Coalesce Quality entity, needs to be one of supported paths","isRequired":true}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["trinoTable"],"properties":{"trinoTable":{"type":"object","properties":{"host":{"type":"string","description":"Hostname of the Trino instance","isRequired":true},"catalog":{"type":"string","description":"Trino catalog","isRequired":true},"schema":{"type":"string","description":"Trino schema","isRequired":true},"table":{"type":"string","description":"Trino table or view","isRequired":true}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false}]}}},"title":"identifier_list","additionalProperties":false,"description":"Resolves to entities matching any of the given identifiers.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"identities_of","required":["identitiesOf"],"properties":{"identitiesOf":{"type":"object","properties":{"inputQuery":{"$circularRef":"5b88d704-2a2e-4c1a-837b-99543d863e65","description":"The assets whose identities to resolve. Required.","isRequired":true},"limitToTypes":{"type":"array","items":{"oneOf":[{"type":"object","title":"custom","required":["custom"],"properties":{"custom":{"type":"integer","title":"custom","format":"int32","description":"Custom types as defined through synq.entities.custom.v1.TypesService","isRequired":true}},"additionalProperties":false},{"type":"object","title":"default","required":["default"],"properties":{"default":{"type":"string","title":"default","enum":["ENTITY_TYPE_UNSPECIFIED","ENTITY_TYPE_BQ_TABLE","ENTITY_TYPE_BQ_VIEW","ENTITY_TYPE_BQ_PROCEDURE","ENTITY_TYPE_BQ_FUNCTION","ENTITY_TYPE_LOOKER_LOOK","ENTITY_TYPE_LOOKER_EXPLORE","ENTITY_TYPE_LOOKER_VIEW","ENTITY_TYPE_LOOKER_DASHBOARD","ENTITY_TYPE_LOOKER_INSTANCE","ENTITY_TYPE_DBT_MODEL","ENTITY_TYPE_DBT_TEST","ENTITY_TYPE_DBT_SOURCE","ENTITY_TYPE_DBT_PROJECT","ENTITY_TYPE_DBT_METRIC","ENTITY_TYPE_DBT_SNAPSHOT","ENTITY_TYPE_DBT_SEED","ENTITY_TYPE_DBT_ANALYSIS","ENTITY_TYPE_DBT_EXPOSURE","ENTITY_TYPE_DBT_GROUP","ENTITY_TYPE_DBT_SEMANTIC_MODEL","ENTITY_TYPE_DBT_CLOUD_PROJECT","ENTITY_TYPE_DBT_CLOUD_JOB","ENTITY_TYPE_SNOWFLAKE_TABLE","ENTITY_TYPE_SNOWFLAKE_VIEW","ENTITY_TYPE_SNOWFLAKE_STREAM","ENTITY_TYPE_SNOWFLAKE_DYNAMIC_TABLE","ENTITY_TYPE_SNOWFLAKE_TASK","ENTITY_TYPE_SNOWFLAKE_EXTERNAL_TABLE","ENTITY_TYPE_SNOWFLAKE_MATERIALIZED_VIEW","ENTITY_TYPE_SNOWFLAKE_PROCEDURE","ENTITY_TYPE_SNOWFLAKE_FUNCTION","ENTITY_TYPE_SNOWFLAKE_SEMANTIC_VIEW","ENTITY_TYPE_SNOWFLAKE_STAGE","ENTITY_TYPE_SNOWFLAKE_STREAMLIT","ENTITY_TYPE_SNOWFLAKE_NOTEBOOK","ENTITY_TYPE_SNOWFLAKE_WAREHOUSE","ENTITY_TYPE_SNOWFLAKE_PIPE","ENTITY_TYPE_SNOWFLAKE_CORTEX_SEARCH_SERVICE","ENTITY_TYPE_REDSHIFT_TABLE","ENTITY_TYPE_REDSHIFT_VIEW","ENTITY_TYPE_REDSHIFT_PROCEDURE","ENTITY_TYPE_REDSHIFT_FUNCTION","ENTITY_TYPE_TABLEAU_EMBEDDED","ENTITY_TYPE_TABLEAU_PUBLISHED","ENTITY_TYPE_TABLEAU_CUSTOM_SQL","ENTITY_TYPE_TABLEAU_TABLE","ENTITY_TYPE_TABLEAU_SHEET","ENTITY_TYPE_TABLEAU_DASHBOARD","ENTITY_TYPE_TABLEAU_WORKBOOK","ENTITY_TYPE_TABLEAU_SITE","ENTITY_TYPE_AIRFLOW_DAG","ENTITY_TYPE_AIRFLOW_TASK","ENTITY_TYPE_CLICKHOUSE_TABLE","ENTITY_TYPE_CLICKHOUSE_VIEW","ENTITY_TYPE_ANOMALY_MONITOR","ENTITY_TYPE_ANOMALY_MONITOR_SEGMENT","ENTITY_TYPE_SQLTEST_TEST","ENTITY_TYPE_RECON_SUITE","ENTITY_TYPE_RECON_CASE","ENTITY_TYPE_LINEAGE_FOLD","ENTITY_TYPE_POSTGRES_TABLE","ENTITY_TYPE_POSTGRES_VIEW","ENTITY_TYPE_MYSQL_TABLE","ENTITY_TYPE_MYSQL_VIEW","ENTITY_TYPE_DATABRICKS_WAREHOUSE","ENTITY_TYPE_DATABRICKS_TABLE","ENTITY_TYPE_DATABRICKS_VIEW","ENTITY_TYPE_DATABRICKS_JOB","ENTITY_TYPE_DATABRICKS_JOB_TASK","ENTITY_TYPE_DATABRICKS_NOTEBOOK","ENTITY_TYPE_DATABRICKS_QUERY","ENTITY_TYPE_DATABRICKS_DASHBOARD","ENTITY_TYPE_DATABRICKS_METRIC_VIEW","ENTITY_TYPE_DATABRICKS_APP","ENTITY_TYPE_SQLMESH_PROJECT","ENTITY_TYPE_SQLMESH_SQL_MODEL","ENTITY_TYPE_SQLMESH_PYTHON_MODEL","ENTITY_TYPE_SQLMESH_EXTERNAL","ENTITY_TYPE_SQLMESH_SEED","ENTITY_TYPE_SQLMESH_AUDIT","ENTITY_TYPE_SQLMESH_UNIT_TEST","ENTITY_TYPE_SQLMESH_ENVIRONMENT","ENTITY_TYPE_SQLMESH_SNAPSHOT","ENTITY_TYPE_DUCKDB_TABLE","ENTITY_TYPE_DUCKDB_VIEW","ENTITY_TYPE_TRINO_TABLE","ENTITY_TYPE_TRINO_VIEW","ENTITY_TYPE_ATLAN_ASSET","ENTITY_TYPE_ATLAN_INTEGRATION","ENTITY_TYPE_COALESCE_PROJECT","ENTITY_TYPE_COALESCE_ENVIRONMENT","ENTITY_TYPE_COALESCE_NODE","ENTITY_TYPE_COALESCE_NODE_TEST","ENTITY_TYPE_COALESCE_JOB","ENTITY_TYPE_CASTORDOC_TABLE","ENTITY_TYPE_CASTORDOC_DASHBOARD","ENTITY_TYPE_CASTORDOC_VIEW","ENTITY_TYPE_CASTORDOC_TILE","ENTITY_TYPE_CASTORDOC_VIZ_MODEL","ENTITY_TYPE_POWERBI_REPORT","ENTITY_TYPE_POWERBI_TILE","ENTITY_TYPE_POWERBI_DATASET","ENTITY_TYPE_POWERBI_DASHBOARD","ENTITY_TYPE_POWERBI_TENANT","ENTITY_TYPE_THOUGHTSPOT_LIVEBOARD","ENTITY_TYPE_THOUGHTSPOT_WORKSHEET","ENTITY_TYPE_SIGMA_WORKBOOK","ENTITY_TYPE_SIGMA_DATA_MODEL","ENTITY_TYPE_SIGMA_ORGANIZATION","ENTITY_TYPE_DOMO_PAGE","ENTITY_TYPE_DOMO_DATASET","ENTITY_TYPE_MSSQL_TABLE","ENTITY_TYPE_MSSQL_VIEW","ENTITY_TYPE_MSSQL_PROCEDURE","ENTITY_TYPE_MSSQL_FUNCTION","ENTITY_TYPE_ORACLE_TABLE","ENTITY_TYPE_ORACLE_VIEW","ENTITY_TYPE_ORACLE_PROCEDURE","ENTITY_TYPE_ORACLE_FUNCTION","ENTITY_TYPE_ATHENA_TABLE","ENTITY_TYPE_ATHENA_VIEW","ENTITY_TYPE_FABRIC_TABLE","ENTITY_TYPE_FABRIC_VIEW","ENTITY_TYPE_FABRIC_PROCEDURE","ENTITY_TYPE_FABRIC_FUNCTION","ENTITY_TYPE_DB2_TABLE","ENTITY_TYPE_DB2_VIEW","ENTITY_TYPE_DB2_PROCEDURE","ENTITY_TYPE_DB2_FUNCTION","ENTITY_TYPE_LOOKER_STUDIO_CUSTOMER","ENTITY_TYPE_LOOKER_STUDIO_REPORT","ENTITY_TYPE_LOOKER_STUDIO_DATA_SOURCE","ENTITY_TYPE_CUSTOM_ENTITY_GENERIC","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MIN","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MAX"],"description":"Default Coalesce Quality types","isRequired":true}},"additionalProperties":false}]},"description":"Restrict the result to these types. When empty, only the other members of\n each identity group are returned. When set, an input asset that already has\n one of these types is returned as well."}},"title":"identities_of","required":["inputQuery"],"additionalProperties":false,"description":"Resolves to the identities of whatever the inner query matches.\n\n The same real-world table is often described by several assets — a\n transformation model and the warehouse table it materialises into are one\n asset with several representations. Those representations form an identity\n group. IdentitiesOf takes the assets matched by `input_query` and returns\n their identity groups, so a selection made in one platform's terms also\n covers the equivalent assets in every other platform.\n\n The typical use is subtraction: \"this warehouse database, except whatever my\n transformation tool already owns\" is an EXCEPT whose removal clause is an\n IdentitiesOf over the transformation models. Without it the two selections\n overlap on every materialised table.\nidentities_of.input_query_selects_something // identities_of requires an input_query with at least one part\n","isRequired":true}},"additionalProperties":false},{"type":"object","title":"in_data_platform","required":["inDataPlatform"],"properties":{"inDataPlatform":{"type":"object","properties":{"identifier":{"oneOf":[{"type":"object","title":"athena","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["athena"],"properties":{"athena":{"type":"object","properties":{"instance":{"type":"string","description":"AWS account and region the Athena workgroup runs in, formatted as\n \"\u003caccount-id>.\u003cregion>\" (e.g. \"123456789012.eu-west-1\"). Auto-derived\n by Coalesce Quality from sts:GetCallerIdentity at integration setup time.","isRequired":true},"catalog":{"type":"string","description":"Glue Data Catalog name. Almost always \"AwsDataCatalog\" — the default\n catalog for Athena unless the customer registered a federated catalog.","isRequired":true}},"title":"athena","required":["instance","catalog"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"bigquery","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["bigquery"],"properties":{"bigquery":{"type":"object","properties":{"project":{"type":"string","description":"BigQuery project","isRequired":true}},"title":"bigquery","required":["project"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"clickhouse","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["clickhouse"],"properties":{"clickhouse":{"type":"object","properties":{"host":{"type":"string","description":"Clickhouse host inclusive of port","isRequired":true},"schema":{"type":"string","description":"Clickhouse database","isRequired":true}},"title":"clickhouse","required":["host","schema"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"databricks","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["databricks"],"properties":{"databricks":{"type":"object","properties":{"workspace":{"type":"string","description":"URL of the databricks workspace","isRequired":true}},"title":"databricks","required":["workspace"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"db2","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["db2"],"properties":{"db2":{"type":"object","properties":{"host":{"type":"string","description":"Host name of the Db2 server","isRequired":true},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true}},"title":"db2","required":["host","database"],"additionalProperties":false,"description":"IBM Db2 for Linux, UNIX and Windows. An integration connects to one\n database, so host and database together identify it.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"dbt_cloud","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["dbtCloud"],"properties":{"dbtCloud":{"type":"object","properties":{"apiEndpoint":{"type":"string","description":"API endpoint for Dbt Cloud","isRequired":true},"accountId":{"type":"string","description":"Account ID","isRequired":true},"projectId":{"type":"string","description":"Project ID","isRequired":true}},"title":"dbt_cloud","required":["apiEndpoint","accountId","projectId"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"duckdb","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["duckdb"],"properties":{"duckdb":{"type":"object","properties":{"motherduckAccount":{"type":"string"}},"title":"duckdb","additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"fabric","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["fabric"],"properties":{"fabric":{"type":"object","properties":{"instance":{"type":"string","description":"Workspace SQL analytics endpoint host, e.g.\n \"\u003cworkspace-id>.datawarehouse.fabric.microsoft.com\". Identifies the Fabric\n workspace the integration connects to. Fabric is workspace-scoped with\n cross-database queries, so the workspace host alone identifies the platform\n (like Databricks' workspace URL); a specific warehouse/table is addressed by\n FabricTableIdentifier.","isRequired":true},"workspaceId":{"type":"string","description":"Fabric workspace GUID — the identifier used by the Fabric REST API for\n workspace-scoped resources. The Fabric endpoint host in `instance` encodes\n the tenant and workspace GUIDs; this is the decoded workspace GUID, provided\n so you don't have to decode it yourself. `instance` remains the identifying\n value. Optional: empty when the host isn't a standard Fabric endpoint."},"tenantId":{"type":"string","description":"Entra (Azure AD) tenant GUID, decoded from the endpoint host in `instance`\n alongside workspace_id. Optional: empty when the host isn't a standard\n Fabric endpoint."}},"title":"fabric","required":["instance"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"mssql","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["mssql"],"properties":{"mssql":{"type":"object","properties":{"host":{"type":"string","description":"SQL Server host","isRequired":true},"database":{"type":"string","description":"Database name","isRequired":true}},"title":"mssql","required":["host","database"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"mysql","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["mysql"],"properties":{"mysql":{"type":"object","properties":{"host":{"type":"string","description":"Mysql host inclusive of port","isRequired":true}},"title":"mysql","required":["host"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"oracle","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["oracle"],"properties":{"oracle":{"type":"object","properties":{"host":{"type":"string","description":"Oracle host","isRequired":true},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true}},"title":"oracle","required":["host","serviceName"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"postgres","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["postgres"],"properties":{"postgres":{"type":"object","properties":{"host":{"type":"string","description":"Postgres host inclusive of port","isRequired":true},"database":{"type":"string","description":"Postgres database","isRequired":true}},"title":"postgres","required":["host","database"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"redshift","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["redshift"],"properties":{"redshift":{"type":"object","properties":{"cluster":{"type":"string","description":"Redshift cluster","isRequired":true},"database":{"type":"string","description":"Redshift database","isRequired":true}},"title":"redshift","required":["cluster","database"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"snowflake","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["snowflake"],"properties":{"snowflake":{"type":"object","properties":{"account":{"type":"string","description":"Snowflake account","isRequired":true},"database":{"type":"string","description":"Snowflake database","isRequired":true}},"title":"snowflake","required":["account","database"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"sql_mesh","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["sqlMesh"],"properties":{"sqlMesh":{"type":"object","properties":{"defaultDatabaseInstance":{"type":"string","description":"Default database instance for SQL Mesh","isRequired":true}},"title":"sql_mesh","required":["defaultDatabaseInstance"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"synq_integration_id","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["synqIntegrationId"],"properties":{"synqIntegrationId":{"type":"string","title":"synq_integration_id","description":"Coalesce Quality integration ID maps to the created integration on the Coalesce Quality platform.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"trino","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["trino"],"properties":{"trino":{"type":"object","properties":{"coordinator":{"type":"string"}},"title":"trino","additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"unknown","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["unknown"],"properties":{"unknown":{"type":"object","title":"unknown","additionalProperties":false,"isRequired":true}},"additionalProperties":false}]}},"title":"in_data_platform","additionalProperties":false,"description":"Resolves to all entities that belong to the given data platform.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"in_dataproduct","required":["inDataproduct"],"properties":{"inDataproduct":{"type":"object","properties":{"identifier":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Dataproduct id that identifies the Dataproduct","isRequired":true}},"title":"DataproductIdentifier","required":["id"],"additionalProperties":false}},"title":"in_dataproduct","additionalProperties":false,"description":"Resolves to all the assets that belong to the given data product.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"in_domain","required":["inDomain"],"properties":{"inDomain":{"type":"object","properties":{"domainId":{"type":"string","format":"uuid"}},"title":"in_domain","additionalProperties":false,"description":"Resolves to all entities in the given data domain.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"in_folder","required":["inFolder"],"properties":{"inFolder":{"type":"object","properties":{"path":{"type":"array","items":{"type":"string"},"description":"Opaque folder identifiers (a folder's own entity id). `folders` is the\n structured, human-authorable alternative. When `path` is the only source\n set and `deep` is unset, `deep` defaults to true for back-compat with\n queries authored before `deep` existed."},"folders":{"type":"array","items":{"type":"object","properties":{"rootEntityId":{"type":"string","description":"Opaque id of the entity the folder hierarchy hangs under — an integration\n root or container (for example a warehouse instance, a database, or a\n transformation project). Take it verbatim from `FolderRef.root_entity_id`\n of a folder you already read, or from an entity id returned elsewhere."},"folders":{"type":"array","items":{"type":"string"},"description":"Ordered folder names from the root down to this folder (root first, leaf\n last), for example [\"staging\", \"sales\"]. Empty means the ref points at the\n root entity itself. Folder names are kept as separate segments (not joined\n with \"/\") because some platforms allow \"/\" inside a single folder name."}},"title":"FolderRef","additionalProperties":false,"description":"FolderRef is the human-friendly, structured address of a folder: the entity it\n hangs under (`root_entity_id`) plus the ordered folder names from that root\n down to the folder (`folders`).\n\n It is the stable way to name a folder across responses. Prefer it over the\n opaque folder entity id when you want to log, display, or reconstruct a\n location — the segments are the same names a user sees in the catalog, and\n they survive changes to the underlying id encoding.\n\n A `FolderRef` with an empty `folders` list names the root entity itself (a\n top-level integration or container the hierarchy hangs from).\n\n This type lives in `synq.entities.v1` (rather than a folder-specific package)\n so it can be shared by both the folders navigation API and the query API\n without an import cycle."},"description":"Structured, human-authorable folder addresses (root entity + folder-name\n segments). Take a `FolderRef` verbatim from a folder returned by the folders\n navigation API, or build one from names you can see in the catalog."},"folderOf":{"type":"object","properties":{"entityIds":{"type":"array","items":{"type":"string"},"description":"Simplified source: the assets named directly by opaque entity id. Use this\n for the common \"same folder as these specific assets\" case; equivalent to an\n input_query that lists the same ids."},"inputQuery":{"$circularRef":"5b88d704-2a2e-4c1a-837b-99543d863e65","description":"General source: resolve the folder(s) of whatever assets this query matches\n (e.g. a name or type filter). Use when the assets can't be listed up front."},"includeAllAncestors":{"type":"boolean","description":"When false (default): only each asset's immediate parent folder. When true:\n every ancestor folder up the hierarchy, so `InFolder` then also matches\n assets in those ancestor folders."}},"title":"FolderOf","additionalProperties":false,"description":"Resolve the folders to search from a set of assets, rather than naming them.\n Selects everything in the folder(s) that contain those assets."},"deep":{"oneOf":[{"type":"boolean","description":"When false or unset, matches only the direct members of the folder(s). When\n true, matches the entire recursive subtree (members of subfolders too).\n\n Exception: when only the legacy `path` source is set and `deep` is unset,\n it defaults to true (preserves the behaviour of queries authored before this\n flag existed). With `folders` or `folder_of`, unset means false (shallow)."},{"type":"null","description":"When false or unset, matches only the direct members of the folder(s). When\n true, matches the entire recursive subtree (members of subfolders too).\n\n Exception: when only the legacy `path` source is set and `deep` is unset,\n it defaults to true (preserves the behaviour of queries authored before this\n flag existed). With `folders` or `folder_of`, unset means false (shallow)."}]}},"title":"in_folder","additionalProperties":false,"description":"Resolves to entities located in one or more folders.\n\n Give the folders exactly one way (they are mutually exclusive; if more than\n one is set, `folders` wins, then `folder_of`, then `path`):\n - `folders` — the preferred, human-authorable form: name each folder by\n its root entity plus its ordered folder-name segments. No\n opaque ids required.\n - `folder_of` — \"the same folder(s) as these assets\": resolves the folder(s)\n containing the assets matched by an inner query, then matches\n everything in them. Lets you select siblings without naming a\n folder.\n - `path` — legacy opaque folder identifiers. Kept for back-compat;\n prefer `folders`. Discover a folder's structured address\n with the folders navigation API instead of hand-writing an id.\n\n `deep` controls recursion (see its field comment).\n\n InFolder lives here rather than in query_parts.proto because FolderOf nests a\n full Query, which would make query_parts.proto import query.proto and form a\n proto file import cycle.\nin_folder.exactly_one_source // set exactly one of path, folders, or folder_of\n","isRequired":true}},"additionalProperties":false},{"type":"object","title":"query","required":["query"],"properties":{"query":{"$circularRef":"5b88d704-2a2e-4c1a-837b-99543d863e65","title":"query","description":"Nested sub-query, enabling recursive composition of filters and operands.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"unsupported","required":["unsupported"],"properties":{"unsupported":{"type":"object","properties":{"queryJson":{"type":"string"}},"title":"unsupported","additionalProperties":false,"description":"Read-only. Represents internal query types that cannot be expressed in the public API.\n Do not construct these directly — they are returned when translating from internal queries.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"with_annotation","required":["withAnnotation"],"properties":{"withAnnotation":{"type":"object","properties":{"name":{"type":"string"},"acceptedValue":{"oneOf":[{"type":"string","deprecated":true},{"type":"null","deprecated":true}]},"acceptedValues":{"type":"array","items":{"type":"string"}}},"title":"with_annotation","additionalProperties":false,"description":"Resolves to all entities that contain the annotation with at least one of the provided accepted values.\n In case of no given accepted values, all entities that carry the given annotation are returned.\n The name and the values match case-insensitively.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"with_data_platform_type","required":["withDataPlatformType"],"properties":{"withDataPlatformType":{"type":"object","properties":{"types":{"type":"array","items":{"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"]}}},"title":"with_data_platform_type","additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"with_default_visible_types","required":["withDefaultVisibleTypes"],"properties":{"withDefaultVisibleTypes":{"type":"object","title":"with_default_visible_types","additionalProperties":false,"description":"Resolves to every asset of a type the catalog shows by default — the\n \"everything\" starting set.\n\n Use it as the base of a subtraction, e.g. an EXCEPT query whose first part is\n WithDefaultVisibleTypes and whose second part is what to leave out. On its own\n it selects the whole catalog, so it is rarely useful as the only part of a\n query.\n\n \"Default visible\" excludes the supporting asset types the catalog hides unless\n asked for (columns, tests, and similar), so this is not literally every entity.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"with_name_search","required":["withNameSearch"],"properties":{"withNameSearch":{"type":"object","properties":{"searchQuery":{"type":"string"}},"title":"with_name_search","additionalProperties":false,"description":"Resolves to all entities matching the given name search.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"with_type","required":["withType"],"properties":{"withType":{"type":"object","properties":{"type":{"oneOf":[{"type":"object","title":"custom","required":["custom"],"deprecated":true,"properties":{"custom":{"type":"integer","title":"custom","format":"int32","description":"Custom types as defined through synq.entities.custom.v1.TypesService","isRequired":true}},"additionalProperties":false},{"type":"object","title":"default","required":["default"],"deprecated":true,"properties":{"default":{"type":"string","title":"default","enum":["ENTITY_TYPE_UNSPECIFIED","ENTITY_TYPE_BQ_TABLE","ENTITY_TYPE_BQ_VIEW","ENTITY_TYPE_BQ_PROCEDURE","ENTITY_TYPE_BQ_FUNCTION","ENTITY_TYPE_LOOKER_LOOK","ENTITY_TYPE_LOOKER_EXPLORE","ENTITY_TYPE_LOOKER_VIEW","ENTITY_TYPE_LOOKER_DASHBOARD","ENTITY_TYPE_LOOKER_INSTANCE","ENTITY_TYPE_DBT_MODEL","ENTITY_TYPE_DBT_TEST","ENTITY_TYPE_DBT_SOURCE","ENTITY_TYPE_DBT_PROJECT","ENTITY_TYPE_DBT_METRIC","ENTITY_TYPE_DBT_SNAPSHOT","ENTITY_TYPE_DBT_SEED","ENTITY_TYPE_DBT_ANALYSIS","ENTITY_TYPE_DBT_EXPOSURE","ENTITY_TYPE_DBT_GROUP","ENTITY_TYPE_DBT_SEMANTIC_MODEL","ENTITY_TYPE_DBT_CLOUD_PROJECT","ENTITY_TYPE_DBT_CLOUD_JOB","ENTITY_TYPE_SNOWFLAKE_TABLE","ENTITY_TYPE_SNOWFLAKE_VIEW","ENTITY_TYPE_SNOWFLAKE_STREAM","ENTITY_TYPE_SNOWFLAKE_DYNAMIC_TABLE","ENTITY_TYPE_SNOWFLAKE_TASK","ENTITY_TYPE_SNOWFLAKE_EXTERNAL_TABLE","ENTITY_TYPE_SNOWFLAKE_MATERIALIZED_VIEW","ENTITY_TYPE_SNOWFLAKE_PROCEDURE","ENTITY_TYPE_SNOWFLAKE_FUNCTION","ENTITY_TYPE_SNOWFLAKE_SEMANTIC_VIEW","ENTITY_TYPE_SNOWFLAKE_STAGE","ENTITY_TYPE_SNOWFLAKE_STREAMLIT","ENTITY_TYPE_SNOWFLAKE_NOTEBOOK","ENTITY_TYPE_SNOWFLAKE_WAREHOUSE","ENTITY_TYPE_SNOWFLAKE_PIPE","ENTITY_TYPE_SNOWFLAKE_CORTEX_SEARCH_SERVICE","ENTITY_TYPE_REDSHIFT_TABLE","ENTITY_TYPE_REDSHIFT_VIEW","ENTITY_TYPE_REDSHIFT_PROCEDURE","ENTITY_TYPE_REDSHIFT_FUNCTION","ENTITY_TYPE_TABLEAU_EMBEDDED","ENTITY_TYPE_TABLEAU_PUBLISHED","ENTITY_TYPE_TABLEAU_CUSTOM_SQL","ENTITY_TYPE_TABLEAU_TABLE","ENTITY_TYPE_TABLEAU_SHEET","ENTITY_TYPE_TABLEAU_DASHBOARD","ENTITY_TYPE_TABLEAU_WORKBOOK","ENTITY_TYPE_TABLEAU_SITE","ENTITY_TYPE_AIRFLOW_DAG","ENTITY_TYPE_AIRFLOW_TASK","ENTITY_TYPE_CLICKHOUSE_TABLE","ENTITY_TYPE_CLICKHOUSE_VIEW","ENTITY_TYPE_ANOMALY_MONITOR","ENTITY_TYPE_ANOMALY_MONITOR_SEGMENT","ENTITY_TYPE_SQLTEST_TEST","ENTITY_TYPE_RECON_SUITE","ENTITY_TYPE_RECON_CASE","ENTITY_TYPE_LINEAGE_FOLD","ENTITY_TYPE_POSTGRES_TABLE","ENTITY_TYPE_POSTGRES_VIEW","ENTITY_TYPE_MYSQL_TABLE","ENTITY_TYPE_MYSQL_VIEW","ENTITY_TYPE_DATABRICKS_WAREHOUSE","ENTITY_TYPE_DATABRICKS_TABLE","ENTITY_TYPE_DATABRICKS_VIEW","ENTITY_TYPE_DATABRICKS_JOB","ENTITY_TYPE_DATABRICKS_JOB_TASK","ENTITY_TYPE_DATABRICKS_NOTEBOOK","ENTITY_TYPE_DATABRICKS_QUERY","ENTITY_TYPE_DATABRICKS_DASHBOARD","ENTITY_TYPE_DATABRICKS_METRIC_VIEW","ENTITY_TYPE_DATABRICKS_APP","ENTITY_TYPE_SQLMESH_PROJECT","ENTITY_TYPE_SQLMESH_SQL_MODEL","ENTITY_TYPE_SQLMESH_PYTHON_MODEL","ENTITY_TYPE_SQLMESH_EXTERNAL","ENTITY_TYPE_SQLMESH_SEED","ENTITY_TYPE_SQLMESH_AUDIT","ENTITY_TYPE_SQLMESH_UNIT_TEST","ENTITY_TYPE_SQLMESH_ENVIRONMENT","ENTITY_TYPE_SQLMESH_SNAPSHOT","ENTITY_TYPE_DUCKDB_TABLE","ENTITY_TYPE_DUCKDB_VIEW","ENTITY_TYPE_TRINO_TABLE","ENTITY_TYPE_TRINO_VIEW","ENTITY_TYPE_ATLAN_ASSET","ENTITY_TYPE_ATLAN_INTEGRATION","ENTITY_TYPE_COALESCE_PROJECT","ENTITY_TYPE_COALESCE_ENVIRONMENT","ENTITY_TYPE_COALESCE_NODE","ENTITY_TYPE_COALESCE_NODE_TEST","ENTITY_TYPE_COALESCE_JOB","ENTITY_TYPE_CASTORDOC_TABLE","ENTITY_TYPE_CASTORDOC_DASHBOARD","ENTITY_TYPE_CASTORDOC_VIEW","ENTITY_TYPE_CASTORDOC_TILE","ENTITY_TYPE_CASTORDOC_VIZ_MODEL","ENTITY_TYPE_POWERBI_REPORT","ENTITY_TYPE_POWERBI_TILE","ENTITY_TYPE_POWERBI_DATASET","ENTITY_TYPE_POWERBI_DASHBOARD","ENTITY_TYPE_POWERBI_TENANT","ENTITY_TYPE_THOUGHTSPOT_LIVEBOARD","ENTITY_TYPE_THOUGHTSPOT_WORKSHEET","ENTITY_TYPE_SIGMA_WORKBOOK","ENTITY_TYPE_SIGMA_DATA_MODEL","ENTITY_TYPE_SIGMA_ORGANIZATION","ENTITY_TYPE_DOMO_PAGE","ENTITY_TYPE_DOMO_DATASET","ENTITY_TYPE_MSSQL_TABLE","ENTITY_TYPE_MSSQL_VIEW","ENTITY_TYPE_MSSQL_PROCEDURE","ENTITY_TYPE_MSSQL_FUNCTION","ENTITY_TYPE_ORACLE_TABLE","ENTITY_TYPE_ORACLE_VIEW","ENTITY_TYPE_ORACLE_PROCEDURE","ENTITY_TYPE_ORACLE_FUNCTION","ENTITY_TYPE_ATHENA_TABLE","ENTITY_TYPE_ATHENA_VIEW","ENTITY_TYPE_FABRIC_TABLE","ENTITY_TYPE_FABRIC_VIEW","ENTITY_TYPE_FABRIC_PROCEDURE","ENTITY_TYPE_FABRIC_FUNCTION","ENTITY_TYPE_DB2_TABLE","ENTITY_TYPE_DB2_VIEW","ENTITY_TYPE_DB2_PROCEDURE","ENTITY_TYPE_DB2_FUNCTION","ENTITY_TYPE_LOOKER_STUDIO_CUSTOMER","ENTITY_TYPE_LOOKER_STUDIO_REPORT","ENTITY_TYPE_LOOKER_STUDIO_DATA_SOURCE","ENTITY_TYPE_CUSTOM_ENTITY_GENERIC","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MIN","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MAX"],"description":"Default Coalesce Quality types","isRequired":true}},"additionalProperties":false}]},"types":{"type":"array","items":{"oneOf":[{"type":"object","title":"custom","required":["custom"],"properties":{"custom":{"type":"integer","title":"custom","format":"int32","description":"Custom types as defined through synq.entities.custom.v1.TypesService","isRequired":true}},"additionalProperties":false},{"type":"object","title":"default","required":["default"],"properties":{"default":{"type":"string","title":"default","enum":["ENTITY_TYPE_UNSPECIFIED","ENTITY_TYPE_BQ_TABLE","ENTITY_TYPE_BQ_VIEW","ENTITY_TYPE_BQ_PROCEDURE","ENTITY_TYPE_BQ_FUNCTION","ENTITY_TYPE_LOOKER_LOOK","ENTITY_TYPE_LOOKER_EXPLORE","ENTITY_TYPE_LOOKER_VIEW","ENTITY_TYPE_LOOKER_DASHBOARD","ENTITY_TYPE_LOOKER_INSTANCE","ENTITY_TYPE_DBT_MODEL","ENTITY_TYPE_DBT_TEST","ENTITY_TYPE_DBT_SOURCE","ENTITY_TYPE_DBT_PROJECT","ENTITY_TYPE_DBT_METRIC","ENTITY_TYPE_DBT_SNAPSHOT","ENTITY_TYPE_DBT_SEED","ENTITY_TYPE_DBT_ANALYSIS","ENTITY_TYPE_DBT_EXPOSURE","ENTITY_TYPE_DBT_GROUP","ENTITY_TYPE_DBT_SEMANTIC_MODEL","ENTITY_TYPE_DBT_CLOUD_PROJECT","ENTITY_TYPE_DBT_CLOUD_JOB","ENTITY_TYPE_SNOWFLAKE_TABLE","ENTITY_TYPE_SNOWFLAKE_VIEW","ENTITY_TYPE_SNOWFLAKE_STREAM","ENTITY_TYPE_SNOWFLAKE_DYNAMIC_TABLE","ENTITY_TYPE_SNOWFLAKE_TASK","ENTITY_TYPE_SNOWFLAKE_EXTERNAL_TABLE","ENTITY_TYPE_SNOWFLAKE_MATERIALIZED_VIEW","ENTITY_TYPE_SNOWFLAKE_PROCEDURE","ENTITY_TYPE_SNOWFLAKE_FUNCTION","ENTITY_TYPE_SNOWFLAKE_SEMANTIC_VIEW","ENTITY_TYPE_SNOWFLAKE_STAGE","ENTITY_TYPE_SNOWFLAKE_STREAMLIT","ENTITY_TYPE_SNOWFLAKE_NOTEBOOK","ENTITY_TYPE_SNOWFLAKE_WAREHOUSE","ENTITY_TYPE_SNOWFLAKE_PIPE","ENTITY_TYPE_SNOWFLAKE_CORTEX_SEARCH_SERVICE","ENTITY_TYPE_REDSHIFT_TABLE","ENTITY_TYPE_REDSHIFT_VIEW","ENTITY_TYPE_REDSHIFT_PROCEDURE","ENTITY_TYPE_REDSHIFT_FUNCTION","ENTITY_TYPE_TABLEAU_EMBEDDED","ENTITY_TYPE_TABLEAU_PUBLISHED","ENTITY_TYPE_TABLEAU_CUSTOM_SQL","ENTITY_TYPE_TABLEAU_TABLE","ENTITY_TYPE_TABLEAU_SHEET","ENTITY_TYPE_TABLEAU_DASHBOARD","ENTITY_TYPE_TABLEAU_WORKBOOK","ENTITY_TYPE_TABLEAU_SITE","ENTITY_TYPE_AIRFLOW_DAG","ENTITY_TYPE_AIRFLOW_TASK","ENTITY_TYPE_CLICKHOUSE_TABLE","ENTITY_TYPE_CLICKHOUSE_VIEW","ENTITY_TYPE_ANOMALY_MONITOR","ENTITY_TYPE_ANOMALY_MONITOR_SEGMENT","ENTITY_TYPE_SQLTEST_TEST","ENTITY_TYPE_RECON_SUITE","ENTITY_TYPE_RECON_CASE","ENTITY_TYPE_LINEAGE_FOLD","ENTITY_TYPE_POSTGRES_TABLE","ENTITY_TYPE_POSTGRES_VIEW","ENTITY_TYPE_MYSQL_TABLE","ENTITY_TYPE_MYSQL_VIEW","ENTITY_TYPE_DATABRICKS_WAREHOUSE","ENTITY_TYPE_DATABRICKS_TABLE","ENTITY_TYPE_DATABRICKS_VIEW","ENTITY_TYPE_DATABRICKS_JOB","ENTITY_TYPE_DATABRICKS_JOB_TASK","ENTITY_TYPE_DATABRICKS_NOTEBOOK","ENTITY_TYPE_DATABRICKS_QUERY","ENTITY_TYPE_DATABRICKS_DASHBOARD","ENTITY_TYPE_DATABRICKS_METRIC_VIEW","ENTITY_TYPE_DATABRICKS_APP","ENTITY_TYPE_SQLMESH_PROJECT","ENTITY_TYPE_SQLMESH_SQL_MODEL","ENTITY_TYPE_SQLMESH_PYTHON_MODEL","ENTITY_TYPE_SQLMESH_EXTERNAL","ENTITY_TYPE_SQLMESH_SEED","ENTITY_TYPE_SQLMESH_AUDIT","ENTITY_TYPE_SQLMESH_UNIT_TEST","ENTITY_TYPE_SQLMESH_ENVIRONMENT","ENTITY_TYPE_SQLMESH_SNAPSHOT","ENTITY_TYPE_DUCKDB_TABLE","ENTITY_TYPE_DUCKDB_VIEW","ENTITY_TYPE_TRINO_TABLE","ENTITY_TYPE_TRINO_VIEW","ENTITY_TYPE_ATLAN_ASSET","ENTITY_TYPE_ATLAN_INTEGRATION","ENTITY_TYPE_COALESCE_PROJECT","ENTITY_TYPE_COALESCE_ENVIRONMENT","ENTITY_TYPE_COALESCE_NODE","ENTITY_TYPE_COALESCE_NODE_TEST","ENTITY_TYPE_COALESCE_JOB","ENTITY_TYPE_CASTORDOC_TABLE","ENTITY_TYPE_CASTORDOC_DASHBOARD","ENTITY_TYPE_CASTORDOC_VIEW","ENTITY_TYPE_CASTORDOC_TILE","ENTITY_TYPE_CASTORDOC_VIZ_MODEL","ENTITY_TYPE_POWERBI_REPORT","ENTITY_TYPE_POWERBI_TILE","ENTITY_TYPE_POWERBI_DATASET","ENTITY_TYPE_POWERBI_DASHBOARD","ENTITY_TYPE_POWERBI_TENANT","ENTITY_TYPE_THOUGHTSPOT_LIVEBOARD","ENTITY_TYPE_THOUGHTSPOT_WORKSHEET","ENTITY_TYPE_SIGMA_WORKBOOK","ENTITY_TYPE_SIGMA_DATA_MODEL","ENTITY_TYPE_SIGMA_ORGANIZATION","ENTITY_TYPE_DOMO_PAGE","ENTITY_TYPE_DOMO_DATASET","ENTITY_TYPE_MSSQL_TABLE","ENTITY_TYPE_MSSQL_VIEW","ENTITY_TYPE_MSSQL_PROCEDURE","ENTITY_TYPE_MSSQL_FUNCTION","ENTITY_TYPE_ORACLE_TABLE","ENTITY_TYPE_ORACLE_VIEW","ENTITY_TYPE_ORACLE_PROCEDURE","ENTITY_TYPE_ORACLE_FUNCTION","ENTITY_TYPE_ATHENA_TABLE","ENTITY_TYPE_ATHENA_VIEW","ENTITY_TYPE_FABRIC_TABLE","ENTITY_TYPE_FABRIC_VIEW","ENTITY_TYPE_FABRIC_PROCEDURE","ENTITY_TYPE_FABRIC_FUNCTION","ENTITY_TYPE_DB2_TABLE","ENTITY_TYPE_DB2_VIEW","ENTITY_TYPE_DB2_PROCEDURE","ENTITY_TYPE_DB2_FUNCTION","ENTITY_TYPE_LOOKER_STUDIO_CUSTOMER","ENTITY_TYPE_LOOKER_STUDIO_REPORT","ENTITY_TYPE_LOOKER_STUDIO_DATA_SOURCE","ENTITY_TYPE_CUSTOM_ENTITY_GENERIC","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MIN","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MAX"],"description":"Default Coalesce Quality types","isRequired":true}},"additionalProperties":false}]}},"traits":{"type":"array","items":{"type":"string"},"description":"Traits to select by, instead of — or alongside — naming types.\n\n A trait is a property a type has, so `is_monitorable` means \"everything a\n monitor can run on\" without listing the forty-odd types that satisfy it\n today. The list it stands for is worked out each time the selection runs,\n so a selection saved this way covers a new platform's tables as soon as we\n support them, and you never have to revisit it.\n\n Entities carrying any of the traits match. When `types` is also set the two\n narrow each other: the entity must be one of the named types AND carry one\n of the traits.\n\n Accepted values, and what each one means, come from the selection-query\n grammar the API publishes (`describe_resolver_ql`, or the query editor's\n reference). A name that is not in it selects nothing rather than being\n ignored, so a typo narrows the result to empty instead of widening it —\n check a trait against the grammar before storing a selection. In a query\n written as text this is `with_type(traits=\"is_monitorable\")`, and there a\n name outside the grammar is rejected outright.\n\n A trait may also be a type alias, spelled `alias:\u003cname>` where `\u003cname>` is\n one of the aliases the grammar lists among the entity types, e.g.\n `alias:table`. It selects every type the alias stands for, worked out each\n time the selection runs like any other trait. A selection written as\n `with_type(\"table\")` is stored this way and reads back with\n `traits: [\"alias:table\"]`; writing that back keeps the same selection. In a\n query written as text an alias is always `with_type(\"table\")`, never\n `traits=\"alias:table\"`."}},"title":"with_type","additionalProperties":false,"description":"Resolves to all the entities that have the provided type, or carry one of the\n provided traits.","isRequired":true}},"additionalProperties":false}]}},"operand":{"type":"string","title":"QueryOperand","enum":["QUERY_OPERAND_UNSPECIFIED","QUERY_OPERAND_AND","QUERY_OPERAND_OR","QUERY_OPERAND_EXCEPT","QUERY_OPERAND_UPSTREAM","QUERY_OPERAND_DOWNSTREAM"],"description":"Defaults to AND if not specified."}},"title":"Query","additionalProperties":false,"description":"Query is a structured query that can be used to find entities in the system.\n It consists of multiple parts, each representing a different filter or sub-query.\n The parts are combined using the operand to form the final result:\n - AND (default): returns only entities matching ALL parts (intersection).\n - OR: returns entities matching ANY part (union).\n - EXCEPT: requires exactly 2 parts — returns entities from part[0] that are NOT in part[1].\n - UPSTREAM: returns entities that are upstream (dependencies) of the entities matched by the parts.\n - DOWNSTREAM: returns entities that are downstream (dependents) of the entities matched by the parts.\n\n Queries can be nested by using a Query as a QueryPart, enabling complex compositions\n like \"upstream of all Snowflake tables\".\nquery.except_parts_select_something // each QUERY_OPERAND_EXCEPT part must select something\nquery.except_requires_two_parts // QUERY_OPERAND_EXCEPT requires exactly 2 parts\n"},"c79c7116-4afc-4517-9fe8-67fe693cd4e1":{"type":"object","properties":{"path":{"type":"array","items":{"type":"string"},"description":"Opaque folder identifiers (a folder's own entity id). `folders` is the\n structured, human-authorable alternative. When `path` is the only source\n set and `deep` is unset, `deep` defaults to true for back-compat with\n queries authored before `deep` existed."},"folders":{"type":"array","items":{"type":"object","properties":{"rootEntityId":{"type":"string","description":"Opaque id of the entity the folder hierarchy hangs under — an integration\n root or container (for example a warehouse instance, a database, or a\n transformation project). Take it verbatim from `FolderRef.root_entity_id`\n of a folder you already read, or from an entity id returned elsewhere."},"folders":{"type":"array","items":{"type":"string"},"description":"Ordered folder names from the root down to this folder (root first, leaf\n last), for example [\"staging\", \"sales\"]. Empty means the ref points at the\n root entity itself. Folder names are kept as separate segments (not joined\n with \"/\") because some platforms allow \"/\" inside a single folder name."}},"title":"FolderRef","additionalProperties":false,"description":"FolderRef is the human-friendly, structured address of a folder: the entity it\n hangs under (`root_entity_id`) plus the ordered folder names from that root\n down to the folder (`folders`).\n\n It is the stable way to name a folder across responses. Prefer it over the\n opaque folder entity id when you want to log, display, or reconstruct a\n location — the segments are the same names a user sees in the catalog, and\n they survive changes to the underlying id encoding.\n\n A `FolderRef` with an empty `folders` list names the root entity itself (a\n top-level integration or container the hierarchy hangs from).\n\n This type lives in `synq.entities.v1` (rather than a folder-specific package)\n so it can be shared by both the folders navigation API and the query API\n without an import cycle."},"description":"Structured, human-authorable folder addresses (root entity + folder-name\n segments). Take a `FolderRef` verbatim from a folder returned by the folders\n navigation API, or build one from names you can see in the catalog."},"folderOf":{"type":"object","properties":{"entityIds":{"type":"array","items":{"type":"string"},"description":"Simplified source: the assets named directly by opaque entity id. Use this\n for the common \"same folder as these specific assets\" case; equivalent to an\n input_query that lists the same ids."},"inputQuery":{"type":"object","properties":{"parts":{"type":"array","items":{"oneOf":[{"type":"object","title":"entity_ids","required":["entityIds"],"properties":{"entityIds":{"type":"object","properties":{"entityIds":{"type":"array","items":{"type":"string","maxLength":1024,"minLength":1},"description":"The entities to select. An id may not be blank.\n\n An empty list selects no entities, exactly as an empty `identifier_list`\n does. Be deliberate about it, because it is not the same as leaving the part\n out: a part that selects nothing still counts, so it empties an AND, adds\n nothing to an OR, and removes nothing from an EXCEPT. If what you mean is\n \"do not restrict on specific entities\", omit the part instead of sending it\n empty.\n\n Ids may be up to 1024 characters — the same limit as `Identifier.entity_id`,\n where you read them from, so any id the API returned is accepted here."}},"title":"entity_ids","additionalProperties":false,"description":"Pin specific entities by the ids the API returned for them. Read back as\n `identifier_list`, with each id on the identifier it names.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"identifier_list","required":["identifierList"],"properties":{"identifierList":{"type":"object","properties":{"identifiers":{"type":"array","items":{"oneOf":[{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["airflowDag"],"properties":{"airflowDag":{"type":"object","properties":{"integrationId":{"type":"string","description":"Coalesce Quality integration_id that identifies the Airflow instance","isRequired":true},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["airflowTask"],"properties":{"airflowTask":{"type":"object","properties":{"integrationId":{"type":"string","description":"Coalesce Quality integration_id that identifies the Airflow instance","isRequired":true},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true}},"title":"airflow_task","required":["integrationId","dagId","taskId"],"additionalProperties":false,"description":"Airflow task identifier within a given DAG","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["athenaTable"],"properties":{"athenaTable":{"type":"object","properties":{"instance":{"type":"string","description":"AWS account and region the Athena workgroup runs in, formatted as\n \"\u003caccount-id>.\u003cregion>\" (e.g. \"123456789012.eu-west-1\"). Auto-derived\n from sts:GetCallerIdentity at integration setup time.","isRequired":true},"catalog":{"type":"string","description":"Glue Data Catalog name. Almost always \"AwsDataCatalog\" — the default\n catalog for Athena unless the customer registered a federated catalog.","isRequired":true},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true},"table":{"type":"string","description":"Glue table or view name.","isRequired":true}},"title":"athena_table","required":["instance","catalog","database","table"],"additionalProperties":false,"description":"Amazon Athena (Glue) table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["bigqueryTable"],"properties":{"bigqueryTable":{"type":"object","properties":{"project":{"type":"string","description":"BigQuery project","isRequired":true},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true},"table":{"type":"string","description":"BigQuery table name","isRequired":true}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["clickhouseTable"],"properties":{"clickhouseTable":{"type":"object","properties":{"host":{"type":"string","description":"Clickhouse hostname without port","isRequired":true},"schema":{"type":"string","description":"Clickhouse database","isRequired":true},"table":{"type":"string","description":"Clickhouse table","isRequired":true}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["custom"],"properties":{"custom":{"type":"object","properties":{"id":{"type":"string","description":"Id that identifies the custom entity\n The Id should be unique within the custom entity Identifier.","isRequired":true}},"title":"custom","required":["id"],"additionalProperties":false,"description":"Custom identifier to be used with all custom created entities","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["databricksTable"],"properties":{"databricksTable":{"type":"object","properties":{"workspace":{"type":"string","description":"URL of Databricks workspace","isRequired":true},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true},"schema":{"type":"string","description":"Databricks schema","isRequired":true},"table":{"type":"string","description":"Databricks table or view","isRequired":true}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["dataproduct"],"properties":{"dataproduct":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Dataproduct id that identifies the Dataproduct","isRequired":true}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["db2Table"],"properties":{"db2Table":{"type":"object","properties":{"host":{"type":"string","description":"Host name of the Db2 server","isRequired":true},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true},"table":{"type":"string","description":"Db2 table or view","isRequired":true}},"title":"db2_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"IBM Db2 LUW table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["dbtCloudNode"],"properties":{"dbtCloudNode":{"type":"object","properties":{"projectId":{"type":"string","description":"Your dbt Cloud project id","isRequired":true},"nodeId":{"type":"string","description":"Dbt node_id that identifies one of dbt DAG nodes (model, test, etc)","isRequired":true},"accountId":{"type":"string","description":"Your dbt Cloud account id"}},"title":"dbt_cloud_node","required":["projectId","nodeId"],"additionalProperties":false,"description":"Dbt node that identifies one of dbt DAG nodes (model, test, etc) in dbt Cloud project","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["dbtCoreNode"],"properties":{"dbtCoreNode":{"type":"object","properties":{"integrationId":{"type":"string","description":"Opaque identifier of the dbt Core project. Usually the Coalesce Quality\n integration id (a UUID), but may also be the dbt project name from\n manifest.json when the integration is configured to identify assets by\n project name. Treat it as an opaque string, not a UUID.","isRequired":true},"nodeId":{"type":"string","description":"Dbt node_id that identifies one of dbt DAG nodes (model, test, etc)","isRequired":true}},"title":"dbt_core_node","required":["integrationId","nodeId"],"additionalProperties":false,"description":"Dbt node that identifies one of dbt DAG nodes (model, test, etc) in dbt Core project","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["fabricTable"],"properties":{"fabricTable":{"type":"object","properties":{"instance":{"type":"string","description":"Workspace SQL analytics endpoint host, e.g.\n \"\u003cworkspace-id>.datawarehouse.fabric.microsoft.com\".","isRequired":true},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true},"schema":{"type":"string","description":"Schema within the database.","isRequired":true},"table":{"type":"string","description":"Table or view name.","isRequired":true},"workspaceId":{"type":"string","description":"Fabric workspace GUID, decoded from the endpoint host in `instance`.\n Optional and informational: the table is addressed by\n instance/database/schema/table, so leave it empty if you don't have it —\n it does not affect how the identifier resolves."},"tenantId":{"type":"string","description":"Entra (Azure AD) tenant GUID, decoded from the endpoint host in `instance`.\n Optional and informational, like workspace_id."}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["monitor"],"properties":{"monitor":{"type":"object","properties":{"monitoredId":{"$circularRef":"9aa48dcc-3dc1-40e9-bf59-0a21c9499772","description":"Identifier of the monitored entity","isRequired":true},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier"},{"type":"null","description":"Optional monitor segmentation identifier"}]},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true}]}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["mssqlTable"],"properties":{"mssqlTable":{"type":"object","properties":{"host":{"type":"string","description":"Hostname of the SQL Server instance","isRequired":true},"database":{"type":"string","description":"SQL Server database","isRequired":true},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true},"table":{"type":"string","description":"SQL Server table or view","isRequired":true}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["mysqlTable"],"properties":{"mysqlTable":{"type":"object","properties":{"host":{"type":"string","description":"Mysql hostname without port","isRequired":true},"schema":{"type":"string","description":"Mysql database","isRequired":true},"table":{"type":"string","description":"Mysql table","isRequired":true}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["oracleTable"],"properties":{"oracleTable":{"type":"object","properties":{"host":{"type":"string","description":"Hostname of the Oracle instance","isRequired":true},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true},"table":{"type":"string","description":"Oracle table or view","isRequired":true}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["postgresTable"],"properties":{"postgresTable":{"type":"object","properties":{"host":{"type":"string","description":"Postgres hostname without port","isRequired":true},"database":{"type":"string","description":"Postgres database","isRequired":true},"schema":{"type":"string","description":"Postgres schema","isRequired":true},"table":{"type":"string","description":"Postgres table","isRequired":true}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["redshiftTable"],"properties":{"redshiftTable":{"type":"object","properties":{"database":{"type":"string","description":"Redshift database","isRequired":true},"schema":{"type":"string","description":"Redshift schema","isRequired":true},"table":{"type":"string","description":"Redshift table","isRequired":true},"cluster":{"type":"string","description":"Required. Host of the Redshift endpoint, as in the connection, for example\n `my-cluster.abc123.eu-west-1.redshift.amazonaws.com`. A port suffix is\n accepted and ignored. The bare cluster name (`my-cluster`) is not enough,\n because one name can exist in more than one account or region. A response\n returns the host in its normalized form, which is also accepted on input.\n\n The rule below also refuses an empty value. It is not `required`, because\n `required` stops the other rules and its error does not say what to send.\nredshift_table.cluster.full_host // cluster must be the full host of the Redshift endpoint from the connection, for example my-cluster.abc123.eu-west-1.redshift.amazonaws.com\n"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["savedView"],"properties":{"savedView":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Saved view id (client-supplied UUID) that identifies the saved view","isRequired":true}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["snowflakeTable"],"properties":{"snowflakeTable":{"type":"object","properties":{"account":{"type":"string","description":"Snowflake account","isRequired":true},"database":{"type":"string","description":"Snowflake database","isRequired":true},"schema":{"type":"string","description":"Snowflake schema","isRequired":true},"table":{"type":"string","description":"Snowflake table","isRequired":true}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["sqlMeshAudit"],"properties":{"sqlMeshAudit":{"type":"object","properties":{"integrationId":{"type":"string","format":"uuid","description":"Coalesce Quality integration_id that identifies the dbt Core project","isRequired":true},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["sqlMeshModel"],"properties":{"sqlMeshModel":{"type":"object","properties":{"integrationId":{"type":"string","format":"uuid","description":"Coalesce Quality integration_id that identifies the dbt Core project","isRequired":true},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["synqPath"],"properties":{"synqPath":{"type":"object","properties":{"path":{"type":"string","description":"Coalesce Quality path that identifies the Coalesce Quality entity, needs to be one of supported paths","isRequired":true}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["trinoTable"],"properties":{"trinoTable":{"type":"object","properties":{"host":{"type":"string","description":"Hostname of the Trino instance","isRequired":true},"catalog":{"type":"string","description":"Trino catalog","isRequired":true},"schema":{"type":"string","description":"Trino schema","isRequired":true},"table":{"type":"string","description":"Trino table or view","isRequired":true}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false}]}}},"title":"identifier_list","additionalProperties":false,"description":"Resolves to entities matching any of the given identifiers.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"identities_of","required":["identitiesOf"],"properties":{"identitiesOf":{"type":"object","properties":{"inputQuery":{"$circularRef":"5b88d704-2a2e-4c1a-837b-99543d863e65","description":"The assets whose identities to resolve. Required.","isRequired":true},"limitToTypes":{"type":"array","items":{"oneOf":[{"type":"object","title":"custom","required":["custom"],"properties":{"custom":{"type":"integer","title":"custom","format":"int32","description":"Custom types as defined through synq.entities.custom.v1.TypesService","isRequired":true}},"additionalProperties":false},{"type":"object","title":"default","required":["default"],"properties":{"default":{"type":"string","title":"default","enum":["ENTITY_TYPE_UNSPECIFIED","ENTITY_TYPE_BQ_TABLE","ENTITY_TYPE_BQ_VIEW","ENTITY_TYPE_BQ_PROCEDURE","ENTITY_TYPE_BQ_FUNCTION","ENTITY_TYPE_LOOKER_LOOK","ENTITY_TYPE_LOOKER_EXPLORE","ENTITY_TYPE_LOOKER_VIEW","ENTITY_TYPE_LOOKER_DASHBOARD","ENTITY_TYPE_LOOKER_INSTANCE","ENTITY_TYPE_DBT_MODEL","ENTITY_TYPE_DBT_TEST","ENTITY_TYPE_DBT_SOURCE","ENTITY_TYPE_DBT_PROJECT","ENTITY_TYPE_DBT_METRIC","ENTITY_TYPE_DBT_SNAPSHOT","ENTITY_TYPE_DBT_SEED","ENTITY_TYPE_DBT_ANALYSIS","ENTITY_TYPE_DBT_EXPOSURE","ENTITY_TYPE_DBT_GROUP","ENTITY_TYPE_DBT_SEMANTIC_MODEL","ENTITY_TYPE_DBT_CLOUD_PROJECT","ENTITY_TYPE_DBT_CLOUD_JOB","ENTITY_TYPE_SNOWFLAKE_TABLE","ENTITY_TYPE_SNOWFLAKE_VIEW","ENTITY_TYPE_SNOWFLAKE_STREAM","ENTITY_TYPE_SNOWFLAKE_DYNAMIC_TABLE","ENTITY_TYPE_SNOWFLAKE_TASK","ENTITY_TYPE_SNOWFLAKE_EXTERNAL_TABLE","ENTITY_TYPE_SNOWFLAKE_MATERIALIZED_VIEW","ENTITY_TYPE_SNOWFLAKE_PROCEDURE","ENTITY_TYPE_SNOWFLAKE_FUNCTION","ENTITY_TYPE_SNOWFLAKE_SEMANTIC_VIEW","ENTITY_TYPE_SNOWFLAKE_STAGE","ENTITY_TYPE_SNOWFLAKE_STREAMLIT","ENTITY_TYPE_SNOWFLAKE_NOTEBOOK","ENTITY_TYPE_SNOWFLAKE_WAREHOUSE","ENTITY_TYPE_SNOWFLAKE_PIPE","ENTITY_TYPE_SNOWFLAKE_CORTEX_SEARCH_SERVICE","ENTITY_TYPE_REDSHIFT_TABLE","ENTITY_TYPE_REDSHIFT_VIEW","ENTITY_TYPE_REDSHIFT_PROCEDURE","ENTITY_TYPE_REDSHIFT_FUNCTION","ENTITY_TYPE_TABLEAU_EMBEDDED","ENTITY_TYPE_TABLEAU_PUBLISHED","ENTITY_TYPE_TABLEAU_CUSTOM_SQL","ENTITY_TYPE_TABLEAU_TABLE","ENTITY_TYPE_TABLEAU_SHEET","ENTITY_TYPE_TABLEAU_DASHBOARD","ENTITY_TYPE_TABLEAU_WORKBOOK","ENTITY_TYPE_TABLEAU_SITE","ENTITY_TYPE_AIRFLOW_DAG","ENTITY_TYPE_AIRFLOW_TASK","ENTITY_TYPE_CLICKHOUSE_TABLE","ENTITY_TYPE_CLICKHOUSE_VIEW","ENTITY_TYPE_ANOMALY_MONITOR","ENTITY_TYPE_ANOMALY_MONITOR_SEGMENT","ENTITY_TYPE_SQLTEST_TEST","ENTITY_TYPE_RECON_SUITE","ENTITY_TYPE_RECON_CASE","ENTITY_TYPE_LINEAGE_FOLD","ENTITY_TYPE_POSTGRES_TABLE","ENTITY_TYPE_POSTGRES_VIEW","ENTITY_TYPE_MYSQL_TABLE","ENTITY_TYPE_MYSQL_VIEW","ENTITY_TYPE_DATABRICKS_WAREHOUSE","ENTITY_TYPE_DATABRICKS_TABLE","ENTITY_TYPE_DATABRICKS_VIEW","ENTITY_TYPE_DATABRICKS_JOB","ENTITY_TYPE_DATABRICKS_JOB_TASK","ENTITY_TYPE_DATABRICKS_NOTEBOOK","ENTITY_TYPE_DATABRICKS_QUERY","ENTITY_TYPE_DATABRICKS_DASHBOARD","ENTITY_TYPE_DATABRICKS_METRIC_VIEW","ENTITY_TYPE_DATABRICKS_APP","ENTITY_TYPE_SQLMESH_PROJECT","ENTITY_TYPE_SQLMESH_SQL_MODEL","ENTITY_TYPE_SQLMESH_PYTHON_MODEL","ENTITY_TYPE_SQLMESH_EXTERNAL","ENTITY_TYPE_SQLMESH_SEED","ENTITY_TYPE_SQLMESH_AUDIT","ENTITY_TYPE_SQLMESH_UNIT_TEST","ENTITY_TYPE_SQLMESH_ENVIRONMENT","ENTITY_TYPE_SQLMESH_SNAPSHOT","ENTITY_TYPE_DUCKDB_TABLE","ENTITY_TYPE_DUCKDB_VIEW","ENTITY_TYPE_TRINO_TABLE","ENTITY_TYPE_TRINO_VIEW","ENTITY_TYPE_ATLAN_ASSET","ENTITY_TYPE_ATLAN_INTEGRATION","ENTITY_TYPE_COALESCE_PROJECT","ENTITY_TYPE_COALESCE_ENVIRONMENT","ENTITY_TYPE_COALESCE_NODE","ENTITY_TYPE_COALESCE_NODE_TEST","ENTITY_TYPE_COALESCE_JOB","ENTITY_TYPE_CASTORDOC_TABLE","ENTITY_TYPE_CASTORDOC_DASHBOARD","ENTITY_TYPE_CASTORDOC_VIEW","ENTITY_TYPE_CASTORDOC_TILE","ENTITY_TYPE_CASTORDOC_VIZ_MODEL","ENTITY_TYPE_POWERBI_REPORT","ENTITY_TYPE_POWERBI_TILE","ENTITY_TYPE_POWERBI_DATASET","ENTITY_TYPE_POWERBI_DASHBOARD","ENTITY_TYPE_POWERBI_TENANT","ENTITY_TYPE_THOUGHTSPOT_LIVEBOARD","ENTITY_TYPE_THOUGHTSPOT_WORKSHEET","ENTITY_TYPE_SIGMA_WORKBOOK","ENTITY_TYPE_SIGMA_DATA_MODEL","ENTITY_TYPE_SIGMA_ORGANIZATION","ENTITY_TYPE_DOMO_PAGE","ENTITY_TYPE_DOMO_DATASET","ENTITY_TYPE_MSSQL_TABLE","ENTITY_TYPE_MSSQL_VIEW","ENTITY_TYPE_MSSQL_PROCEDURE","ENTITY_TYPE_MSSQL_FUNCTION","ENTITY_TYPE_ORACLE_TABLE","ENTITY_TYPE_ORACLE_VIEW","ENTITY_TYPE_ORACLE_PROCEDURE","ENTITY_TYPE_ORACLE_FUNCTION","ENTITY_TYPE_ATHENA_TABLE","ENTITY_TYPE_ATHENA_VIEW","ENTITY_TYPE_FABRIC_TABLE","ENTITY_TYPE_FABRIC_VIEW","ENTITY_TYPE_FABRIC_PROCEDURE","ENTITY_TYPE_FABRIC_FUNCTION","ENTITY_TYPE_DB2_TABLE","ENTITY_TYPE_DB2_VIEW","ENTITY_TYPE_DB2_PROCEDURE","ENTITY_TYPE_DB2_FUNCTION","ENTITY_TYPE_LOOKER_STUDIO_CUSTOMER","ENTITY_TYPE_LOOKER_STUDIO_REPORT","ENTITY_TYPE_LOOKER_STUDIO_DATA_SOURCE","ENTITY_TYPE_CUSTOM_ENTITY_GENERIC","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MIN","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MAX"],"description":"Default Coalesce Quality types","isRequired":true}},"additionalProperties":false}]},"description":"Restrict the result to these types. When empty, only the other members of\n each identity group are returned. When set, an input asset that already has\n one of these types is returned as well."}},"title":"identities_of","required":["inputQuery"],"additionalProperties":false,"description":"Resolves to the identities of whatever the inner query matches.\n\n The same real-world table is often described by several assets — a\n transformation model and the warehouse table it materialises into are one\n asset with several representations. Those representations form an identity\n group. IdentitiesOf takes the assets matched by `input_query` and returns\n their identity groups, so a selection made in one platform's terms also\n covers the equivalent assets in every other platform.\n\n The typical use is subtraction: \"this warehouse database, except whatever my\n transformation tool already owns\" is an EXCEPT whose removal clause is an\n IdentitiesOf over the transformation models. Without it the two selections\n overlap on every materialised table.\nidentities_of.input_query_selects_something // identities_of requires an input_query with at least one part\n","isRequired":true}},"additionalProperties":false},{"type":"object","title":"in_data_platform","required":["inDataPlatform"],"properties":{"inDataPlatform":{"type":"object","properties":{"identifier":{"oneOf":[{"type":"object","title":"athena","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["athena"],"properties":{"athena":{"type":"object","properties":{"instance":{"type":"string","description":"AWS account and region the Athena workgroup runs in, formatted as\n \"\u003caccount-id>.\u003cregion>\" (e.g. \"123456789012.eu-west-1\"). Auto-derived\n by Coalesce Quality from sts:GetCallerIdentity at integration setup time.","isRequired":true},"catalog":{"type":"string","description":"Glue Data Catalog name. Almost always \"AwsDataCatalog\" — the default\n catalog for Athena unless the customer registered a federated catalog.","isRequired":true}},"title":"athena","required":["instance","catalog"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"bigquery","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["bigquery"],"properties":{"bigquery":{"type":"object","properties":{"project":{"type":"string","description":"BigQuery project","isRequired":true}},"title":"bigquery","required":["project"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"clickhouse","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["clickhouse"],"properties":{"clickhouse":{"type":"object","properties":{"host":{"type":"string","description":"Clickhouse host inclusive of port","isRequired":true},"schema":{"type":"string","description":"Clickhouse database","isRequired":true}},"title":"clickhouse","required":["host","schema"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"databricks","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["databricks"],"properties":{"databricks":{"type":"object","properties":{"workspace":{"type":"string","description":"URL of the databricks workspace","isRequired":true}},"title":"databricks","required":["workspace"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"db2","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["db2"],"properties":{"db2":{"type":"object","properties":{"host":{"type":"string","description":"Host name of the Db2 server","isRequired":true},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true}},"title":"db2","required":["host","database"],"additionalProperties":false,"description":"IBM Db2 for Linux, UNIX and Windows. An integration connects to one\n database, so host and database together identify it.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"dbt_cloud","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["dbtCloud"],"properties":{"dbtCloud":{"type":"object","properties":{"apiEndpoint":{"type":"string","description":"API endpoint for Dbt Cloud","isRequired":true},"accountId":{"type":"string","description":"Account ID","isRequired":true},"projectId":{"type":"string","description":"Project ID","isRequired":true}},"title":"dbt_cloud","required":["apiEndpoint","accountId","projectId"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"duckdb","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["duckdb"],"properties":{"duckdb":{"type":"object","properties":{"motherduckAccount":{"type":"string"}},"title":"duckdb","additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"fabric","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["fabric"],"properties":{"fabric":{"type":"object","properties":{"instance":{"type":"string","description":"Workspace SQL analytics endpoint host, e.g.\n \"\u003cworkspace-id>.datawarehouse.fabric.microsoft.com\". Identifies the Fabric\n workspace the integration connects to. Fabric is workspace-scoped with\n cross-database queries, so the workspace host alone identifies the platform\n (like Databricks' workspace URL); a specific warehouse/table is addressed by\n FabricTableIdentifier.","isRequired":true},"workspaceId":{"type":"string","description":"Fabric workspace GUID — the identifier used by the Fabric REST API for\n workspace-scoped resources. The Fabric endpoint host in `instance` encodes\n the tenant and workspace GUIDs; this is the decoded workspace GUID, provided\n so you don't have to decode it yourself. `instance` remains the identifying\n value. Optional: empty when the host isn't a standard Fabric endpoint."},"tenantId":{"type":"string","description":"Entra (Azure AD) tenant GUID, decoded from the endpoint host in `instance`\n alongside workspace_id. Optional: empty when the host isn't a standard\n Fabric endpoint."}},"title":"fabric","required":["instance"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"mssql","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["mssql"],"properties":{"mssql":{"type":"object","properties":{"host":{"type":"string","description":"SQL Server host","isRequired":true},"database":{"type":"string","description":"Database name","isRequired":true}},"title":"mssql","required":["host","database"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"mysql","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["mysql"],"properties":{"mysql":{"type":"object","properties":{"host":{"type":"string","description":"Mysql host inclusive of port","isRequired":true}},"title":"mysql","required":["host"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"oracle","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["oracle"],"properties":{"oracle":{"type":"object","properties":{"host":{"type":"string","description":"Oracle host","isRequired":true},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true}},"title":"oracle","required":["host","serviceName"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"postgres","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["postgres"],"properties":{"postgres":{"type":"object","properties":{"host":{"type":"string","description":"Postgres host inclusive of port","isRequired":true},"database":{"type":"string","description":"Postgres database","isRequired":true}},"title":"postgres","required":["host","database"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"redshift","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["redshift"],"properties":{"redshift":{"type":"object","properties":{"cluster":{"type":"string","description":"Redshift cluster","isRequired":true},"database":{"type":"string","description":"Redshift database","isRequired":true}},"title":"redshift","required":["cluster","database"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"snowflake","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["snowflake"],"properties":{"snowflake":{"type":"object","properties":{"account":{"type":"string","description":"Snowflake account","isRequired":true},"database":{"type":"string","description":"Snowflake database","isRequired":true}},"title":"snowflake","required":["account","database"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"sql_mesh","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["sqlMesh"],"properties":{"sqlMesh":{"type":"object","properties":{"defaultDatabaseInstance":{"type":"string","description":"Default database instance for SQL Mesh","isRequired":true}},"title":"sql_mesh","required":["defaultDatabaseInstance"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"synq_integration_id","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["synqIntegrationId"],"properties":{"synqIntegrationId":{"type":"string","title":"synq_integration_id","description":"Coalesce Quality integration ID maps to the created integration on the Coalesce Quality platform.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"trino","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["trino"],"properties":{"trino":{"type":"object","properties":{"coordinator":{"type":"string"}},"title":"trino","additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"unknown","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["unknown"],"properties":{"unknown":{"type":"object","title":"unknown","additionalProperties":false,"isRequired":true}},"additionalProperties":false}]}},"title":"in_data_platform","additionalProperties":false,"description":"Resolves to all entities that belong to the given data platform.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"in_dataproduct","required":["inDataproduct"],"properties":{"inDataproduct":{"type":"object","properties":{"identifier":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Dataproduct id that identifies the Dataproduct","isRequired":true}},"title":"DataproductIdentifier","required":["id"],"additionalProperties":false}},"title":"in_dataproduct","additionalProperties":false,"description":"Resolves to all the assets that belong to the given data product.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"in_domain","required":["inDomain"],"properties":{"inDomain":{"type":"object","properties":{"domainId":{"type":"string","format":"uuid"}},"title":"in_domain","additionalProperties":false,"description":"Resolves to all entities in the given data domain.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"in_folder","required":["inFolder"],"properties":{"inFolder":{"oneOf":[{"title":"in_folder","isRequired":true}],"isRequired":true}},"additionalProperties":false},{"type":"object","title":"query","required":["query"],"properties":{"query":{"$circularRef":"5b88d704-2a2e-4c1a-837b-99543d863e65","title":"query","description":"Nested sub-query, enabling recursive composition of filters and operands.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"unsupported","required":["unsupported"],"properties":{"unsupported":{"type":"object","properties":{"queryJson":{"type":"string"}},"title":"unsupported","additionalProperties":false,"description":"Read-only. Represents internal query types that cannot be expressed in the public API.\n Do not construct these directly — they are returned when translating from internal queries.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"with_annotation","required":["withAnnotation"],"properties":{"withAnnotation":{"type":"object","properties":{"name":{"type":"string"},"acceptedValue":{"oneOf":[{"type":"string","deprecated":true},{"type":"null","deprecated":true}]},"acceptedValues":{"type":"array","items":{"type":"string"}}},"title":"with_annotation","additionalProperties":false,"description":"Resolves to all entities that contain the annotation with at least one of the provided accepted values.\n In case of no given accepted values, all entities that carry the given annotation are returned.\n The name and the values match case-insensitively.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"with_data_platform_type","required":["withDataPlatformType"],"properties":{"withDataPlatformType":{"type":"object","properties":{"types":{"type":"array","items":{"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"]}}},"title":"with_data_platform_type","additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"with_default_visible_types","required":["withDefaultVisibleTypes"],"properties":{"withDefaultVisibleTypes":{"type":"object","title":"with_default_visible_types","additionalProperties":false,"description":"Resolves to every asset of a type the catalog shows by default — the\n \"everything\" starting set.\n\n Use it as the base of a subtraction, e.g. an EXCEPT query whose first part is\n WithDefaultVisibleTypes and whose second part is what to leave out. On its own\n it selects the whole catalog, so it is rarely useful as the only part of a\n query.\n\n \"Default visible\" excludes the supporting asset types the catalog hides unless\n asked for (columns, tests, and similar), so this is not literally every entity.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"with_name_search","required":["withNameSearch"],"properties":{"withNameSearch":{"type":"object","properties":{"searchQuery":{"type":"string"}},"title":"with_name_search","additionalProperties":false,"description":"Resolves to all entities matching the given name search.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"with_type","required":["withType"],"properties":{"withType":{"type":"object","properties":{"type":{"oneOf":[{"type":"object","title":"custom","required":["custom"],"deprecated":true,"properties":{"custom":{"type":"integer","title":"custom","format":"int32","description":"Custom types as defined through synq.entities.custom.v1.TypesService","isRequired":true}},"additionalProperties":false},{"type":"object","title":"default","required":["default"],"deprecated":true,"properties":{"default":{"type":"string","title":"default","enum":["ENTITY_TYPE_UNSPECIFIED","ENTITY_TYPE_BQ_TABLE","ENTITY_TYPE_BQ_VIEW","ENTITY_TYPE_BQ_PROCEDURE","ENTITY_TYPE_BQ_FUNCTION","ENTITY_TYPE_LOOKER_LOOK","ENTITY_TYPE_LOOKER_EXPLORE","ENTITY_TYPE_LOOKER_VIEW","ENTITY_TYPE_LOOKER_DASHBOARD","ENTITY_TYPE_LOOKER_INSTANCE","ENTITY_TYPE_DBT_MODEL","ENTITY_TYPE_DBT_TEST","ENTITY_TYPE_DBT_SOURCE","ENTITY_TYPE_DBT_PROJECT","ENTITY_TYPE_DBT_METRIC","ENTITY_TYPE_DBT_SNAPSHOT","ENTITY_TYPE_DBT_SEED","ENTITY_TYPE_DBT_ANALYSIS","ENTITY_TYPE_DBT_EXPOSURE","ENTITY_TYPE_DBT_GROUP","ENTITY_TYPE_DBT_SEMANTIC_MODEL","ENTITY_TYPE_DBT_CLOUD_PROJECT","ENTITY_TYPE_DBT_CLOUD_JOB","ENTITY_TYPE_SNOWFLAKE_TABLE","ENTITY_TYPE_SNOWFLAKE_VIEW","ENTITY_TYPE_SNOWFLAKE_STREAM","ENTITY_TYPE_SNOWFLAKE_DYNAMIC_TABLE","ENTITY_TYPE_SNOWFLAKE_TASK","ENTITY_TYPE_SNOWFLAKE_EXTERNAL_TABLE","ENTITY_TYPE_SNOWFLAKE_MATERIALIZED_VIEW","ENTITY_TYPE_SNOWFLAKE_PROCEDURE","ENTITY_TYPE_SNOWFLAKE_FUNCTION","ENTITY_TYPE_SNOWFLAKE_SEMANTIC_VIEW","ENTITY_TYPE_SNOWFLAKE_STAGE","ENTITY_TYPE_SNOWFLAKE_STREAMLIT","ENTITY_TYPE_SNOWFLAKE_NOTEBOOK","ENTITY_TYPE_SNOWFLAKE_WAREHOUSE","ENTITY_TYPE_SNOWFLAKE_PIPE","ENTITY_TYPE_SNOWFLAKE_CORTEX_SEARCH_SERVICE","ENTITY_TYPE_REDSHIFT_TABLE","ENTITY_TYPE_REDSHIFT_VIEW","ENTITY_TYPE_REDSHIFT_PROCEDURE","ENTITY_TYPE_REDSHIFT_FUNCTION","ENTITY_TYPE_TABLEAU_EMBEDDED","ENTITY_TYPE_TABLEAU_PUBLISHED","ENTITY_TYPE_TABLEAU_CUSTOM_SQL","ENTITY_TYPE_TABLEAU_TABLE","ENTITY_TYPE_TABLEAU_SHEET","ENTITY_TYPE_TABLEAU_DASHBOARD","ENTITY_TYPE_TABLEAU_WORKBOOK","ENTITY_TYPE_TABLEAU_SITE","ENTITY_TYPE_AIRFLOW_DAG","ENTITY_TYPE_AIRFLOW_TASK","ENTITY_TYPE_CLICKHOUSE_TABLE","ENTITY_TYPE_CLICKHOUSE_VIEW","ENTITY_TYPE_ANOMALY_MONITOR","ENTITY_TYPE_ANOMALY_MONITOR_SEGMENT","ENTITY_TYPE_SQLTEST_TEST","ENTITY_TYPE_RECON_SUITE","ENTITY_TYPE_RECON_CASE","ENTITY_TYPE_LINEAGE_FOLD","ENTITY_TYPE_POSTGRES_TABLE","ENTITY_TYPE_POSTGRES_VIEW","ENTITY_TYPE_MYSQL_TABLE","ENTITY_TYPE_MYSQL_VIEW","ENTITY_TYPE_DATABRICKS_WAREHOUSE","ENTITY_TYPE_DATABRICKS_TABLE","ENTITY_TYPE_DATABRICKS_VIEW","ENTITY_TYPE_DATABRICKS_JOB","ENTITY_TYPE_DATABRICKS_JOB_TASK","ENTITY_TYPE_DATABRICKS_NOTEBOOK","ENTITY_TYPE_DATABRICKS_QUERY","ENTITY_TYPE_DATABRICKS_DASHBOARD","ENTITY_TYPE_DATABRICKS_METRIC_VIEW","ENTITY_TYPE_DATABRICKS_APP","ENTITY_TYPE_SQLMESH_PROJECT","ENTITY_TYPE_SQLMESH_SQL_MODEL","ENTITY_TYPE_SQLMESH_PYTHON_MODEL","ENTITY_TYPE_SQLMESH_EXTERNAL","ENTITY_TYPE_SQLMESH_SEED","ENTITY_TYPE_SQLMESH_AUDIT","ENTITY_TYPE_SQLMESH_UNIT_TEST","ENTITY_TYPE_SQLMESH_ENVIRONMENT","ENTITY_TYPE_SQLMESH_SNAPSHOT","ENTITY_TYPE_DUCKDB_TABLE","ENTITY_TYPE_DUCKDB_VIEW","ENTITY_TYPE_TRINO_TABLE","ENTITY_TYPE_TRINO_VIEW","ENTITY_TYPE_ATLAN_ASSET","ENTITY_TYPE_ATLAN_INTEGRATION","ENTITY_TYPE_COALESCE_PROJECT","ENTITY_TYPE_COALESCE_ENVIRONMENT","ENTITY_TYPE_COALESCE_NODE","ENTITY_TYPE_COALESCE_NODE_TEST","ENTITY_TYPE_COALESCE_JOB","ENTITY_TYPE_CASTORDOC_TABLE","ENTITY_TYPE_CASTORDOC_DASHBOARD","ENTITY_TYPE_CASTORDOC_VIEW","ENTITY_TYPE_CASTORDOC_TILE","ENTITY_TYPE_CASTORDOC_VIZ_MODEL","ENTITY_TYPE_POWERBI_REPORT","ENTITY_TYPE_POWERBI_TILE","ENTITY_TYPE_POWERBI_DATASET","ENTITY_TYPE_POWERBI_DASHBOARD","ENTITY_TYPE_POWERBI_TENANT","ENTITY_TYPE_THOUGHTSPOT_LIVEBOARD","ENTITY_TYPE_THOUGHTSPOT_WORKSHEET","ENTITY_TYPE_SIGMA_WORKBOOK","ENTITY_TYPE_SIGMA_DATA_MODEL","ENTITY_TYPE_SIGMA_ORGANIZATION","ENTITY_TYPE_DOMO_PAGE","ENTITY_TYPE_DOMO_DATASET","ENTITY_TYPE_MSSQL_TABLE","ENTITY_TYPE_MSSQL_VIEW","ENTITY_TYPE_MSSQL_PROCEDURE","ENTITY_TYPE_MSSQL_FUNCTION","ENTITY_TYPE_ORACLE_TABLE","ENTITY_TYPE_ORACLE_VIEW","ENTITY_TYPE_ORACLE_PROCEDURE","ENTITY_TYPE_ORACLE_FUNCTION","ENTITY_TYPE_ATHENA_TABLE","ENTITY_TYPE_ATHENA_VIEW","ENTITY_TYPE_FABRIC_TABLE","ENTITY_TYPE_FABRIC_VIEW","ENTITY_TYPE_FABRIC_PROCEDURE","ENTITY_TYPE_FABRIC_FUNCTION","ENTITY_TYPE_DB2_TABLE","ENTITY_TYPE_DB2_VIEW","ENTITY_TYPE_DB2_PROCEDURE","ENTITY_TYPE_DB2_FUNCTION","ENTITY_TYPE_LOOKER_STUDIO_CUSTOMER","ENTITY_TYPE_LOOKER_STUDIO_REPORT","ENTITY_TYPE_LOOKER_STUDIO_DATA_SOURCE","ENTITY_TYPE_CUSTOM_ENTITY_GENERIC","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MIN","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MAX"],"description":"Default Coalesce Quality types","isRequired":true}},"additionalProperties":false}]},"types":{"type":"array","items":{"oneOf":[{"type":"object","title":"custom","required":["custom"],"properties":{"custom":{"type":"integer","title":"custom","format":"int32","description":"Custom types as defined through synq.entities.custom.v1.TypesService","isRequired":true}},"additionalProperties":false},{"type":"object","title":"default","required":["default"],"properties":{"default":{"type":"string","title":"default","enum":["ENTITY_TYPE_UNSPECIFIED","ENTITY_TYPE_BQ_TABLE","ENTITY_TYPE_BQ_VIEW","ENTITY_TYPE_BQ_PROCEDURE","ENTITY_TYPE_BQ_FUNCTION","ENTITY_TYPE_LOOKER_LOOK","ENTITY_TYPE_LOOKER_EXPLORE","ENTITY_TYPE_LOOKER_VIEW","ENTITY_TYPE_LOOKER_DASHBOARD","ENTITY_TYPE_LOOKER_INSTANCE","ENTITY_TYPE_DBT_MODEL","ENTITY_TYPE_DBT_TEST","ENTITY_TYPE_DBT_SOURCE","ENTITY_TYPE_DBT_PROJECT","ENTITY_TYPE_DBT_METRIC","ENTITY_TYPE_DBT_SNAPSHOT","ENTITY_TYPE_DBT_SEED","ENTITY_TYPE_DBT_ANALYSIS","ENTITY_TYPE_DBT_EXPOSURE","ENTITY_TYPE_DBT_GROUP","ENTITY_TYPE_DBT_SEMANTIC_MODEL","ENTITY_TYPE_DBT_CLOUD_PROJECT","ENTITY_TYPE_DBT_CLOUD_JOB","ENTITY_TYPE_SNOWFLAKE_TABLE","ENTITY_TYPE_SNOWFLAKE_VIEW","ENTITY_TYPE_SNOWFLAKE_STREAM","ENTITY_TYPE_SNOWFLAKE_DYNAMIC_TABLE","ENTITY_TYPE_SNOWFLAKE_TASK","ENTITY_TYPE_SNOWFLAKE_EXTERNAL_TABLE","ENTITY_TYPE_SNOWFLAKE_MATERIALIZED_VIEW","ENTITY_TYPE_SNOWFLAKE_PROCEDURE","ENTITY_TYPE_SNOWFLAKE_FUNCTION","ENTITY_TYPE_SNOWFLAKE_SEMANTIC_VIEW","ENTITY_TYPE_SNOWFLAKE_STAGE","ENTITY_TYPE_SNOWFLAKE_STREAMLIT","ENTITY_TYPE_SNOWFLAKE_NOTEBOOK","ENTITY_TYPE_SNOWFLAKE_WAREHOUSE","ENTITY_TYPE_SNOWFLAKE_PIPE","ENTITY_TYPE_SNOWFLAKE_CORTEX_SEARCH_SERVICE","ENTITY_TYPE_REDSHIFT_TABLE","ENTITY_TYPE_REDSHIFT_VIEW","ENTITY_TYPE_REDSHIFT_PROCEDURE","ENTITY_TYPE_REDSHIFT_FUNCTION","ENTITY_TYPE_TABLEAU_EMBEDDED","ENTITY_TYPE_TABLEAU_PUBLISHED","ENTITY_TYPE_TABLEAU_CUSTOM_SQL","ENTITY_TYPE_TABLEAU_TABLE","ENTITY_TYPE_TABLEAU_SHEET","ENTITY_TYPE_TABLEAU_DASHBOARD","ENTITY_TYPE_TABLEAU_WORKBOOK","ENTITY_TYPE_TABLEAU_SITE","ENTITY_TYPE_AIRFLOW_DAG","ENTITY_TYPE_AIRFLOW_TASK","ENTITY_TYPE_CLICKHOUSE_TABLE","ENTITY_TYPE_CLICKHOUSE_VIEW","ENTITY_TYPE_ANOMALY_MONITOR","ENTITY_TYPE_ANOMALY_MONITOR_SEGMENT","ENTITY_TYPE_SQLTEST_TEST","ENTITY_TYPE_RECON_SUITE","ENTITY_TYPE_RECON_CASE","ENTITY_TYPE_LINEAGE_FOLD","ENTITY_TYPE_POSTGRES_TABLE","ENTITY_TYPE_POSTGRES_VIEW","ENTITY_TYPE_MYSQL_TABLE","ENTITY_TYPE_MYSQL_VIEW","ENTITY_TYPE_DATABRICKS_WAREHOUSE","ENTITY_TYPE_DATABRICKS_TABLE","ENTITY_TYPE_DATABRICKS_VIEW","ENTITY_TYPE_DATABRICKS_JOB","ENTITY_TYPE_DATABRICKS_JOB_TASK","ENTITY_TYPE_DATABRICKS_NOTEBOOK","ENTITY_TYPE_DATABRICKS_QUERY","ENTITY_TYPE_DATABRICKS_DASHBOARD","ENTITY_TYPE_DATABRICKS_METRIC_VIEW","ENTITY_TYPE_DATABRICKS_APP","ENTITY_TYPE_SQLMESH_PROJECT","ENTITY_TYPE_SQLMESH_SQL_MODEL","ENTITY_TYPE_SQLMESH_PYTHON_MODEL","ENTITY_TYPE_SQLMESH_EXTERNAL","ENTITY_TYPE_SQLMESH_SEED","ENTITY_TYPE_SQLMESH_AUDIT","ENTITY_TYPE_SQLMESH_UNIT_TEST","ENTITY_TYPE_SQLMESH_ENVIRONMENT","ENTITY_TYPE_SQLMESH_SNAPSHOT","ENTITY_TYPE_DUCKDB_TABLE","ENTITY_TYPE_DUCKDB_VIEW","ENTITY_TYPE_TRINO_TABLE","ENTITY_TYPE_TRINO_VIEW","ENTITY_TYPE_ATLAN_ASSET","ENTITY_TYPE_ATLAN_INTEGRATION","ENTITY_TYPE_COALESCE_PROJECT","ENTITY_TYPE_COALESCE_ENVIRONMENT","ENTITY_TYPE_COALESCE_NODE","ENTITY_TYPE_COALESCE_NODE_TEST","ENTITY_TYPE_COALESCE_JOB","ENTITY_TYPE_CASTORDOC_TABLE","ENTITY_TYPE_CASTORDOC_DASHBOARD","ENTITY_TYPE_CASTORDOC_VIEW","ENTITY_TYPE_CASTORDOC_TILE","ENTITY_TYPE_CASTORDOC_VIZ_MODEL","ENTITY_TYPE_POWERBI_REPORT","ENTITY_TYPE_POWERBI_TILE","ENTITY_TYPE_POWERBI_DATASET","ENTITY_TYPE_POWERBI_DASHBOARD","ENTITY_TYPE_POWERBI_TENANT","ENTITY_TYPE_THOUGHTSPOT_LIVEBOARD","ENTITY_TYPE_THOUGHTSPOT_WORKSHEET","ENTITY_TYPE_SIGMA_WORKBOOK","ENTITY_TYPE_SIGMA_DATA_MODEL","ENTITY_TYPE_SIGMA_ORGANIZATION","ENTITY_TYPE_DOMO_PAGE","ENTITY_TYPE_DOMO_DATASET","ENTITY_TYPE_MSSQL_TABLE","ENTITY_TYPE_MSSQL_VIEW","ENTITY_TYPE_MSSQL_PROCEDURE","ENTITY_TYPE_MSSQL_FUNCTION","ENTITY_TYPE_ORACLE_TABLE","ENTITY_TYPE_ORACLE_VIEW","ENTITY_TYPE_ORACLE_PROCEDURE","ENTITY_TYPE_ORACLE_FUNCTION","ENTITY_TYPE_ATHENA_TABLE","ENTITY_TYPE_ATHENA_VIEW","ENTITY_TYPE_FABRIC_TABLE","ENTITY_TYPE_FABRIC_VIEW","ENTITY_TYPE_FABRIC_PROCEDURE","ENTITY_TYPE_FABRIC_FUNCTION","ENTITY_TYPE_DB2_TABLE","ENTITY_TYPE_DB2_VIEW","ENTITY_TYPE_DB2_PROCEDURE","ENTITY_TYPE_DB2_FUNCTION","ENTITY_TYPE_LOOKER_STUDIO_CUSTOMER","ENTITY_TYPE_LOOKER_STUDIO_REPORT","ENTITY_TYPE_LOOKER_STUDIO_DATA_SOURCE","ENTITY_TYPE_CUSTOM_ENTITY_GENERIC","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MIN","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MAX"],"description":"Default Coalesce Quality types","isRequired":true}},"additionalProperties":false}]}},"traits":{"type":"array","items":{"type":"string"},"description":"Traits to select by, instead of — or alongside — naming types.\n\n A trait is a property a type has, so `is_monitorable` means \"everything a\n monitor can run on\" without listing the forty-odd types that satisfy it\n today. The list it stands for is worked out each time the selection runs,\n so a selection saved this way covers a new platform's tables as soon as we\n support them, and you never have to revisit it.\n\n Entities carrying any of the traits match. When `types` is also set the two\n narrow each other: the entity must be one of the named types AND carry one\n of the traits.\n\n Accepted values, and what each one means, come from the selection-query\n grammar the API publishes (`describe_resolver_ql`, or the query editor's\n reference). A name that is not in it selects nothing rather than being\n ignored, so a typo narrows the result to empty instead of widening it —\n check a trait against the grammar before storing a selection. In a query\n written as text this is `with_type(traits=\"is_monitorable\")`, and there a\n name outside the grammar is rejected outright.\n\n A trait may also be a type alias, spelled `alias:\u003cname>` where `\u003cname>` is\n one of the aliases the grammar lists among the entity types, e.g.\n `alias:table`. It selects every type the alias stands for, worked out each\n time the selection runs like any other trait. A selection written as\n `with_type(\"table\")` is stored this way and reads back with\n `traits: [\"alias:table\"]`; writing that back keeps the same selection. In a\n query written as text an alias is always `with_type(\"table\")`, never\n `traits=\"alias:table\"`."}},"title":"with_type","additionalProperties":false,"description":"Resolves to all the entities that have the provided type, or carry one of the\n provided traits.","isRequired":true}},"additionalProperties":false}]}},"operand":{"type":"string","title":"QueryOperand","enum":["QUERY_OPERAND_UNSPECIFIED","QUERY_OPERAND_AND","QUERY_OPERAND_OR","QUERY_OPERAND_EXCEPT","QUERY_OPERAND_UPSTREAM","QUERY_OPERAND_DOWNSTREAM"],"description":"Defaults to AND if not specified."}},"title":"Query","additionalProperties":false,"description":"General source: resolve the folder(s) of whatever assets this query matches\n (e.g. a name or type filter). Use when the assets can't be listed up front."},"includeAllAncestors":{"type":"boolean","description":"When false (default): only each asset's immediate parent folder. When true:\n every ancestor folder up the hierarchy, so `InFolder` then also matches\n assets in those ancestor folders."}},"title":"FolderOf","additionalProperties":false,"description":"Resolve the folders to search from a set of assets, rather than naming them.\n Selects everything in the folder(s) that contain those assets."},"deep":{"oneOf":[{"type":"boolean","description":"When false or unset, matches only the direct members of the folder(s). When\n true, matches the entire recursive subtree (members of subfolders too).\n\n Exception: when only the legacy `path` source is set and `deep` is unset,\n it defaults to true (preserves the behaviour of queries authored before this\n flag existed). With `folders` or `folder_of`, unset means false (shallow)."},{"type":"null","description":"When false or unset, matches only the direct members of the folder(s). When\n true, matches the entire recursive subtree (members of subfolders too).\n\n Exception: when only the legacy `path` source is set and `deep` is unset,\n it defaults to true (preserves the behaviour of queries authored before this\n flag existed). With `folders` or `folder_of`, unset means false (shallow)."}]}},"title":"InFolder","additionalProperties":false,"description":"Resolves to entities located in one or more folders.\n\n Give the folders exactly one way (they are mutually exclusive; if more than\n one is set, `folders` wins, then `folder_of`, then `path`):\n - `folders` — the preferred, human-authorable form: name each folder by\n its root entity plus its ordered folder-name segments. No\n opaque ids required.\n - `folder_of` — \"the same folder(s) as these assets\": resolves the folder(s)\n containing the assets matched by an inner query, then matches\n everything in them. Lets you select siblings without naming a\n folder.\n - `path` — legacy opaque folder identifiers. Kept for back-compat;\n prefer `folders`. Discover a folder's structured address\n with the folders navigation API instead of hand-writing an id.\n\n `deep` controls recursion (see its field comment).\n\n InFolder lives here rather than in query_parts.proto because FolderOf nests a\n full Query, which would make query_parts.proto import query.proto and form a\n proto file import cycle.\nin_folder.exactly_one_source // set exactly one of path, folders, or folder_of\n"},"eb47fa5a-82ed-44fd-8b72-4d20a1d798fe":{"type":"object","properties":{"parts":{"type":"array","items":{"oneOf":[{"type":"object","title":"entity_ids","required":["entityIds"],"properties":{"entityIds":{"type":"object","properties":{"entityIds":{"type":"array","items":{"type":"string","maxLength":1024,"minLength":1},"description":"The entities to select. An id may not be blank.\n\n An empty list selects no entities, exactly as an empty `identifier_list`\n does. Be deliberate about it, because it is not the same as leaving the part\n out: a part that selects nothing still counts, so it empties an AND, adds\n nothing to an OR, and removes nothing from an EXCEPT. If what you mean is\n \"do not restrict on specific entities\", omit the part instead of sending it\n empty.\n\n Ids may be up to 1024 characters — the same limit as `Identifier.entity_id`,\n where you read them from, so any id the API returned is accepted here."}},"title":"entity_ids","additionalProperties":false,"description":"Deploy monitors on specific entities, named by the ids the API returned\n for them. Read back as `identifier_list`, with each id on the identifier\n it names.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"identifier_list","required":["identifierList"],"properties":{"identifierList":{"type":"object","properties":{"identifiers":{"type":"array","items":{"oneOf":[{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["airflowDag"],"properties":{"airflowDag":{"type":"object","properties":{"integrationId":{"type":"string","description":"Coalesce Quality integration_id that identifies the Airflow instance","isRequired":true},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["airflowTask"],"properties":{"airflowTask":{"type":"object","properties":{"integrationId":{"type":"string","description":"Coalesce Quality integration_id that identifies the Airflow instance","isRequired":true},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true}},"title":"airflow_task","required":["integrationId","dagId","taskId"],"additionalProperties":false,"description":"Airflow task identifier within a given DAG","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["athenaTable"],"properties":{"athenaTable":{"type":"object","properties":{"instance":{"type":"string","description":"AWS account and region the Athena workgroup runs in, formatted as\n \"\u003caccount-id>.\u003cregion>\" (e.g. \"123456789012.eu-west-1\"). Auto-derived\n from sts:GetCallerIdentity at integration setup time.","isRequired":true},"catalog":{"type":"string","description":"Glue Data Catalog name. Almost always \"AwsDataCatalog\" — the default\n catalog for Athena unless the customer registered a federated catalog.","isRequired":true},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true},"table":{"type":"string","description":"Glue table or view name.","isRequired":true}},"title":"athena_table","required":["instance","catalog","database","table"],"additionalProperties":false,"description":"Amazon Athena (Glue) table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["bigqueryTable"],"properties":{"bigqueryTable":{"type":"object","properties":{"project":{"type":"string","description":"BigQuery project","isRequired":true},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true},"table":{"type":"string","description":"BigQuery table name","isRequired":true}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["clickhouseTable"],"properties":{"clickhouseTable":{"type":"object","properties":{"host":{"type":"string","description":"Clickhouse hostname without port","isRequired":true},"schema":{"type":"string","description":"Clickhouse database","isRequired":true},"table":{"type":"string","description":"Clickhouse table","isRequired":true}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["custom"],"properties":{"custom":{"type":"object","properties":{"id":{"type":"string","description":"Id that identifies the custom entity\n The Id should be unique within the custom entity Identifier.","isRequired":true}},"title":"custom","required":["id"],"additionalProperties":false,"description":"Custom identifier to be used with all custom created entities","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["databricksTable"],"properties":{"databricksTable":{"type":"object","properties":{"workspace":{"type":"string","description":"URL of Databricks workspace","isRequired":true},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true},"schema":{"type":"string","description":"Databricks schema","isRequired":true},"table":{"type":"string","description":"Databricks table or view","isRequired":true}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["dataproduct"],"properties":{"dataproduct":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Dataproduct id that identifies the Dataproduct","isRequired":true}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["db2Table"],"properties":{"db2Table":{"type":"object","properties":{"host":{"type":"string","description":"Host name of the Db2 server","isRequired":true},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true},"table":{"type":"string","description":"Db2 table or view","isRequired":true}},"title":"db2_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"IBM Db2 LUW table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["dbtCloudNode"],"properties":{"dbtCloudNode":{"type":"object","properties":{"projectId":{"type":"string","description":"Your dbt Cloud project id","isRequired":true},"nodeId":{"type":"string","description":"Dbt node_id that identifies one of dbt DAG nodes (model, test, etc)","isRequired":true},"accountId":{"type":"string","description":"Your dbt Cloud account id"}},"title":"dbt_cloud_node","required":["projectId","nodeId"],"additionalProperties":false,"description":"Dbt node that identifies one of dbt DAG nodes (model, test, etc) in dbt Cloud project","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["dbtCoreNode"],"properties":{"dbtCoreNode":{"type":"object","properties":{"integrationId":{"type":"string","description":"Opaque identifier of the dbt Core project. Usually the Coalesce Quality\n integration id (a UUID), but may also be the dbt project name from\n manifest.json when the integration is configured to identify assets by\n project name. Treat it as an opaque string, not a UUID.","isRequired":true},"nodeId":{"type":"string","description":"Dbt node_id that identifies one of dbt DAG nodes (model, test, etc)","isRequired":true}},"title":"dbt_core_node","required":["integrationId","nodeId"],"additionalProperties":false,"description":"Dbt node that identifies one of dbt DAG nodes (model, test, etc) in dbt Core project","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["fabricTable"],"properties":{"fabricTable":{"type":"object","properties":{"instance":{"type":"string","description":"Workspace SQL analytics endpoint host, e.g.\n \"\u003cworkspace-id>.datawarehouse.fabric.microsoft.com\".","isRequired":true},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true},"schema":{"type":"string","description":"Schema within the database.","isRequired":true},"table":{"type":"string","description":"Table or view name.","isRequired":true},"workspaceId":{"type":"string","description":"Fabric workspace GUID, decoded from the endpoint host in `instance`.\n Optional and informational: the table is addressed by\n instance/database/schema/table, so leave it empty if you don't have it —\n it does not affect how the identifier resolves."},"tenantId":{"type":"string","description":"Entra (Azure AD) tenant GUID, decoded from the endpoint host in `instance`.\n Optional and informational, like workspace_id."}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["monitor"],"properties":{"monitor":{"type":"object","properties":{"monitoredId":{"$circularRef":"9aa48dcc-3dc1-40e9-bf59-0a21c9499772","description":"Identifier of the monitored entity","isRequired":true},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true},"segment":{"oneOf":[{"type":"string","description":"Optional monitor segmentation identifier"},{"type":"null","description":"Optional monitor segmentation identifier"}]},"integrationId":{"oneOf":[{"type":"string","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true},{"type":"null","description":"Coalesce Quality integration_id of the monitored identifier","deprecated":true}]}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["mssqlTable"],"properties":{"mssqlTable":{"type":"object","properties":{"host":{"type":"string","description":"Hostname of the SQL Server instance","isRequired":true},"database":{"type":"string","description":"SQL Server database","isRequired":true},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true},"table":{"type":"string","description":"SQL Server table or view","isRequired":true}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["mysqlTable"],"properties":{"mysqlTable":{"type":"object","properties":{"host":{"type":"string","description":"Mysql hostname without port","isRequired":true},"schema":{"type":"string","description":"Mysql database","isRequired":true},"table":{"type":"string","description":"Mysql table","isRequired":true}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["oracleTable"],"properties":{"oracleTable":{"type":"object","properties":{"host":{"type":"string","description":"Hostname of the Oracle instance","isRequired":true},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true},"table":{"type":"string","description":"Oracle table or view","isRequired":true}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["postgresTable"],"properties":{"postgresTable":{"type":"object","properties":{"host":{"type":"string","description":"Postgres hostname without port","isRequired":true},"database":{"type":"string","description":"Postgres database","isRequired":true},"schema":{"type":"string","description":"Postgres schema","isRequired":true},"table":{"type":"string","description":"Postgres table","isRequired":true}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["redshiftTable"],"properties":{"redshiftTable":{"type":"object","properties":{"database":{"type":"string","description":"Redshift database","isRequired":true},"schema":{"type":"string","description":"Redshift schema","isRequired":true},"table":{"type":"string","description":"Redshift table","isRequired":true},"cluster":{"type":"string","description":"Required. Host of the Redshift endpoint, as in the connection, for example\n `my-cluster.abc123.eu-west-1.redshift.amazonaws.com`. A port suffix is\n accepted and ignored. The bare cluster name (`my-cluster`) is not enough,\n because one name can exist in more than one account or region. A response\n returns the host in its normalized form, which is also accepted on input.\n\n The rule below also refuses an empty value. It is not `required`, because\n `required` stops the other rules and its error does not say what to send.\nredshift_table.cluster.full_host // cluster must be the full host of the Redshift endpoint from the connection, for example my-cluster.abc123.eu-west-1.redshift.amazonaws.com\n"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["savedView"],"properties":{"savedView":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Saved view id (client-supplied UUID) that identifies the saved view","isRequired":true}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["snowflakeTable"],"properties":{"snowflakeTable":{"type":"object","properties":{"account":{"type":"string","description":"Snowflake account","isRequired":true},"database":{"type":"string","description":"Snowflake database","isRequired":true},"schema":{"type":"string","description":"Snowflake schema","isRequired":true},"table":{"type":"string","description":"Snowflake table","isRequired":true}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["sqlMeshAudit"],"properties":{"sqlMeshAudit":{"type":"object","properties":{"integrationId":{"type":"string","format":"uuid","description":"Coalesce Quality integration_id that identifies the dbt Core project","isRequired":true},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["sqlMeshModel"],"properties":{"sqlMeshModel":{"type":"object","properties":{"integrationId":{"type":"string","format":"uuid","description":"Coalesce Quality integration_id that identifies the dbt Core project","isRequired":true},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["synqPath"],"properties":{"synqPath":{"type":"object","properties":{"path":{"type":"string","description":"Coalesce Quality path that identifies the Coalesce Quality entity, needs to be one of supported paths","isRequired":true}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["trinoTable"],"properties":{"trinoTable":{"type":"object","properties":{"host":{"type":"string","description":"Hostname of the Trino instance","isRequired":true},"catalog":{"type":"string","description":"Trino catalog","isRequired":true},"schema":{"type":"string","description":"Trino schema","isRequired":true},"table":{"type":"string","description":"Trino table or view","isRequired":true}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false}]}}},"title":"identifier_list","additionalProperties":false,"description":"Resolves to entities matching any of the given identifiers.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"in_folder","required":["inFolder"],"properties":{"inFolder":{"type":"object","properties":{"path":{"type":"array","items":{"type":"string"},"description":"Opaque folder identifiers (a folder's own entity id). `folders` is the\n structured, human-authorable alternative. When `path` is the only source\n set and `deep` is unset, `deep` defaults to true for back-compat with\n queries authored before `deep` existed."},"folders":{"type":"array","items":{"type":"object","properties":{"rootEntityId":{"type":"string","description":"Opaque id of the entity the folder hierarchy hangs under — an integration\n root or container (for example a warehouse instance, a database, or a\n transformation project). Take it verbatim from `FolderRef.root_entity_id`\n of a folder you already read, or from an entity id returned elsewhere."},"folders":{"type":"array","items":{"type":"string"},"description":"Ordered folder names from the root down to this folder (root first, leaf\n last), for example [\"staging\", \"sales\"]. Empty means the ref points at the\n root entity itself. Folder names are kept as separate segments (not joined\n with \"/\") because some platforms allow \"/\" inside a single folder name."}},"title":"FolderRef","additionalProperties":false,"description":"FolderRef is the human-friendly, structured address of a folder: the entity it\n hangs under (`root_entity_id`) plus the ordered folder names from that root\n down to the folder (`folders`).\n\n It is the stable way to name a folder across responses. Prefer it over the\n opaque folder entity id when you want to log, display, or reconstruct a\n location — the segments are the same names a user sees in the catalog, and\n they survive changes to the underlying id encoding.\n\n A `FolderRef` with an empty `folders` list names the root entity itself (a\n top-level integration or container the hierarchy hangs from).\n\n This type lives in `synq.entities.v1` (rather than a folder-specific package)\n so it can be shared by both the folders navigation API and the query API\n without an import cycle."},"description":"Structured, human-authorable folder addresses (root entity + folder-name\n segments). Take a `FolderRef` verbatim from a folder returned by the folders\n navigation API, or build one from names you can see in the catalog."},"folderOf":{"type":"object","properties":{"entityIds":{"type":"array","items":{"type":"string"},"description":"Simplified source: the assets named directly by opaque entity id. Use this\n for the common \"same folder as these specific assets\" case; equivalent to an\n input_query that lists the same ids."},"inputQuery":{"type":"object","properties":{"parts":{"type":"array","items":{"oneOf":[{"type":"object","title":"entity_ids","required":["entityIds"],"properties":{"entityIds":{"type":"object","properties":{"entityIds":{"type":"array","items":{"type":"string","maxLength":1024,"minLength":1},"description":"The entities to select. An id may not be blank.\n\n An empty list selects no entities, exactly as an empty `identifier_list`\n does. Be deliberate about it, because it is not the same as leaving the part\n out: a part that selects nothing still counts, so it empties an AND, adds\n nothing to an OR, and removes nothing from an EXCEPT. If what you mean is\n \"do not restrict on specific entities\", omit the part instead of sending it\n empty.\n\n Ids may be up to 1024 characters — the same limit as `Identifier.entity_id`,\n where you read them from, so any id the API returned is accepted here."}},"title":"entity_ids","additionalProperties":false,"description":"Pin specific entities by the ids the API returned for them. Read back as\n `identifier_list`, with each id on the identifier it names.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"identifier_list","required":["identifierList"],"properties":{"identifierList":{"type":"object","properties":{"identifiers":{"type":"array","items":{"oneOf":[{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["airflowDag"],"properties":{"airflowDag":{"type":"object","properties":{"integrationId":{"type":"string","description":"Coalesce Quality integration_id that identifies the Airflow instance","isRequired":true},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true}},"title":"airflow_dag","required":["integrationId","dagId"],"additionalProperties":false,"description":"Airflow DAG identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["airflowTask"],"properties":{"airflowTask":{"type":"object","properties":{"integrationId":{"type":"string","description":"Coalesce Quality integration_id that identifies the Airflow instance","isRequired":true},"dagId":{"type":"string","description":"Airflow dag_id that identifies the DAG","isRequired":true},"taskId":{"type":"string","description":"Airflow task_id that identifies the task within the DAG","isRequired":true}},"title":"airflow_task","required":["integrationId","dagId","taskId"],"additionalProperties":false,"description":"Airflow task identifier within a given DAG","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["athenaTable"],"properties":{"athenaTable":{"type":"object","properties":{"instance":{"type":"string","description":"AWS account and region the Athena workgroup runs in, formatted as\n \"\u003caccount-id>.\u003cregion>\" (e.g. \"123456789012.eu-west-1\"). Auto-derived\n from sts:GetCallerIdentity at integration setup time.","isRequired":true},"catalog":{"type":"string","description":"Glue Data Catalog name. Almost always \"AwsDataCatalog\" — the default\n catalog for Athena unless the customer registered a federated catalog.","isRequired":true},"database":{"type":"string","description":"Glue database (the namespace users typically filter on).","isRequired":true},"table":{"type":"string","description":"Glue table or view name.","isRequired":true}},"title":"athena_table","required":["instance","catalog","database","table"],"additionalProperties":false,"description":"Amazon Athena (Glue) table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["bigqueryTable"],"properties":{"bigqueryTable":{"type":"object","properties":{"project":{"type":"string","description":"BigQuery project","isRequired":true},"dataset":{"type":"string","description":"BigQuery dataset id","isRequired":true},"table":{"type":"string","description":"BigQuery table name","isRequired":true}},"title":"bigquery_table","required":["project","dataset","table"],"additionalProperties":false,"description":"BigQuery table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["clickhouseTable"],"properties":{"clickhouseTable":{"type":"object","properties":{"host":{"type":"string","description":"Clickhouse hostname without port","isRequired":true},"schema":{"type":"string","description":"Clickhouse database","isRequired":true},"table":{"type":"string","description":"Clickhouse table","isRequired":true}},"title":"clickhouse_table","required":["host","schema","table"],"additionalProperties":false,"description":"Clickhouse table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["custom"],"properties":{"custom":{"type":"object","properties":{"id":{"type":"string","description":"Id that identifies the custom entity\n The Id should be unique within the custom entity Identifier.","isRequired":true}},"title":"custom","required":["id"],"additionalProperties":false,"description":"Custom identifier to be used with all custom created entities","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["databricksTable"],"properties":{"databricksTable":{"type":"object","properties":{"workspace":{"type":"string","description":"URL of Databricks workspace","isRequired":true},"catalog":{"type":"string","description":"Databricks catalog","isRequired":true},"schema":{"type":"string","description":"Databricks schema","isRequired":true},"table":{"type":"string","description":"Databricks table or view","isRequired":true}},"title":"databricks_table","required":["workspace","catalog","schema","table"],"additionalProperties":false,"description":"Databricks table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["dataproduct"],"properties":{"dataproduct":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Dataproduct id that identifies the Dataproduct","isRequired":true}},"title":"dataproduct","required":["id"],"additionalProperties":false,"description":"Dataproduct identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["db2Table"],"properties":{"db2Table":{"type":"object","properties":{"host":{"type":"string","description":"Host name of the Db2 server","isRequired":true},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true},"schema":{"type":"string","description":"Db2 schema (e.g. \"DB2INST1\")","isRequired":true},"table":{"type":"string","description":"Db2 table or view","isRequired":true}},"title":"db2_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"IBM Db2 LUW table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["dbtCloudNode"],"properties":{"dbtCloudNode":{"type":"object","properties":{"projectId":{"type":"string","description":"Your dbt Cloud project id","isRequired":true},"nodeId":{"type":"string","description":"Dbt node_id that identifies one of dbt DAG nodes (model, test, etc)","isRequired":true},"accountId":{"type":"string","description":"Your dbt Cloud account id"}},"title":"dbt_cloud_node","required":["projectId","nodeId"],"additionalProperties":false,"description":"Dbt node that identifies one of dbt DAG nodes (model, test, etc) in dbt Cloud project","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["dbtCoreNode"],"properties":{"dbtCoreNode":{"type":"object","properties":{"integrationId":{"type":"string","description":"Opaque identifier of the dbt Core project. Usually the Coalesce Quality\n integration id (a UUID), but may also be the dbt project name from\n manifest.json when the integration is configured to identify assets by\n project name. Treat it as an opaque string, not a UUID.","isRequired":true},"nodeId":{"type":"string","description":"Dbt node_id that identifies one of dbt DAG nodes (model, test, etc)","isRequired":true}},"title":"dbt_core_node","required":["integrationId","nodeId"],"additionalProperties":false,"description":"Dbt node that identifies one of dbt DAG nodes (model, test, etc) in dbt Core project","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["fabricTable"],"properties":{"fabricTable":{"type":"object","properties":{"instance":{"type":"string","description":"Workspace SQL analytics endpoint host, e.g.\n \"\u003cworkspace-id>.datawarehouse.fabric.microsoft.com\".","isRequired":true},"database":{"type":"string","description":"Fabric warehouse / lakehouse (database).","isRequired":true},"schema":{"type":"string","description":"Schema within the database.","isRequired":true},"table":{"type":"string","description":"Table or view name.","isRequired":true},"workspaceId":{"type":"string","description":"Fabric workspace GUID, decoded from the endpoint host in `instance`.\n Optional and informational: the table is addressed by\n instance/database/schema/table, so leave it empty if you don't have it —\n it does not affect how the identifier resolves."},"tenantId":{"type":"string","description":"Entra (Azure AD) tenant GUID, decoded from the endpoint host in `instance`.\n Optional and informational, like workspace_id."}},"title":"fabric_table","required":["instance","database","schema","table"],"additionalProperties":false,"description":"Microsoft Fabric table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["monitor"],"properties":{"monitor":{"type":"object","properties":{"monitoredId":{"$circularRef":"9aa48dcc-3dc1-40e9-bf59-0a21c9499772","description":"Identifier of the monitored entity","isRequired":true},"monitorId":{"type":"string","description":"Identifier of the monitor","isRequired":true},"segment":{"type":"any"},"integrationId":{"type":"any"}},"title":"monitor","required":["monitoredId","monitorId"],"additionalProperties":false,"description":"Monitor identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["mssqlTable"],"properties":{"mssqlTable":{"type":"object","properties":{"host":{"type":"string","description":"Hostname of the SQL Server instance","isRequired":true},"database":{"type":"string","description":"SQL Server database","isRequired":true},"schema":{"type":"string","description":"SQL Server schema (e.g. \"dbo\")","isRequired":true},"table":{"type":"string","description":"SQL Server table or view","isRequired":true}},"title":"mssql_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"SQL Server table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["mysqlTable"],"properties":{"mysqlTable":{"type":"object","properties":{"host":{"type":"string","description":"Mysql hostname without port","isRequired":true},"schema":{"type":"string","description":"Mysql database","isRequired":true},"table":{"type":"string","description":"Mysql table","isRequired":true}},"title":"mysql_table","required":["host","schema","table"],"additionalProperties":false,"description":"Mysql table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["oracleTable"],"properties":{"oracleTable":{"type":"object","properties":{"host":{"type":"string","description":"Hostname of the Oracle instance","isRequired":true},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true},"schema":{"type":"string","description":"Oracle schema (= owning user)","isRequired":true},"table":{"type":"string","description":"Oracle table or view","isRequired":true}},"title":"oracle_table","required":["host","serviceName","schema","table"],"additionalProperties":false,"description":"Oracle table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["postgresTable"],"properties":{"postgresTable":{"type":"object","properties":{"host":{"type":"string","description":"Postgres hostname without port","isRequired":true},"database":{"type":"string","description":"Postgres database","isRequired":true},"schema":{"type":"string","description":"Postgres schema","isRequired":true},"table":{"type":"string","description":"Postgres table","isRequired":true}},"title":"postgres_table","required":["host","database","schema","table"],"additionalProperties":false,"description":"Postgres table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["redshiftTable"],"properties":{"redshiftTable":{"type":"object","properties":{"database":{"type":"string","description":"Redshift database","isRequired":true},"schema":{"type":"string","description":"Redshift schema","isRequired":true},"table":{"type":"string","description":"Redshift table","isRequired":true},"cluster":{"type":"string","description":"Required. Host of the Redshift endpoint, as in the connection, for example\n `my-cluster.abc123.eu-west-1.redshift.amazonaws.com`. A port suffix is\n accepted and ignored. The bare cluster name (`my-cluster`) is not enough,\n because one name can exist in more than one account or region. A response\n returns the host in its normalized form, which is also accepted on input.\n\n The rule below also refuses an empty value. It is not `required`, because\n `required` stops the other rules and its error does not say what to send.\nredshift_table.cluster.full_host // cluster must be the full host of the Redshift endpoint from the connection, for example my-cluster.abc123.eu-west-1.redshift.amazonaws.com\n"}},"title":"redshift_table","required":["database","schema","table"],"additionalProperties":false,"description":"Redshift table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["savedView"],"properties":{"savedView":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Saved view id (client-supplied UUID) that identifies the saved view","isRequired":true}},"title":"saved_view","required":["id"],"additionalProperties":false,"description":"Saved view identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["snowflakeTable"],"properties":{"snowflakeTable":{"type":"object","properties":{"account":{"type":"string","description":"Snowflake account","isRequired":true},"database":{"type":"string","description":"Snowflake database","isRequired":true},"schema":{"type":"string","description":"Snowflake schema","isRequired":true},"table":{"type":"string","description":"Snowflake table","isRequired":true}},"title":"snowflake_table","required":["account","database","schema","table"],"additionalProperties":false,"description":"Snowflake table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["sqlMeshAudit"],"properties":{"sqlMeshAudit":{"type":"object","properties":{"integrationId":{"type":"string","format":"uuid","description":"Coalesce Quality integration_id that identifies the dbt Core project","isRequired":true},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true},"auditId":{"type":"string","description":"Identifier of the audit","isRequired":true}},"title":"sql_mesh_audit","required":["integrationId","fqn","auditId"],"additionalProperties":false,"description":"SQLMesh Audit identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["sqlMeshModel"],"properties":{"sqlMeshModel":{"type":"object","properties":{"integrationId":{"type":"string","format":"uuid","description":"Coalesce Quality integration_id that identifies the dbt Core project","isRequired":true},"fqn":{"type":"string","description":"SQLMesh model fully qualified name","isRequired":true}},"title":"sql_mesh_model","required":["integrationId","fqn"],"additionalProperties":false,"description":"SQLMesh Model identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["synqPath"],"properties":{"synqPath":{"type":"object","properties":{"path":{"type":"string","description":"Coalesce Quality path that identifies the Coalesce Quality entity, needs to be one of supported paths","isRequired":true}},"title":"synq_path","required":["path"],"additionalProperties":false,"description":"SynqPath identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false},{"type":"object","title":"Identifier","description":"Identifier is a unique reference to an entity in Coalesce Quality system. Entity identifiers\n are designed to closely mimic identifiers used by data platforms and tools. To construct\n an identifier, you need to know the kind of the entity and the ids that you would normally\n use to identify it in the data platform or tool. For example, to identify a table in BigQuery,\n you would need to know the project, dataset, and table names.\n\n Every identifier the API RETURNS also carries `entity_id`, the entity's opaque\n id. Read it when you just need to name the entity again — it is one string for\n every platform, where the structured variants below only cover the platforms\n that have one.","required":["trinoTable"],"properties":{"trinoTable":{"type":"object","properties":{"host":{"type":"string","description":"Hostname of the Trino instance","isRequired":true},"catalog":{"type":"string","description":"Trino catalog","isRequired":true},"schema":{"type":"string","description":"Trino schema","isRequired":true},"table":{"type":"string","description":"Trino table or view","isRequired":true}},"title":"trino_table","required":["host","catalog","schema","table"],"additionalProperties":false,"description":"Trino table identifier","isRequired":true},"entityId":{"type":"string","title":"entity_id","maxLength":1024,"description":"Opaque id of the entity, set on every identifier the API returns. Round-trip\n it verbatim; the format is not part of this contract and may change, and it\n is never constructed by hand.\n\n OUTPUT ONLY. On a request this field is ignored — the structured variant is\n what resolves. That is what lets you hand an identifier straight back\n unchanged, or edit its structured fields, without the two disagreeing about\n which entity you meant. To name an entity BY opaque id on a request, set the\n `synq_path` variant to that id: it carries exactly this string, and it is\n also how an entity whose platform has no structured variant is named."}},"additionalProperties":false}]}}},"title":"identifier_list","additionalProperties":false,"description":"Resolves to entities matching any of the given identifiers.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"identities_of","required":["identitiesOf"],"properties":{"identitiesOf":{"type":"object","properties":{"inputQuery":{"$circularRef":"5b88d704-2a2e-4c1a-837b-99543d863e65","description":"The assets whose identities to resolve. Required.","isRequired":true},"limitToTypes":{"type":"array","items":{"oneOf":[{"type":"object","title":"custom","required":["custom"],"properties":{"custom":{"type":"integer","title":"custom","format":"int32","description":"Custom types as defined through synq.entities.custom.v1.TypesService","isRequired":true}},"additionalProperties":false},{"type":"object","title":"default","required":["default"],"properties":{"default":{"type":"string","title":"default","enum":["ENTITY_TYPE_UNSPECIFIED","ENTITY_TYPE_BQ_TABLE","ENTITY_TYPE_BQ_VIEW","ENTITY_TYPE_BQ_PROCEDURE","ENTITY_TYPE_BQ_FUNCTION","ENTITY_TYPE_LOOKER_LOOK","ENTITY_TYPE_LOOKER_EXPLORE","ENTITY_TYPE_LOOKER_VIEW","ENTITY_TYPE_LOOKER_DASHBOARD","ENTITY_TYPE_LOOKER_INSTANCE","ENTITY_TYPE_DBT_MODEL","ENTITY_TYPE_DBT_TEST","ENTITY_TYPE_DBT_SOURCE","ENTITY_TYPE_DBT_PROJECT","ENTITY_TYPE_DBT_METRIC","ENTITY_TYPE_DBT_SNAPSHOT","ENTITY_TYPE_DBT_SEED","ENTITY_TYPE_DBT_ANALYSIS","ENTITY_TYPE_DBT_EXPOSURE","ENTITY_TYPE_DBT_GROUP","ENTITY_TYPE_DBT_SEMANTIC_MODEL","ENTITY_TYPE_DBT_CLOUD_PROJECT","ENTITY_TYPE_DBT_CLOUD_JOB","ENTITY_TYPE_SNOWFLAKE_TABLE","ENTITY_TYPE_SNOWFLAKE_VIEW","ENTITY_TYPE_SNOWFLAKE_STREAM","ENTITY_TYPE_SNOWFLAKE_DYNAMIC_TABLE","ENTITY_TYPE_SNOWFLAKE_TASK","ENTITY_TYPE_SNOWFLAKE_EXTERNAL_TABLE","ENTITY_TYPE_SNOWFLAKE_MATERIALIZED_VIEW","ENTITY_TYPE_SNOWFLAKE_PROCEDURE","ENTITY_TYPE_SNOWFLAKE_FUNCTION","ENTITY_TYPE_SNOWFLAKE_SEMANTIC_VIEW","ENTITY_TYPE_SNOWFLAKE_STAGE","ENTITY_TYPE_SNOWFLAKE_STREAMLIT","ENTITY_TYPE_SNOWFLAKE_NOTEBOOK","ENTITY_TYPE_SNOWFLAKE_WAREHOUSE","ENTITY_TYPE_SNOWFLAKE_PIPE","ENTITY_TYPE_SNOWFLAKE_CORTEX_SEARCH_SERVICE","ENTITY_TYPE_REDSHIFT_TABLE","ENTITY_TYPE_REDSHIFT_VIEW","ENTITY_TYPE_REDSHIFT_PROCEDURE","ENTITY_TYPE_REDSHIFT_FUNCTION","ENTITY_TYPE_TABLEAU_EMBEDDED","ENTITY_TYPE_TABLEAU_PUBLISHED","ENTITY_TYPE_TABLEAU_CUSTOM_SQL","ENTITY_TYPE_TABLEAU_TABLE","ENTITY_TYPE_TABLEAU_SHEET","ENTITY_TYPE_TABLEAU_DASHBOARD","ENTITY_TYPE_TABLEAU_WORKBOOK","ENTITY_TYPE_TABLEAU_SITE","ENTITY_TYPE_AIRFLOW_DAG","ENTITY_TYPE_AIRFLOW_TASK","ENTITY_TYPE_CLICKHOUSE_TABLE","ENTITY_TYPE_CLICKHOUSE_VIEW","ENTITY_TYPE_ANOMALY_MONITOR","ENTITY_TYPE_ANOMALY_MONITOR_SEGMENT","ENTITY_TYPE_SQLTEST_TEST","ENTITY_TYPE_RECON_SUITE","ENTITY_TYPE_RECON_CASE","ENTITY_TYPE_LINEAGE_FOLD","ENTITY_TYPE_POSTGRES_TABLE","ENTITY_TYPE_POSTGRES_VIEW","ENTITY_TYPE_MYSQL_TABLE","ENTITY_TYPE_MYSQL_VIEW","ENTITY_TYPE_DATABRICKS_WAREHOUSE","ENTITY_TYPE_DATABRICKS_TABLE","ENTITY_TYPE_DATABRICKS_VIEW","ENTITY_TYPE_DATABRICKS_JOB","ENTITY_TYPE_DATABRICKS_JOB_TASK","ENTITY_TYPE_DATABRICKS_NOTEBOOK","ENTITY_TYPE_DATABRICKS_QUERY","ENTITY_TYPE_DATABRICKS_DASHBOARD","ENTITY_TYPE_DATABRICKS_METRIC_VIEW","ENTITY_TYPE_DATABRICKS_APP","ENTITY_TYPE_SQLMESH_PROJECT","ENTITY_TYPE_SQLMESH_SQL_MODEL","ENTITY_TYPE_SQLMESH_PYTHON_MODEL","ENTITY_TYPE_SQLMESH_EXTERNAL","ENTITY_TYPE_SQLMESH_SEED","ENTITY_TYPE_SQLMESH_AUDIT","ENTITY_TYPE_SQLMESH_UNIT_TEST","ENTITY_TYPE_SQLMESH_ENVIRONMENT","ENTITY_TYPE_SQLMESH_SNAPSHOT","ENTITY_TYPE_DUCKDB_TABLE","ENTITY_TYPE_DUCKDB_VIEW","ENTITY_TYPE_TRINO_TABLE","ENTITY_TYPE_TRINO_VIEW","ENTITY_TYPE_ATLAN_ASSET","ENTITY_TYPE_ATLAN_INTEGRATION","ENTITY_TYPE_COALESCE_PROJECT","ENTITY_TYPE_COALESCE_ENVIRONMENT","ENTITY_TYPE_COALESCE_NODE","ENTITY_TYPE_COALESCE_NODE_TEST","ENTITY_TYPE_COALESCE_JOB","ENTITY_TYPE_CASTORDOC_TABLE","ENTITY_TYPE_CASTORDOC_DASHBOARD","ENTITY_TYPE_CASTORDOC_VIEW","ENTITY_TYPE_CASTORDOC_TILE","ENTITY_TYPE_CASTORDOC_VIZ_MODEL","ENTITY_TYPE_POWERBI_REPORT","ENTITY_TYPE_POWERBI_TILE","ENTITY_TYPE_POWERBI_DATASET","ENTITY_TYPE_POWERBI_DASHBOARD","ENTITY_TYPE_POWERBI_TENANT","ENTITY_TYPE_THOUGHTSPOT_LIVEBOARD","ENTITY_TYPE_THOUGHTSPOT_WORKSHEET","ENTITY_TYPE_SIGMA_WORKBOOK","ENTITY_TYPE_SIGMA_DATA_MODEL","ENTITY_TYPE_SIGMA_ORGANIZATION","ENTITY_TYPE_DOMO_PAGE","ENTITY_TYPE_DOMO_DATASET","ENTITY_TYPE_MSSQL_TABLE","ENTITY_TYPE_MSSQL_VIEW","ENTITY_TYPE_MSSQL_PROCEDURE","ENTITY_TYPE_MSSQL_FUNCTION","ENTITY_TYPE_ORACLE_TABLE","ENTITY_TYPE_ORACLE_VIEW","ENTITY_TYPE_ORACLE_PROCEDURE","ENTITY_TYPE_ORACLE_FUNCTION","ENTITY_TYPE_ATHENA_TABLE","ENTITY_TYPE_ATHENA_VIEW","ENTITY_TYPE_FABRIC_TABLE","ENTITY_TYPE_FABRIC_VIEW","ENTITY_TYPE_FABRIC_PROCEDURE","ENTITY_TYPE_FABRIC_FUNCTION","ENTITY_TYPE_DB2_TABLE","ENTITY_TYPE_DB2_VIEW","ENTITY_TYPE_DB2_PROCEDURE","ENTITY_TYPE_DB2_FUNCTION","ENTITY_TYPE_LOOKER_STUDIO_CUSTOMER","ENTITY_TYPE_LOOKER_STUDIO_REPORT","ENTITY_TYPE_LOOKER_STUDIO_DATA_SOURCE","ENTITY_TYPE_CUSTOM_ENTITY_GENERIC","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MIN","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MAX"],"description":"Default Coalesce Quality types","isRequired":true}},"additionalProperties":false}]},"description":"Restrict the result to these types. When empty, only the other members of\n each identity group are returned. When set, an input asset that already has\n one of these types is returned as well."}},"title":"identities_of","required":["inputQuery"],"additionalProperties":false,"description":"Resolves to the identities of whatever the inner query matches.\n\n The same real-world table is often described by several assets — a\n transformation model and the warehouse table it materialises into are one\n asset with several representations. Those representations form an identity\n group. IdentitiesOf takes the assets matched by `input_query` and returns\n their identity groups, so a selection made in one platform's terms also\n covers the equivalent assets in every other platform.\n\n The typical use is subtraction: \"this warehouse database, except whatever my\n transformation tool already owns\" is an EXCEPT whose removal clause is an\n IdentitiesOf over the transformation models. Without it the two selections\n overlap on every materialised table.\nidentities_of.input_query_selects_something // identities_of requires an input_query with at least one part\n","isRequired":true}},"additionalProperties":false},{"type":"object","title":"in_data_platform","required":["inDataPlatform"],"properties":{"inDataPlatform":{"type":"object","properties":{"identifier":{"oneOf":[{"type":"object","title":"athena","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["athena"],"properties":{"athena":{"type":"object","properties":{"instance":{"type":"string","description":"AWS account and region the Athena workgroup runs in, formatted as\n \"\u003caccount-id>.\u003cregion>\" (e.g. \"123456789012.eu-west-1\"). Auto-derived\n by Coalesce Quality from sts:GetCallerIdentity at integration setup time.","isRequired":true},"catalog":{"type":"string","description":"Glue Data Catalog name. Almost always \"AwsDataCatalog\" — the default\n catalog for Athena unless the customer registered a federated catalog.","isRequired":true}},"title":"athena","required":["instance","catalog"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"bigquery","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["bigquery"],"properties":{"bigquery":{"type":"object","properties":{"project":{"type":"string","description":"BigQuery project","isRequired":true}},"title":"bigquery","required":["project"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"clickhouse","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["clickhouse"],"properties":{"clickhouse":{"type":"object","properties":{"host":{"type":"string","description":"Clickhouse host inclusive of port","isRequired":true},"schema":{"type":"string","description":"Clickhouse database","isRequired":true}},"title":"clickhouse","required":["host","schema"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"databricks","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["databricks"],"properties":{"databricks":{"type":"object","properties":{"workspace":{"type":"string","description":"URL of the databricks workspace","isRequired":true}},"title":"databricks","required":["workspace"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"db2","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["db2"],"properties":{"db2":{"type":"object","properties":{"host":{"type":"string","description":"Host name of the Db2 server","isRequired":true},"database":{"type":"string","description":"Database name or alias, as in `CONNECT TO \u003cdatabase>`","isRequired":true}},"title":"db2","required":["host","database"],"additionalProperties":false,"description":"IBM Db2 for Linux, UNIX and Windows. An integration connects to one\n database, so host and database together identify it.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"dbt_cloud","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["dbtCloud"],"properties":{"dbtCloud":{"type":"object","properties":{"apiEndpoint":{"type":"string","description":"API endpoint for Dbt Cloud","isRequired":true},"accountId":{"type":"string","description":"Account ID","isRequired":true},"projectId":{"type":"string","description":"Project ID","isRequired":true}},"title":"dbt_cloud","required":["apiEndpoint","accountId","projectId"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"duckdb","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["duckdb"],"properties":{"duckdb":{"type":"object","properties":{"motherduckAccount":{"type":"string"}},"title":"duckdb","additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"fabric","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["fabric"],"properties":{"fabric":{"type":"object","properties":{"instance":{"type":"string","description":"Workspace SQL analytics endpoint host, e.g.\n \"\u003cworkspace-id>.datawarehouse.fabric.microsoft.com\". Identifies the Fabric\n workspace the integration connects to. Fabric is workspace-scoped with\n cross-database queries, so the workspace host alone identifies the platform\n (like Databricks' workspace URL); a specific warehouse/table is addressed by\n FabricTableIdentifier.","isRequired":true},"workspaceId":{"type":"string","description":"Fabric workspace GUID — the identifier used by the Fabric REST API for\n workspace-scoped resources. The Fabric endpoint host in `instance` encodes\n the tenant and workspace GUIDs; this is the decoded workspace GUID, provided\n so you don't have to decode it yourself. `instance` remains the identifying\n value. Optional: empty when the host isn't a standard Fabric endpoint."},"tenantId":{"type":"string","description":"Entra (Azure AD) tenant GUID, decoded from the endpoint host in `instance`\n alongside workspace_id. Optional: empty when the host isn't a standard\n Fabric endpoint."}},"title":"fabric","required":["instance"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"mssql","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["mssql"],"properties":{"mssql":{"type":"object","properties":{"host":{"type":"string","description":"SQL Server host","isRequired":true},"database":{"type":"string","description":"Database name","isRequired":true}},"title":"mssql","required":["host","database"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"mysql","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["mysql"],"properties":{"mysql":{"type":"object","properties":{"host":{"type":"string","description":"Mysql host inclusive of port","isRequired":true}},"title":"mysql","required":["host"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"oracle","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["oracle"],"properties":{"oracle":{"type":"object","properties":{"host":{"type":"string","description":"Oracle host","isRequired":true},"serviceName":{"type":"string","description":"Oracle service name (PDB)","isRequired":true}},"title":"oracle","required":["host","serviceName"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"postgres","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["postgres"],"properties":{"postgres":{"type":"object","properties":{"host":{"type":"string","description":"Postgres host inclusive of port","isRequired":true},"database":{"type":"string","description":"Postgres database","isRequired":true}},"title":"postgres","required":["host","database"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"redshift","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["redshift"],"properties":{"redshift":{"type":"object","properties":{"cluster":{"type":"string","description":"Redshift cluster","isRequired":true},"database":{"type":"string","description":"Redshift database","isRequired":true}},"title":"redshift","required":["cluster","database"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"snowflake","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["snowflake"],"properties":{"snowflake":{"type":"object","properties":{"account":{"type":"string","description":"Snowflake account","isRequired":true},"database":{"type":"string","description":"Snowflake database","isRequired":true}},"title":"snowflake","required":["account","database"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"sql_mesh","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["sqlMesh"],"properties":{"sqlMesh":{"type":"object","properties":{"defaultDatabaseInstance":{"type":"string","description":"Default database instance for SQL Mesh","isRequired":true}},"title":"sql_mesh","required":["defaultDatabaseInstance"],"additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"synq_integration_id","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["synqIntegrationId"],"properties":{"synqIntegrationId":{"type":"string","title":"synq_integration_id","description":"Coalesce Quality integration ID maps to the created integration on the Coalesce Quality platform.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"trino","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["trino"],"properties":{"trino":{"type":"object","properties":{"coordinator":{"type":"string"}},"title":"trino","additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"unknown","description":"DataPlatformIdentifier is a unique reference to a data platform integrated with Coalesce Quality.","required":["unknown"],"properties":{"unknown":{"type":"object","title":"unknown","additionalProperties":false,"isRequired":true}},"additionalProperties":false}]}},"title":"in_data_platform","additionalProperties":false,"description":"Resolves to all entities that belong to the given data platform.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"in_dataproduct","required":["inDataproduct"],"properties":{"inDataproduct":{"type":"object","properties":{"identifier":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Dataproduct id that identifies the Dataproduct","isRequired":true}},"title":"DataproductIdentifier","required":["id"],"additionalProperties":false}},"title":"in_dataproduct","additionalProperties":false,"description":"Resolves to all the assets that belong to the given data product.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"in_domain","required":["inDomain"],"properties":{"inDomain":{"type":"object","properties":{"domainId":{"type":"string","format":"uuid"}},"title":"in_domain","additionalProperties":false,"description":"Resolves to all entities in the given data domain.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"in_folder","required":["inFolder"],"properties":{"inFolder":{"oneOf":[{"title":"in_folder","isRequired":true}],"isRequired":true}},"additionalProperties":false},{"type":"object","title":"query","required":["query"],"properties":{"query":{"$circularRef":"5b88d704-2a2e-4c1a-837b-99543d863e65","title":"query","description":"Nested sub-query, enabling recursive composition of filters and operands.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"unsupported","required":["unsupported"],"properties":{"unsupported":{"type":"object","properties":{"queryJson":{"type":"string"}},"title":"unsupported","additionalProperties":false,"description":"Read-only. Represents internal query types that cannot be expressed in the public API.\n Do not construct these directly — they are returned when translating from internal queries.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"with_annotation","required":["withAnnotation"],"properties":{"withAnnotation":{"type":"object","properties":{"name":{"type":"string"},"acceptedValue":{"oneOf":[{"type":"string","deprecated":true},{"type":"null","deprecated":true}]},"acceptedValues":{"type":"array","items":{"type":"string"}}},"title":"with_annotation","additionalProperties":false,"description":"Resolves to all entities that contain the annotation with at least one of the provided accepted values.\n In case of no given accepted values, all entities that carry the given annotation are returned.\n The name and the values match case-insensitively.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"with_data_platform_type","required":["withDataPlatformType"],"properties":{"withDataPlatformType":{"type":"object","properties":{"types":{"type":"array","items":{"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"]}}},"title":"with_data_platform_type","additionalProperties":false,"isRequired":true}},"additionalProperties":false},{"type":"object","title":"with_default_visible_types","required":["withDefaultVisibleTypes"],"properties":{"withDefaultVisibleTypes":{"type":"object","title":"with_default_visible_types","additionalProperties":false,"description":"Resolves to every asset of a type the catalog shows by default — the\n \"everything\" starting set.\n\n Use it as the base of a subtraction, e.g. an EXCEPT query whose first part is\n WithDefaultVisibleTypes and whose second part is what to leave out. On its own\n it selects the whole catalog, so it is rarely useful as the only part of a\n query.\n\n \"Default visible\" excludes the supporting asset types the catalog hides unless\n asked for (columns, tests, and similar), so this is not literally every entity.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"with_name_search","required":["withNameSearch"],"properties":{"withNameSearch":{"type":"object","properties":{"searchQuery":{"type":"string"}},"title":"with_name_search","additionalProperties":false,"description":"Resolves to all entities matching the given name search.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"with_type","required":["withType"],"properties":{"withType":{"type":"object","properties":{"type":{"oneOf":[{"type":"object","title":"custom","required":["custom"],"deprecated":true,"properties":{"custom":{"type":"integer","title":"custom","format":"int32","description":"Custom types as defined through synq.entities.custom.v1.TypesService","isRequired":true}},"additionalProperties":false},{"type":"object","title":"default","required":["default"],"deprecated":true,"properties":{"default":{"type":"string","title":"default","enum":["ENTITY_TYPE_UNSPECIFIED","ENTITY_TYPE_BQ_TABLE","ENTITY_TYPE_BQ_VIEW","ENTITY_TYPE_BQ_PROCEDURE","ENTITY_TYPE_BQ_FUNCTION","ENTITY_TYPE_LOOKER_LOOK","ENTITY_TYPE_LOOKER_EXPLORE","ENTITY_TYPE_LOOKER_VIEW","ENTITY_TYPE_LOOKER_DASHBOARD","ENTITY_TYPE_LOOKER_INSTANCE","ENTITY_TYPE_DBT_MODEL","ENTITY_TYPE_DBT_TEST","ENTITY_TYPE_DBT_SOURCE","ENTITY_TYPE_DBT_PROJECT","ENTITY_TYPE_DBT_METRIC","ENTITY_TYPE_DBT_SNAPSHOT","ENTITY_TYPE_DBT_SEED","ENTITY_TYPE_DBT_ANALYSIS","ENTITY_TYPE_DBT_EXPOSURE","ENTITY_TYPE_DBT_GROUP","ENTITY_TYPE_DBT_SEMANTIC_MODEL","ENTITY_TYPE_DBT_CLOUD_PROJECT","ENTITY_TYPE_DBT_CLOUD_JOB","ENTITY_TYPE_SNOWFLAKE_TABLE","ENTITY_TYPE_SNOWFLAKE_VIEW","ENTITY_TYPE_SNOWFLAKE_STREAM","ENTITY_TYPE_SNOWFLAKE_DYNAMIC_TABLE","ENTITY_TYPE_SNOWFLAKE_TASK","ENTITY_TYPE_SNOWFLAKE_EXTERNAL_TABLE","ENTITY_TYPE_SNOWFLAKE_MATERIALIZED_VIEW","ENTITY_TYPE_SNOWFLAKE_PROCEDURE","ENTITY_TYPE_SNOWFLAKE_FUNCTION","ENTITY_TYPE_SNOWFLAKE_SEMANTIC_VIEW","ENTITY_TYPE_SNOWFLAKE_STAGE","ENTITY_TYPE_SNOWFLAKE_STREAMLIT","ENTITY_TYPE_SNOWFLAKE_NOTEBOOK","ENTITY_TYPE_SNOWFLAKE_WAREHOUSE","ENTITY_TYPE_SNOWFLAKE_PIPE","ENTITY_TYPE_SNOWFLAKE_CORTEX_SEARCH_SERVICE","ENTITY_TYPE_REDSHIFT_TABLE","ENTITY_TYPE_REDSHIFT_VIEW","ENTITY_TYPE_REDSHIFT_PROCEDURE","ENTITY_TYPE_REDSHIFT_FUNCTION","ENTITY_TYPE_TABLEAU_EMBEDDED","ENTITY_TYPE_TABLEAU_PUBLISHED","ENTITY_TYPE_TABLEAU_CUSTOM_SQL","ENTITY_TYPE_TABLEAU_TABLE","ENTITY_TYPE_TABLEAU_SHEET","ENTITY_TYPE_TABLEAU_DASHBOARD","ENTITY_TYPE_TABLEAU_WORKBOOK","ENTITY_TYPE_TABLEAU_SITE","ENTITY_TYPE_AIRFLOW_DAG","ENTITY_TYPE_AIRFLOW_TASK","ENTITY_TYPE_CLICKHOUSE_TABLE","ENTITY_TYPE_CLICKHOUSE_VIEW","ENTITY_TYPE_ANOMALY_MONITOR","ENTITY_TYPE_ANOMALY_MONITOR_SEGMENT","ENTITY_TYPE_SQLTEST_TEST","ENTITY_TYPE_RECON_SUITE","ENTITY_TYPE_RECON_CASE","ENTITY_TYPE_LINEAGE_FOLD","ENTITY_TYPE_POSTGRES_TABLE","ENTITY_TYPE_POSTGRES_VIEW","ENTITY_TYPE_MYSQL_TABLE","ENTITY_TYPE_MYSQL_VIEW","ENTITY_TYPE_DATABRICKS_WAREHOUSE","ENTITY_TYPE_DATABRICKS_TABLE","ENTITY_TYPE_DATABRICKS_VIEW","ENTITY_TYPE_DATABRICKS_JOB","ENTITY_TYPE_DATABRICKS_JOB_TASK","ENTITY_TYPE_DATABRICKS_NOTEBOOK","ENTITY_TYPE_DATABRICKS_QUERY","ENTITY_TYPE_DATABRICKS_DASHBOARD","ENTITY_TYPE_DATABRICKS_METRIC_VIEW","ENTITY_TYPE_DATABRICKS_APP","ENTITY_TYPE_SQLMESH_PROJECT","ENTITY_TYPE_SQLMESH_SQL_MODEL","ENTITY_TYPE_SQLMESH_PYTHON_MODEL","ENTITY_TYPE_SQLMESH_EXTERNAL","ENTITY_TYPE_SQLMESH_SEED","ENTITY_TYPE_SQLMESH_AUDIT","ENTITY_TYPE_SQLMESH_UNIT_TEST","ENTITY_TYPE_SQLMESH_ENVIRONMENT","ENTITY_TYPE_SQLMESH_SNAPSHOT","ENTITY_TYPE_DUCKDB_TABLE","ENTITY_TYPE_DUCKDB_VIEW","ENTITY_TYPE_TRINO_TABLE","ENTITY_TYPE_TRINO_VIEW","ENTITY_TYPE_ATLAN_ASSET","ENTITY_TYPE_ATLAN_INTEGRATION","ENTITY_TYPE_COALESCE_PROJECT","ENTITY_TYPE_COALESCE_ENVIRONMENT","ENTITY_TYPE_COALESCE_NODE","ENTITY_TYPE_COALESCE_NODE_TEST","ENTITY_TYPE_COALESCE_JOB","ENTITY_TYPE_CASTORDOC_TABLE","ENTITY_TYPE_CASTORDOC_DASHBOARD","ENTITY_TYPE_CASTORDOC_VIEW","ENTITY_TYPE_CASTORDOC_TILE","ENTITY_TYPE_CASTORDOC_VIZ_MODEL","ENTITY_TYPE_POWERBI_REPORT","ENTITY_TYPE_POWERBI_TILE","ENTITY_TYPE_POWERBI_DATASET","ENTITY_TYPE_POWERBI_DASHBOARD","ENTITY_TYPE_POWERBI_TENANT","ENTITY_TYPE_THOUGHTSPOT_LIVEBOARD","ENTITY_TYPE_THOUGHTSPOT_WORKSHEET","ENTITY_TYPE_SIGMA_WORKBOOK","ENTITY_TYPE_SIGMA_DATA_MODEL","ENTITY_TYPE_SIGMA_ORGANIZATION","ENTITY_TYPE_DOMO_PAGE","ENTITY_TYPE_DOMO_DATASET","ENTITY_TYPE_MSSQL_TABLE","ENTITY_TYPE_MSSQL_VIEW","ENTITY_TYPE_MSSQL_PROCEDURE","ENTITY_TYPE_MSSQL_FUNCTION","ENTITY_TYPE_ORACLE_TABLE","ENTITY_TYPE_ORACLE_VIEW","ENTITY_TYPE_ORACLE_PROCEDURE","ENTITY_TYPE_ORACLE_FUNCTION","ENTITY_TYPE_ATHENA_TABLE","ENTITY_TYPE_ATHENA_VIEW","ENTITY_TYPE_FABRIC_TABLE","ENTITY_TYPE_FABRIC_VIEW","ENTITY_TYPE_FABRIC_PROCEDURE","ENTITY_TYPE_FABRIC_FUNCTION","ENTITY_TYPE_DB2_TABLE","ENTITY_TYPE_DB2_VIEW","ENTITY_TYPE_DB2_PROCEDURE","ENTITY_TYPE_DB2_FUNCTION","ENTITY_TYPE_LOOKER_STUDIO_CUSTOMER","ENTITY_TYPE_LOOKER_STUDIO_REPORT","ENTITY_TYPE_LOOKER_STUDIO_DATA_SOURCE","ENTITY_TYPE_CUSTOM_ENTITY_GENERIC","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MIN","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MAX"],"description":"Default Coalesce Quality types","isRequired":true}},"additionalProperties":false}]},"types":{"type":"array","items":{"oneOf":[{"type":"object","title":"custom","required":["custom"],"properties":{"custom":{"type":"integer","title":"custom","format":"int32","description":"Custom types as defined through synq.entities.custom.v1.TypesService","isRequired":true}},"additionalProperties":false},{"type":"object","title":"default","required":["default"],"properties":{"default":{"type":"string","title":"default","enum":["ENTITY_TYPE_UNSPECIFIED","ENTITY_TYPE_BQ_TABLE","ENTITY_TYPE_BQ_VIEW","ENTITY_TYPE_BQ_PROCEDURE","ENTITY_TYPE_BQ_FUNCTION","ENTITY_TYPE_LOOKER_LOOK","ENTITY_TYPE_LOOKER_EXPLORE","ENTITY_TYPE_LOOKER_VIEW","ENTITY_TYPE_LOOKER_DASHBOARD","ENTITY_TYPE_LOOKER_INSTANCE","ENTITY_TYPE_DBT_MODEL","ENTITY_TYPE_DBT_TEST","ENTITY_TYPE_DBT_SOURCE","ENTITY_TYPE_DBT_PROJECT","ENTITY_TYPE_DBT_METRIC","ENTITY_TYPE_DBT_SNAPSHOT","ENTITY_TYPE_DBT_SEED","ENTITY_TYPE_DBT_ANALYSIS","ENTITY_TYPE_DBT_EXPOSURE","ENTITY_TYPE_DBT_GROUP","ENTITY_TYPE_DBT_SEMANTIC_MODEL","ENTITY_TYPE_DBT_CLOUD_PROJECT","ENTITY_TYPE_DBT_CLOUD_JOB","ENTITY_TYPE_SNOWFLAKE_TABLE","ENTITY_TYPE_SNOWFLAKE_VIEW","ENTITY_TYPE_SNOWFLAKE_STREAM","ENTITY_TYPE_SNOWFLAKE_DYNAMIC_TABLE","ENTITY_TYPE_SNOWFLAKE_TASK","ENTITY_TYPE_SNOWFLAKE_EXTERNAL_TABLE","ENTITY_TYPE_SNOWFLAKE_MATERIALIZED_VIEW","ENTITY_TYPE_SNOWFLAKE_PROCEDURE","ENTITY_TYPE_SNOWFLAKE_FUNCTION","ENTITY_TYPE_SNOWFLAKE_SEMANTIC_VIEW","ENTITY_TYPE_SNOWFLAKE_STAGE","ENTITY_TYPE_SNOWFLAKE_STREAMLIT","ENTITY_TYPE_SNOWFLAKE_NOTEBOOK","ENTITY_TYPE_SNOWFLAKE_WAREHOUSE","ENTITY_TYPE_SNOWFLAKE_PIPE","ENTITY_TYPE_SNOWFLAKE_CORTEX_SEARCH_SERVICE","ENTITY_TYPE_REDSHIFT_TABLE","ENTITY_TYPE_REDSHIFT_VIEW","ENTITY_TYPE_REDSHIFT_PROCEDURE","ENTITY_TYPE_REDSHIFT_FUNCTION","ENTITY_TYPE_TABLEAU_EMBEDDED","ENTITY_TYPE_TABLEAU_PUBLISHED","ENTITY_TYPE_TABLEAU_CUSTOM_SQL","ENTITY_TYPE_TABLEAU_TABLE","ENTITY_TYPE_TABLEAU_SHEET","ENTITY_TYPE_TABLEAU_DASHBOARD","ENTITY_TYPE_TABLEAU_WORKBOOK","ENTITY_TYPE_TABLEAU_SITE","ENTITY_TYPE_AIRFLOW_DAG","ENTITY_TYPE_AIRFLOW_TASK","ENTITY_TYPE_CLICKHOUSE_TABLE","ENTITY_TYPE_CLICKHOUSE_VIEW","ENTITY_TYPE_ANOMALY_MONITOR","ENTITY_TYPE_ANOMALY_MONITOR_SEGMENT","ENTITY_TYPE_SQLTEST_TEST","ENTITY_TYPE_RECON_SUITE","ENTITY_TYPE_RECON_CASE","ENTITY_TYPE_LINEAGE_FOLD","ENTITY_TYPE_POSTGRES_TABLE","ENTITY_TYPE_POSTGRES_VIEW","ENTITY_TYPE_MYSQL_TABLE","ENTITY_TYPE_MYSQL_VIEW","ENTITY_TYPE_DATABRICKS_WAREHOUSE","ENTITY_TYPE_DATABRICKS_TABLE","ENTITY_TYPE_DATABRICKS_VIEW","ENTITY_TYPE_DATABRICKS_JOB","ENTITY_TYPE_DATABRICKS_JOB_TASK","ENTITY_TYPE_DATABRICKS_NOTEBOOK","ENTITY_TYPE_DATABRICKS_QUERY","ENTITY_TYPE_DATABRICKS_DASHBOARD","ENTITY_TYPE_DATABRICKS_METRIC_VIEW","ENTITY_TYPE_DATABRICKS_APP","ENTITY_TYPE_SQLMESH_PROJECT","ENTITY_TYPE_SQLMESH_SQL_MODEL","ENTITY_TYPE_SQLMESH_PYTHON_MODEL","ENTITY_TYPE_SQLMESH_EXTERNAL","ENTITY_TYPE_SQLMESH_SEED","ENTITY_TYPE_SQLMESH_AUDIT","ENTITY_TYPE_SQLMESH_UNIT_TEST","ENTITY_TYPE_SQLMESH_ENVIRONMENT","ENTITY_TYPE_SQLMESH_SNAPSHOT","ENTITY_TYPE_DUCKDB_TABLE","ENTITY_TYPE_DUCKDB_VIEW","ENTITY_TYPE_TRINO_TABLE","ENTITY_TYPE_TRINO_VIEW","ENTITY_TYPE_ATLAN_ASSET","ENTITY_TYPE_ATLAN_INTEGRATION","ENTITY_TYPE_COALESCE_PROJECT","ENTITY_TYPE_COALESCE_ENVIRONMENT","ENTITY_TYPE_COALESCE_NODE","ENTITY_TYPE_COALESCE_NODE_TEST","ENTITY_TYPE_COALESCE_JOB","ENTITY_TYPE_CASTORDOC_TABLE","ENTITY_TYPE_CASTORDOC_DASHBOARD","ENTITY_TYPE_CASTORDOC_VIEW","ENTITY_TYPE_CASTORDOC_TILE","ENTITY_TYPE_CASTORDOC_VIZ_MODEL","ENTITY_TYPE_POWERBI_REPORT","ENTITY_TYPE_POWERBI_TILE","ENTITY_TYPE_POWERBI_DATASET","ENTITY_TYPE_POWERBI_DASHBOARD","ENTITY_TYPE_POWERBI_TENANT","ENTITY_TYPE_THOUGHTSPOT_LIVEBOARD","ENTITY_TYPE_THOUGHTSPOT_WORKSHEET","ENTITY_TYPE_SIGMA_WORKBOOK","ENTITY_TYPE_SIGMA_DATA_MODEL","ENTITY_TYPE_SIGMA_ORGANIZATION","ENTITY_TYPE_DOMO_PAGE","ENTITY_TYPE_DOMO_DATASET","ENTITY_TYPE_MSSQL_TABLE","ENTITY_TYPE_MSSQL_VIEW","ENTITY_TYPE_MSSQL_PROCEDURE","ENTITY_TYPE_MSSQL_FUNCTION","ENTITY_TYPE_ORACLE_TABLE","ENTITY_TYPE_ORACLE_VIEW","ENTITY_TYPE_ORACLE_PROCEDURE","ENTITY_TYPE_ORACLE_FUNCTION","ENTITY_TYPE_ATHENA_TABLE","ENTITY_TYPE_ATHENA_VIEW","ENTITY_TYPE_FABRIC_TABLE","ENTITY_TYPE_FABRIC_VIEW","ENTITY_TYPE_FABRIC_PROCEDURE","ENTITY_TYPE_FABRIC_FUNCTION","ENTITY_TYPE_DB2_TABLE","ENTITY_TYPE_DB2_VIEW","ENTITY_TYPE_DB2_PROCEDURE","ENTITY_TYPE_DB2_FUNCTION","ENTITY_TYPE_LOOKER_STUDIO_CUSTOMER","ENTITY_TYPE_LOOKER_STUDIO_REPORT","ENTITY_TYPE_LOOKER_STUDIO_DATA_SOURCE","ENTITY_TYPE_CUSTOM_ENTITY_GENERIC","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MIN","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MAX"],"description":"Default Coalesce Quality types","isRequired":true}},"additionalProperties":false}]}},"traits":{"type":"array","items":{"type":"string"},"description":"Traits to select by, instead of — or alongside — naming types.\n\n A trait is a property a type has, so `is_monitorable` means \"everything a\n monitor can run on\" without listing the forty-odd types that satisfy it\n today. The list it stands for is worked out each time the selection runs,\n so a selection saved this way covers a new platform's tables as soon as we\n support them, and you never have to revisit it.\n\n Entities carrying any of the traits match. When `types` is also set the two\n narrow each other: the entity must be one of the named types AND carry one\n of the traits.\n\n Accepted values, and what each one means, come from the selection-query\n grammar the API publishes (`describe_resolver_ql`, or the query editor's\n reference). A name that is not in it selects nothing rather than being\n ignored, so a typo narrows the result to empty instead of widening it —\n check a trait against the grammar before storing a selection. In a query\n written as text this is `with_type(traits=\"is_monitorable\")`, and there a\n name outside the grammar is rejected outright.\n\n A trait may also be a type alias, spelled `alias:\u003cname>` where `\u003cname>` is\n one of the aliases the grammar lists among the entity types, e.g.\n `alias:table`. It selects every type the alias stands for, worked out each\n time the selection runs like any other trait. A selection written as\n `with_type(\"table\")` is stored this way and reads back with\n `traits: [\"alias:table\"]`; writing that back keeps the same selection. In a\n query written as text an alias is always `with_type(\"table\")`, never\n `traits=\"alias:table\"`."}},"title":"with_type","additionalProperties":false,"description":"Resolves to all the entities that have the provided type, or carry one of the\n provided traits.","isRequired":true}},"additionalProperties":false}]}},"operand":{"type":"string","title":"QueryOperand","enum":["QUERY_OPERAND_UNSPECIFIED","QUERY_OPERAND_AND","QUERY_OPERAND_OR","QUERY_OPERAND_EXCEPT","QUERY_OPERAND_UPSTREAM","QUERY_OPERAND_DOWNSTREAM"],"description":"Defaults to AND if not specified."}},"title":"Query","additionalProperties":false,"description":"General source: resolve the folder(s) of whatever assets this query matches\n (e.g. a name or type filter). Use when the assets can't be listed up front."},"includeAllAncestors":{"type":"boolean","description":"When false (default): only each asset's immediate parent folder. When true:\n every ancestor folder up the hierarchy, so `InFolder` then also matches\n assets in those ancestor folders."}},"title":"FolderOf","additionalProperties":false,"description":"Resolve the folders to search from a set of assets, rather than naming them.\n Selects everything in the folder(s) that contain those assets."},"deep":{"oneOf":[{"type":"boolean","description":"When false or unset, matches only the direct members of the folder(s). When\n true, matches the entire recursive subtree (members of subfolders too).\n\n Exception: when only the legacy `path` source is set and `deep` is unset,\n it defaults to true (preserves the behaviour of queries authored before this\n flag existed). With `folders` or `folder_of`, unset means false (shallow)."},{"type":"null","description":"When false or unset, matches only the direct members of the folder(s). When\n true, matches the entire recursive subtree (members of subfolders too).\n\n Exception: when only the legacy `path` source is set and `deep` is unset,\n it defaults to true (preserves the behaviour of queries authored before this\n flag existed). With `folders` or `folder_of`, unset means false (shallow)."}]}},"title":"in_folder","additionalProperties":false,"description":"synq.queries.v1.InDataPlatform in_data_platform = 5;","isRequired":true}},"additionalProperties":false},{"type":"object","title":"query","required":["query"],"properties":{"query":{"oneOf":[{"title":"query","isRequired":true}],"isRequired":true}},"additionalProperties":false},{"type":"object","title":"unsupported","required":["unsupported"],"properties":{"unsupported":{"type":"object","properties":{"queryJson":{"type":"string"}},"title":"unsupported","additionalProperties":false,"description":"Collects all the parts of the query that are currently unsupported in translation.\n These represent an internal structure that are not yet completely available on the API.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"with_annotation","required":["withAnnotation"],"properties":{"withAnnotation":{"type":"object","properties":{"name":{"type":"string"},"acceptedValue":{"oneOf":[{"type":"string","deprecated":true},{"type":"null","deprecated":true}]},"acceptedValues":{"type":"array","items":{"type":"string"}}},"title":"with_annotation","additionalProperties":false,"description":"Resolves to all entities that contain the annotation with at least one of the provided accepted values.\n In case of no given accepted values, all entities that carry the given annotation are returned.\n The name and the values match case-insensitively.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"with_name_search","required":["withNameSearch"],"properties":{"withNameSearch":{"type":"object","properties":{"searchQuery":{"type":"string"}},"title":"with_name_search","additionalProperties":false,"description":"Resolves to all entities matching the given name search.","isRequired":true}},"additionalProperties":false},{"type":"object","title":"with_type","required":["withType"],"properties":{"withType":{"type":"object","properties":{"type":{"oneOf":[{"type":"object","title":"custom","required":["custom"],"deprecated":true,"properties":{"custom":{"type":"integer","title":"custom","format":"int32","description":"Custom types as defined through synq.entities.custom.v1.TypesService","isRequired":true}},"additionalProperties":false},{"type":"object","title":"default","required":["default"],"deprecated":true,"properties":{"default":{"type":"string","title":"default","enum":["ENTITY_TYPE_UNSPECIFIED","ENTITY_TYPE_BQ_TABLE","ENTITY_TYPE_BQ_VIEW","ENTITY_TYPE_BQ_PROCEDURE","ENTITY_TYPE_BQ_FUNCTION","ENTITY_TYPE_LOOKER_LOOK","ENTITY_TYPE_LOOKER_EXPLORE","ENTITY_TYPE_LOOKER_VIEW","ENTITY_TYPE_LOOKER_DASHBOARD","ENTITY_TYPE_LOOKER_INSTANCE","ENTITY_TYPE_DBT_MODEL","ENTITY_TYPE_DBT_TEST","ENTITY_TYPE_DBT_SOURCE","ENTITY_TYPE_DBT_PROJECT","ENTITY_TYPE_DBT_METRIC","ENTITY_TYPE_DBT_SNAPSHOT","ENTITY_TYPE_DBT_SEED","ENTITY_TYPE_DBT_ANALYSIS","ENTITY_TYPE_DBT_EXPOSURE","ENTITY_TYPE_DBT_GROUP","ENTITY_TYPE_DBT_SEMANTIC_MODEL","ENTITY_TYPE_DBT_CLOUD_PROJECT","ENTITY_TYPE_DBT_CLOUD_JOB","ENTITY_TYPE_SNOWFLAKE_TABLE","ENTITY_TYPE_SNOWFLAKE_VIEW","ENTITY_TYPE_SNOWFLAKE_STREAM","ENTITY_TYPE_SNOWFLAKE_DYNAMIC_TABLE","ENTITY_TYPE_SNOWFLAKE_TASK","ENTITY_TYPE_SNOWFLAKE_EXTERNAL_TABLE","ENTITY_TYPE_SNOWFLAKE_MATERIALIZED_VIEW","ENTITY_TYPE_SNOWFLAKE_PROCEDURE","ENTITY_TYPE_SNOWFLAKE_FUNCTION","ENTITY_TYPE_SNOWFLAKE_SEMANTIC_VIEW","ENTITY_TYPE_SNOWFLAKE_STAGE","ENTITY_TYPE_SNOWFLAKE_STREAMLIT","ENTITY_TYPE_SNOWFLAKE_NOTEBOOK","ENTITY_TYPE_SNOWFLAKE_WAREHOUSE","ENTITY_TYPE_SNOWFLAKE_PIPE","ENTITY_TYPE_SNOWFLAKE_CORTEX_SEARCH_SERVICE","ENTITY_TYPE_REDSHIFT_TABLE","ENTITY_TYPE_REDSHIFT_VIEW","ENTITY_TYPE_REDSHIFT_PROCEDURE","ENTITY_TYPE_REDSHIFT_FUNCTION","ENTITY_TYPE_TABLEAU_EMBEDDED","ENTITY_TYPE_TABLEAU_PUBLISHED","ENTITY_TYPE_TABLEAU_CUSTOM_SQL","ENTITY_TYPE_TABLEAU_TABLE","ENTITY_TYPE_TABLEAU_SHEET","ENTITY_TYPE_TABLEAU_DASHBOARD","ENTITY_TYPE_TABLEAU_WORKBOOK","ENTITY_TYPE_TABLEAU_SITE","ENTITY_TYPE_AIRFLOW_DAG","ENTITY_TYPE_AIRFLOW_TASK","ENTITY_TYPE_CLICKHOUSE_TABLE","ENTITY_TYPE_CLICKHOUSE_VIEW","ENTITY_TYPE_ANOMALY_MONITOR","ENTITY_TYPE_ANOMALY_MONITOR_SEGMENT","ENTITY_TYPE_SQLTEST_TEST","ENTITY_TYPE_RECON_SUITE","ENTITY_TYPE_RECON_CASE","ENTITY_TYPE_LINEAGE_FOLD","ENTITY_TYPE_POSTGRES_TABLE","ENTITY_TYPE_POSTGRES_VIEW","ENTITY_TYPE_MYSQL_TABLE","ENTITY_TYPE_MYSQL_VIEW","ENTITY_TYPE_DATABRICKS_WAREHOUSE","ENTITY_TYPE_DATABRICKS_TABLE","ENTITY_TYPE_DATABRICKS_VIEW","ENTITY_TYPE_DATABRICKS_JOB","ENTITY_TYPE_DATABRICKS_JOB_TASK","ENTITY_TYPE_DATABRICKS_NOTEBOOK","ENTITY_TYPE_DATABRICKS_QUERY","ENTITY_TYPE_DATABRICKS_DASHBOARD","ENTITY_TYPE_DATABRICKS_METRIC_VIEW","ENTITY_TYPE_DATABRICKS_APP","ENTITY_TYPE_SQLMESH_PROJECT","ENTITY_TYPE_SQLMESH_SQL_MODEL","ENTITY_TYPE_SQLMESH_PYTHON_MODEL","ENTITY_TYPE_SQLMESH_EXTERNAL","ENTITY_TYPE_SQLMESH_SEED","ENTITY_TYPE_SQLMESH_AUDIT","ENTITY_TYPE_SQLMESH_UNIT_TEST","ENTITY_TYPE_SQLMESH_ENVIRONMENT","ENTITY_TYPE_SQLMESH_SNAPSHOT","ENTITY_TYPE_DUCKDB_TABLE","ENTITY_TYPE_DUCKDB_VIEW","ENTITY_TYPE_TRINO_TABLE","ENTITY_TYPE_TRINO_VIEW","ENTITY_TYPE_ATLAN_ASSET","ENTITY_TYPE_ATLAN_INTEGRATION","ENTITY_TYPE_COALESCE_PROJECT","ENTITY_TYPE_COALESCE_ENVIRONMENT","ENTITY_TYPE_COALESCE_NODE","ENTITY_TYPE_COALESCE_NODE_TEST","ENTITY_TYPE_COALESCE_JOB","ENTITY_TYPE_CASTORDOC_TABLE","ENTITY_TYPE_CASTORDOC_DASHBOARD","ENTITY_TYPE_CASTORDOC_VIEW","ENTITY_TYPE_CASTORDOC_TILE","ENTITY_TYPE_CASTORDOC_VIZ_MODEL","ENTITY_TYPE_POWERBI_REPORT","ENTITY_TYPE_POWERBI_TILE","ENTITY_TYPE_POWERBI_DATASET","ENTITY_TYPE_POWERBI_DASHBOARD","ENTITY_TYPE_POWERBI_TENANT","ENTITY_TYPE_THOUGHTSPOT_LIVEBOARD","ENTITY_TYPE_THOUGHTSPOT_WORKSHEET","ENTITY_TYPE_SIGMA_WORKBOOK","ENTITY_TYPE_SIGMA_DATA_MODEL","ENTITY_TYPE_SIGMA_ORGANIZATION","ENTITY_TYPE_DOMO_PAGE","ENTITY_TYPE_DOMO_DATASET","ENTITY_TYPE_MSSQL_TABLE","ENTITY_TYPE_MSSQL_VIEW","ENTITY_TYPE_MSSQL_PROCEDURE","ENTITY_TYPE_MSSQL_FUNCTION","ENTITY_TYPE_ORACLE_TABLE","ENTITY_TYPE_ORACLE_VIEW","ENTITY_TYPE_ORACLE_PROCEDURE","ENTITY_TYPE_ORACLE_FUNCTION","ENTITY_TYPE_ATHENA_TABLE","ENTITY_TYPE_ATHENA_VIEW","ENTITY_TYPE_FABRIC_TABLE","ENTITY_TYPE_FABRIC_VIEW","ENTITY_TYPE_FABRIC_PROCEDURE","ENTITY_TYPE_FABRIC_FUNCTION","ENTITY_TYPE_DB2_TABLE","ENTITY_TYPE_DB2_VIEW","ENTITY_TYPE_DB2_PROCEDURE","ENTITY_TYPE_DB2_FUNCTION","ENTITY_TYPE_LOOKER_STUDIO_CUSTOMER","ENTITY_TYPE_LOOKER_STUDIO_REPORT","ENTITY_TYPE_LOOKER_STUDIO_DATA_SOURCE","ENTITY_TYPE_CUSTOM_ENTITY_GENERIC","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MIN","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MAX"],"description":"Default Coalesce Quality types","isRequired":true}},"additionalProperties":false}]},"types":{"type":"array","items":{"oneOf":[{"type":"object","title":"custom","required":["custom"],"properties":{"custom":{"type":"integer","title":"custom","format":"int32","description":"Custom types as defined through synq.entities.custom.v1.TypesService","isRequired":true}},"additionalProperties":false},{"type":"object","title":"default","required":["default"],"properties":{"default":{"type":"string","title":"default","enum":["ENTITY_TYPE_UNSPECIFIED","ENTITY_TYPE_BQ_TABLE","ENTITY_TYPE_BQ_VIEW","ENTITY_TYPE_BQ_PROCEDURE","ENTITY_TYPE_BQ_FUNCTION","ENTITY_TYPE_LOOKER_LOOK","ENTITY_TYPE_LOOKER_EXPLORE","ENTITY_TYPE_LOOKER_VIEW","ENTITY_TYPE_LOOKER_DASHBOARD","ENTITY_TYPE_LOOKER_INSTANCE","ENTITY_TYPE_DBT_MODEL","ENTITY_TYPE_DBT_TEST","ENTITY_TYPE_DBT_SOURCE","ENTITY_TYPE_DBT_PROJECT","ENTITY_TYPE_DBT_METRIC","ENTITY_TYPE_DBT_SNAPSHOT","ENTITY_TYPE_DBT_SEED","ENTITY_TYPE_DBT_ANALYSIS","ENTITY_TYPE_DBT_EXPOSURE","ENTITY_TYPE_DBT_GROUP","ENTITY_TYPE_DBT_SEMANTIC_MODEL","ENTITY_TYPE_DBT_CLOUD_PROJECT","ENTITY_TYPE_DBT_CLOUD_JOB","ENTITY_TYPE_SNOWFLAKE_TABLE","ENTITY_TYPE_SNOWFLAKE_VIEW","ENTITY_TYPE_SNOWFLAKE_STREAM","ENTITY_TYPE_SNOWFLAKE_DYNAMIC_TABLE","ENTITY_TYPE_SNOWFLAKE_TASK","ENTITY_TYPE_SNOWFLAKE_EXTERNAL_TABLE","ENTITY_TYPE_SNOWFLAKE_MATERIALIZED_VIEW","ENTITY_TYPE_SNOWFLAKE_PROCEDURE","ENTITY_TYPE_SNOWFLAKE_FUNCTION","ENTITY_TYPE_SNOWFLAKE_SEMANTIC_VIEW","ENTITY_TYPE_SNOWFLAKE_STAGE","ENTITY_TYPE_SNOWFLAKE_STREAMLIT","ENTITY_TYPE_SNOWFLAKE_NOTEBOOK","ENTITY_TYPE_SNOWFLAKE_WAREHOUSE","ENTITY_TYPE_SNOWFLAKE_PIPE","ENTITY_TYPE_SNOWFLAKE_CORTEX_SEARCH_SERVICE","ENTITY_TYPE_REDSHIFT_TABLE","ENTITY_TYPE_REDSHIFT_VIEW","ENTITY_TYPE_REDSHIFT_PROCEDURE","ENTITY_TYPE_REDSHIFT_FUNCTION","ENTITY_TYPE_TABLEAU_EMBEDDED","ENTITY_TYPE_TABLEAU_PUBLISHED","ENTITY_TYPE_TABLEAU_CUSTOM_SQL","ENTITY_TYPE_TABLEAU_TABLE","ENTITY_TYPE_TABLEAU_SHEET","ENTITY_TYPE_TABLEAU_DASHBOARD","ENTITY_TYPE_TABLEAU_WORKBOOK","ENTITY_TYPE_TABLEAU_SITE","ENTITY_TYPE_AIRFLOW_DAG","ENTITY_TYPE_AIRFLOW_TASK","ENTITY_TYPE_CLICKHOUSE_TABLE","ENTITY_TYPE_CLICKHOUSE_VIEW","ENTITY_TYPE_ANOMALY_MONITOR","ENTITY_TYPE_ANOMALY_MONITOR_SEGMENT","ENTITY_TYPE_SQLTEST_TEST","ENTITY_TYPE_RECON_SUITE","ENTITY_TYPE_RECON_CASE","ENTITY_TYPE_LINEAGE_FOLD","ENTITY_TYPE_POSTGRES_TABLE","ENTITY_TYPE_POSTGRES_VIEW","ENTITY_TYPE_MYSQL_TABLE","ENTITY_TYPE_MYSQL_VIEW","ENTITY_TYPE_DATABRICKS_WAREHOUSE","ENTITY_TYPE_DATABRICKS_TABLE","ENTITY_TYPE_DATABRICKS_VIEW","ENTITY_TYPE_DATABRICKS_JOB","ENTITY_TYPE_DATABRICKS_JOB_TASK","ENTITY_TYPE_DATABRICKS_NOTEBOOK","ENTITY_TYPE_DATABRICKS_QUERY","ENTITY_TYPE_DATABRICKS_DASHBOARD","ENTITY_TYPE_DATABRICKS_METRIC_VIEW","ENTITY_TYPE_DATABRICKS_APP","ENTITY_TYPE_SQLMESH_PROJECT","ENTITY_TYPE_SQLMESH_SQL_MODEL","ENTITY_TYPE_SQLMESH_PYTHON_MODEL","ENTITY_TYPE_SQLMESH_EXTERNAL","ENTITY_TYPE_SQLMESH_SEED","ENTITY_TYPE_SQLMESH_AUDIT","ENTITY_TYPE_SQLMESH_UNIT_TEST","ENTITY_TYPE_SQLMESH_ENVIRONMENT","ENTITY_TYPE_SQLMESH_SNAPSHOT","ENTITY_TYPE_DUCKDB_TABLE","ENTITY_TYPE_DUCKDB_VIEW","ENTITY_TYPE_TRINO_TABLE","ENTITY_TYPE_TRINO_VIEW","ENTITY_TYPE_ATLAN_ASSET","ENTITY_TYPE_ATLAN_INTEGRATION","ENTITY_TYPE_COALESCE_PROJECT","ENTITY_TYPE_COALESCE_ENVIRONMENT","ENTITY_TYPE_COALESCE_NODE","ENTITY_TYPE_COALESCE_NODE_TEST","ENTITY_TYPE_COALESCE_JOB","ENTITY_TYPE_CASTORDOC_TABLE","ENTITY_TYPE_CASTORDOC_DASHBOARD","ENTITY_TYPE_CASTORDOC_VIEW","ENTITY_TYPE_CASTORDOC_TILE","ENTITY_TYPE_CASTORDOC_VIZ_MODEL","ENTITY_TYPE_POWERBI_REPORT","ENTITY_TYPE_POWERBI_TILE","ENTITY_TYPE_POWERBI_DATASET","ENTITY_TYPE_POWERBI_DASHBOARD","ENTITY_TYPE_POWERBI_TENANT","ENTITY_TYPE_THOUGHTSPOT_LIVEBOARD","ENTITY_TYPE_THOUGHTSPOT_WORKSHEET","ENTITY_TYPE_SIGMA_WORKBOOK","ENTITY_TYPE_SIGMA_DATA_MODEL","ENTITY_TYPE_SIGMA_ORGANIZATION","ENTITY_TYPE_DOMO_PAGE","ENTITY_TYPE_DOMO_DATASET","ENTITY_TYPE_MSSQL_TABLE","ENTITY_TYPE_MSSQL_VIEW","ENTITY_TYPE_MSSQL_PROCEDURE","ENTITY_TYPE_MSSQL_FUNCTION","ENTITY_TYPE_ORACLE_TABLE","ENTITY_TYPE_ORACLE_VIEW","ENTITY_TYPE_ORACLE_PROCEDURE","ENTITY_TYPE_ORACLE_FUNCTION","ENTITY_TYPE_ATHENA_TABLE","ENTITY_TYPE_ATHENA_VIEW","ENTITY_TYPE_FABRIC_TABLE","ENTITY_TYPE_FABRIC_VIEW","ENTITY_TYPE_FABRIC_PROCEDURE","ENTITY_TYPE_FABRIC_FUNCTION","ENTITY_TYPE_DB2_TABLE","ENTITY_TYPE_DB2_VIEW","ENTITY_TYPE_DB2_PROCEDURE","ENTITY_TYPE_DB2_FUNCTION","ENTITY_TYPE_LOOKER_STUDIO_CUSTOMER","ENTITY_TYPE_LOOKER_STUDIO_REPORT","ENTITY_TYPE_LOOKER_STUDIO_DATA_SOURCE","ENTITY_TYPE_CUSTOM_ENTITY_GENERIC","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MIN","ENTITY_TYPE_CUSTOM_ENTITY_CUSTOM_TYPE_MAX"],"description":"Default Coalesce Quality types","isRequired":true}},"additionalProperties":false}]}},"traits":{"type":"array","items":{"type":"string"},"description":"Traits to select by, instead of — or alongside — naming types.\n\n A trait is a property a type has, so `is_monitorable` means \"everything a\n monitor can run on\" without listing the forty-odd types that satisfy it\n today. The list it stands for is worked out each time the selection runs,\n so a selection saved this way covers a new platform's tables as soon as we\n support them, and you never have to revisit it.\n\n Entities carrying any of the traits match. When `types` is also set the two\n narrow each other: the entity must be one of the named types AND carry one\n of the traits.\n\n Accepted values, and what each one means, come from the selection-query\n grammar the API publishes (`describe_resolver_ql`, or the query editor's\n reference). A name that is not in it selects nothing rather than being\n ignored, so a typo narrows the result to empty instead of widening it —\n check a trait against the grammar before storing a selection. In a query\n written as text this is `with_type(traits=\"is_monitorable\")`, and there a\n name outside the grammar is rejected outright.\n\n A trait may also be a type alias, spelled `alias:\u003cname>` where `\u003cname>` is\n one of the aliases the grammar lists among the entity types, e.g.\n `alias:table`. It selects every type the alias stands for, worked out each\n time the selection runs like any other trait. A selection written as\n `with_type(\"table\")` is stored this way and reads back with\n `traits: [\"alias:table\"]`; writing that back keeps the same selection. In a\n query written as text an alias is always `with_type(\"table\")`, never\n `traits=\"alias:table\"`."}},"title":"with_type","additionalProperties":false,"description":"Resolves to all the entities that have the provided type, or carry one of the\n provided traits.","isRequired":true}},"additionalProperties":false}]}},"operand":{"type":"string","title":"QueryOperand","enum":["QUERY_OPERAND_UNSPECIFIED","QUERY_OPERAND_AND","QUERY_OPERAND_OR","QUERY_OPERAND_EXCEPT","QUERY_OPERAND_UPSTREAM","QUERY_OPERAND_DOWNSTREAM"],"description":"QueryOperand defines how multiple QueryParts within a Query are combined."}},"title":"EntitySelectionQuery","additionalProperties":false,"description":"entity_selection_query.except_parts_select_something // each QUERY_OPERAND_EXCEPT part must select something\nentity_selection_query.except_requires_two_parts // QUERY_OPERAND_EXCEPT requires exactly 2 parts\n"}},"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":"ListDeploymentRules - Coalesce Quality Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-06T12:49:19.574Z","originalFileLocation":"api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/listdeploymentrules.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=\"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=\"ListDeploymentRules - Coalesce Quality Documentation\">\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/synqmonitorsautomated_monitorsv1deploymentrulesservice/listdeploymentrules\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://synq-15.mintlify.site/_mintlify/api/og/v2?division=synq.monitors.automated_monitors.v1.DeploymentRulesService\u0026amp;title=ListDeploymentRules\u0026amp;theme=c4b0b33f9bac9b90d2a12108\u0026amp;signature=795934c1c50224225ce4cb33a6f18af1df2eb84cd2d562ef92e6a1c9ef0da9d0\">\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=\"ListDeploymentRules - Coalesce Quality Documentation\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://synq-15.mintlify.site/_mintlify/api/og/v2?division=synq.monitors.automated_monitors.v1.DeploymentRulesService\u0026amp;title=ListDeploymentRules\u0026amp;theme=c4b0b33f9bac9b90d2a12108\u0026amp;signature=795934c1c50224225ce4cb33a6f18af1df2eb84cd2d562ef92e6a1c9ef0da9d0\">\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/synqmonitorsautomated_monitorsv1deploymentrulesservice/listdeploymentrules\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/listdeploymentrules.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/synqmonitorsautomated_monitorsv1deploymentrulesservice/listdeploymentrules#webpage\",\"url\":\"https://docs.synq.io/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/listdeploymentrules\",\"name\":\"ListDeploymentRules\",\"dateModified\":\"2026-11-06T12:49:19.574Z\",\"isPartOf\":{\"@id\":\"https://docs.synq.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.synq.io/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/listdeploymentrules#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.synq.io/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/listdeploymentrules#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.monitors.automated_monitors.v1.DeploymentRulesService\",\"item\":\"https://docs.synq.io/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/getdeployoverview\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"ListDeploymentRules\",\"item\":\"https://docs.synq.io/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/listdeploymentrules\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.synq.io/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/listdeploymentrules#apireference\",\"headline\":\"ListDeploymentRules\",\"name\":\"ListDeploymentRules\",\"url\":\"https://docs.synq.io/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/listdeploymentrules\",\"mainEntityOfPage\":{\"@id\":\"https://docs.synq.io/api-reference/synqmonitorsautomated_monitorsv1deploymentrulesservice/listdeploymentrules#webpage\"},\"dateModified\":\"2026-11-06T12:49:19.574Z\",\"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":"Running checks from your pipeline","href":"/monitors/on-demand-checks"},{"title":"Working with time dimensions and scheduling for monitors","href":"/monitors/time-dimensions"},{"title":"What monitoring costs in your warehouse","href":"/monitors/warehouse-cost"}]},{"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","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","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","description":null,"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","description":null,"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":"ListDeploymentRules - Coalesce Quality Documentation","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-i2a3QZ8E.js","utils-ChLwp8m0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DRktVTDc.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CA2pEs4T.js","snippetPresets-ClQ6XrKD.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Ct_Lv36y.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Cn2PYw9e.js","shallow-rkyymjXQ.js","getApiPlaygroundDisplay-BB9vkXtE.js","CodeSnippet-Bm5RU7m1.js","CodeSnippets-BgU9Deuz.js","Page-BUDYNlhG.js","getPastedJson-BD-6NNum.js","icon-8Z6tud2e.js","MethodPill-Tuzr4g3V.js","DuplicateIcon-0ceWFYhN.js","createIcon-FBXow_ST.js","DynamicMarkdown-CD8713Yy.js","SectionHeading-7zgzQbH-.js","axios-vUo_bRtp.js","Markdown-D7Ofw1oz.js","clsx-eKJ4rcii.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CwjSCXIK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-9EK5IAXV.js"]}